mirror of
https://github.com/pygos/build.git
synced 2024-11-25 04:20:41 +01:00
Make sysroot preparation & packaging overrideable package actions
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
This commit is contained in:
parent
d7e7b47cae
commit
55d13e06fd
5 changed files with 67 additions and 62 deletions
1
mk.sh
1
mk.sh
|
@ -47,7 +47,6 @@ export BUILD_PATH_PREFIX_MAP="$PKGSRCDIR=src:$BUILDROOT=build"
|
||||||
|
|
||||||
############################# include utilities ##############################
|
############################# include utilities ##############################
|
||||||
source "$SCRIPTDIR/util/pkgcmd.sh"
|
source "$SCRIPTDIR/util/pkgcmd.sh"
|
||||||
source "$SCRIPTDIR/util/misc.sh"
|
|
||||||
source "$SCRIPTDIR/util/override.sh"
|
source "$SCRIPTDIR/util/override.sh"
|
||||||
source "$SCRIPTDIR/util/autotools.sh"
|
source "$SCRIPTDIR/util/autotools.sh"
|
||||||
source "$SCRIPTDIR/util/build_package.sh"
|
source "$SCRIPTDIR/util/build_package.sh"
|
||||||
|
|
|
@ -12,27 +12,14 @@ build_package() {
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for f in $SUBPKG; do
|
|
||||||
rm -f "$REPODIR/${f}.pkg"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
rm -rf "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
||||||
mkdir -p "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
mkdir -p "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
||||||
|
|
||||||
if [ ! -z "$DEPENDS" ]; then
|
run_pkg_command "set_scene"
|
||||||
pkg install -omD $DEPENDS
|
|
||||||
fi
|
|
||||||
|
|
||||||
run_pkg_command "download"
|
run_pkg_command "download"
|
||||||
run_pkg_command "build"
|
run_pkg_command "build"
|
||||||
run_pkg_command "deploy"
|
run_pkg_command "deploy"
|
||||||
deploy_dev_cleanup
|
run_pkg_command "package"
|
||||||
strip_files ${PKGDEPLOYDIR}/{bin,lib}
|
|
||||||
|
|
||||||
for f in $SUBPKG; do
|
|
||||||
pkg pack -d "$PKGDEPLOYDIR/${f}.desc" \
|
|
||||||
-l "$PKGDEPLOYDIR/${f}.files"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
rm -rf "$SYSROOT" "$PKGBUILDDIR" "$PKGDEPLOYDIR"
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,52 @@ fetch_package() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
strip_files() {
|
||||||
|
local f
|
||||||
|
|
||||||
|
for f in $@; do
|
||||||
|
[ ! -L "$f" ] || continue;
|
||||||
|
|
||||||
|
if [ -d "$f" ]; then
|
||||||
|
strip_files ${f}/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -f "$f" ] || continue;
|
||||||
|
|
||||||
|
if file -b $f | grep -q -i elf; then
|
||||||
|
${TARGET}-strip --discard-all "$f" 2> /dev/null || true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
deploy_dev_cleanup() {
|
||||||
|
local f
|
||||||
|
|
||||||
|
if [ -d "$PKGDEPLOYDIR/share/pkgconfig" ]; then
|
||||||
|
mkdir -p "$PKGDEPLOYDIR/lib/pkgconfig"
|
||||||
|
mv $PKGDEPLOYDIR/share/pkgconfig/* "$PKGDEPLOYDIR/lib/pkgconfig"
|
||||||
|
rmdir "$PKGDEPLOYDIR/share/pkgconfig"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for f in $PKGDEPLOYDIR/lib/*.la; do
|
||||||
|
[ ! -e "$f" ] || rm "$f"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
unfuck_libtool() {
|
||||||
|
local libdir="$PKGDEPLOYDIR/lib"
|
||||||
|
local f
|
||||||
|
|
||||||
|
for f in $(find $PKGBUILDDIR -type f -name '*.la' -o -name '*.lai'); do
|
||||||
|
sed -i "s#libdir='.*'#libdir='$libdir'#g" "$f"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i -r "s/(finish_cmds)=.*$/\1=\"\"/" "$PKGBUILDDIR/libtool"
|
||||||
|
sed -i -r "s/(hardcode_into_libs)=.*$/\1=no/" "$PKGBUILDDIR/libtool"
|
||||||
|
|
||||||
|
sed -i "s#libdir='\$install_libdir'#libdir='$libdir'#g" "$PKGBUILDDIR/libtool"
|
||||||
|
}
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
fetch_package
|
fetch_package
|
||||||
}
|
}
|
||||||
|
@ -58,6 +104,12 @@ prepare() {
|
||||||
apply_patches
|
apply_patches
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_scene() {
|
||||||
|
if [ ! -z "$DEPENDS" ]; then
|
||||||
|
pkg install -omD $DEPENDS
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -66,6 +118,18 @@ deploy() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
deploy_dev_cleanup
|
||||||
|
strip_files ${PKGDEPLOYDIR}/{bin,lib}
|
||||||
|
|
||||||
|
for f in $SUBPKG; do
|
||||||
|
rm -f "$REPODIR/${f}.pkg"
|
||||||
|
|
||||||
|
pkg pack -d "$PKGDEPLOYDIR/${f}.desc" \
|
||||||
|
-l "$PKGDEPLOYDIR/${f}.files"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
check_update() {
|
check_update() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
45
util/misc.sh
45
util/misc.sh
|
@ -1,45 +0,0 @@
|
||||||
strip_files() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
for f in $@; do
|
|
||||||
[ ! -L "$f" ] || continue;
|
|
||||||
|
|
||||||
if [ -d "$f" ]; then
|
|
||||||
strip_files ${f}/*
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -f "$f" ] || continue;
|
|
||||||
|
|
||||||
if file -b $f | grep -q -i elf; then
|
|
||||||
${TARGET}-strip --discard-all "$f" 2> /dev/null || true
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
deploy_dev_cleanup() {
|
|
||||||
local f
|
|
||||||
|
|
||||||
if [ -d "$PKGDEPLOYDIR/share/pkgconfig" ]; then
|
|
||||||
mkdir -p "$PKGDEPLOYDIR/lib/pkgconfig"
|
|
||||||
mv $PKGDEPLOYDIR/share/pkgconfig/* "$PKGDEPLOYDIR/lib/pkgconfig"
|
|
||||||
rmdir "$PKGDEPLOYDIR/share/pkgconfig"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in $PKGDEPLOYDIR/lib/*.la; do
|
|
||||||
[ ! -e "$f" ] || rm "$f"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
unfuck_libtool() {
|
|
||||||
local libdir="$PKGDEPLOYDIR/lib"
|
|
||||||
local f
|
|
||||||
|
|
||||||
for f in $(find $PKGBUILDDIR -type f -name '*.la' -o -name '*.lai'); do
|
|
||||||
sed -i "s#libdir='.*'#libdir='$libdir'#g" "$f"
|
|
||||||
done
|
|
||||||
|
|
||||||
sed -i -r "s/(finish_cmds)=.*$/\1=\"\"/" "$PKGBUILDDIR/libtool"
|
|
||||||
sed -i -r "s/(hardcode_into_libs)=.*$/\1=no/" "$PKGBUILDDIR/libtool"
|
|
||||||
|
|
||||||
sed -i "s#libdir='\$install_libdir'#libdir='$libdir'#g" "$PKGBUILDDIR/libtool"
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
include_pkg() {
|
include_pkg() {
|
||||||
PKGNAME="$1" # globally visible package name
|
PKGNAME="$1" # globally visible package name
|
||||||
|
|
||||||
unset -f build deploy download prepare check_update
|
unset -f build deploy download prepare check_update package
|
||||||
unset -v VERSION TARBALL URL SRCDIR SHA256SUM DEPENDS SUBPKG
|
unset -v VERSION TARBALL URL SRCDIR SHA256SUM DEPENDS SUBPKG
|
||||||
source "$SCRIPTDIR/util/emptypkg.sh"
|
source "$SCRIPTDIR/util/emptypkg.sh"
|
||||||
source "$SCRIPTDIR/pkg/$PKGNAME/build"
|
source "$SCRIPTDIR/pkg/$PKGNAME/build"
|
||||||
|
|
Loading…
Reference in a new issue