From 525b36aa89e4ed3ff73b6b5c2e7c30a827ac3297 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sat, 10 Feb 2018 01:57:53 +0100 Subject: [PATCH] Cleanup deploy/devdeploy split - Don't duplicate shared objects, use the ones from the deploy directory when building dependend packages - Add helper function for moving headers, static libraries and pkgconfig data to devdeploy directory Signed-off-by: David Oberhollenzer --- pkg/bash/build | 11 ++++------- pkg/bdb/build | 5 ++--- pkg/bzip2/build | 4 ++-- pkg/expat/build | 6 ++---- pkg/file/build | 4 ++-- pkg/gmp/build | 4 ++-- pkg/kmod/build | 5 ++--- pkg/libbsd/build | 6 ++---- pkg/libevent/build | 7 +++---- pkg/libiconv/build | 3 +-- pkg/libidn2/build | 5 +---- pkg/libmnl/build | 5 ++--- pkg/libseccomp/build | 6 ++---- pkg/libtasn1/build | 5 ++--- pkg/libunistring/build | 3 +-- pkg/ncurses/build | 11 ++--------- pkg/nettle/build | 4 +--- pkg/openrc/build | 6 ++---- pkg/openssl/build | 7 ++----- pkg/procps-ng/build | 5 ++--- pkg/readline/build | 3 +-- pkg/sqlite3/build | 8 +++----- pkg/unbound/build | 3 +-- pkg/util-linux/build | 6 ++---- pkg/xz/build | 5 ++--- pkg/zlib/build | 4 +--- util/misc.sh | 22 ++++++++++++++++++++++ util/toolchain.sh | 3 +++ 28 files changed, 74 insertions(+), 92 deletions(-) diff --git a/pkg/bash/build b/pkg/bash/build index 671d177..b70f32d 100755 --- a/pkg/bash/build +++ b/pkg/bash/build @@ -31,13 +31,10 @@ deploy() { ln -sv bash "$DEPLOY/bin/sh" - rm -r "$DEPLOY/share/doc" - rm -r "$DEPLOY/share/info" - rm -r "$DEPLOY/share/man" - rm -r "$DEPLOY/share/locale" - - mv "$DEPLOY/lib" "$DEVDEPLOY" - mv "$DEPLOY/include" "$DEVDEPLOY" + rm -r "$DEPLOY/share" + rm "$DEPLOY/bin/bashbug" cp -r "$SCRIPTDIR/$PKGDIR/$PKGNAME/etc" "$DEPLOY" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/bdb/build b/pkg/bdb/build index 4b168f3..9ae97fc 100755 --- a/pkg/bdb/build +++ b/pkg/bdb/build @@ -38,8 +38,7 @@ deploy() { done rm -r "$DEPLOY/docs" - - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" rm ${DEPLOY}/lib/*.la + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/bzip2/build b/pkg/bzip2/build index 00291bd..accef72 100755 --- a/pkg/bzip2/build +++ b/pkg/bzip2/build @@ -26,8 +26,6 @@ deploy() { make PREFIX="$DEPLOY" install - mv $DEPLOY/include $DEVDEPLOY - mv $DEPLOY/lib $DEVDEPLOY rm -r $DEPLOY/man ${TARGET}-strip --discard-all ${DEPLOY}/bin/bunzip2 @@ -44,4 +42,6 @@ deploy() { ln -s "/bin/bzgrep" "$DEPLOY/bin/bzfgrep" ln -s "/bin/bzmore" "$DEPLOY/bin/bzless" ln -s "/bin/bzdiff" "$DEPLOY/bin/bzcmp" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/expat/build b/pkg/expat/build index f84c4bc..44227ca 100644 --- a/pkg/expat/build +++ b/pkg/expat/build @@ -28,9 +28,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip rm ${DEPLOY}/lib/*.la - - mv "$DEPLOY/include" "$DEVDEPLOY" rm -r "$DEPLOY/share" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/file/build b/pkg/file/build index 506faab..ee0ba92 100755 --- a/pkg/file/build +++ b/pkg/file/build @@ -26,8 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - mv "$DEPLOY/include" "$DEVDEPLOY" rm -r "$DEPLOY/share" rm -r ${DEPLOY}/lib/*.la - cp -r "$DEPLOY/lib" "$DEVDEPLOY" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/gmp/build b/pkg/gmp/build index ef229fd..a911a53 100755 --- a/pkg/gmp/build +++ b/pkg/gmp/build @@ -27,8 +27,8 @@ deploy() { make DESTDIR="$DEPLOY" install - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" rm ${DEPLOY}/lib/*.la rm -r "$DEPLOY/share" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/kmod/build b/pkg/kmod/build index 1ed5e81..bd3a3e6 100644 --- a/pkg/kmod/build +++ b/pkg/kmod/build @@ -28,13 +28,12 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" rm -r "$DEPLOY/share/man" rm -r ${DEPLOY}/lib/*.la for target in depmod insmod lsmod modinfo modprobe rmmod; do ln -sf kmod $DEPLOY/bin/$target done + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libbsd/build b/pkg/libbsd/build index 36dd550..8e461bf 100644 --- a/pkg/libbsd/build +++ b/pkg/libbsd/build @@ -27,9 +27,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip rm ${DEPLOY}/lib/*.la - - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" rm -r "$DEPLOY/share" - rm -r "$DEPLOY/lib/pkgconfig" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libevent/build b/pkg/libevent/build index b00a56e..9e7e4fc 100755 --- a/pkg/libevent/build +++ b/pkg/libevent/build @@ -26,9 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/bin" - rm -r "$DEPLOY/lib/pkgconfig" rm ${DEPLOY}/lib/*.la + rm -r "$DEPLOY/bin" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libiconv/build b/pkg/libiconv/build index 9bfba30..d96a59d 100755 --- a/pkg/libiconv/build +++ b/pkg/libiconv/build @@ -29,6 +29,5 @@ deploy() { rm -r "$DEPLOY/share" rm ${DEPLOY}/lib/*.la - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libidn2/build b/pkg/libidn2/build index 9f966f5..4254d99 100755 --- a/pkg/libidn2/build +++ b/pkg/libidn2/build @@ -29,8 +29,5 @@ deploy() { rm -r "$DEPLOY/share" rm ${DEPLOY}/lib/*.la - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - - rm -r "$DEPLOY/lib/pkgconfig" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libmnl/build b/pkg/libmnl/build index 8dd53df..b5611d9 100644 --- a/pkg/libmnl/build +++ b/pkg/libmnl/build @@ -26,8 +26,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" rm ${DEPLOY}/lib/*.la + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libseccomp/build b/pkg/libseccomp/build index ec8d323..ec76529 100644 --- a/pkg/libseccomp/build +++ b/pkg/libseccomp/build @@ -27,9 +27,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip rm ${DEPLOY}/lib/*.la - - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" rm -r "$DEPLOY/share" - rm -r "$DEPLOY/lib/pkgconfig" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libtasn1/build b/pkg/libtasn1/build index c0cc74e..622bbc0 100755 --- a/pkg/libtasn1/build +++ b/pkg/libtasn1/build @@ -26,9 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" rm -r "$DEPLOY/share" rm ${DEPLOY}/lib/*.la + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/libunistring/build b/pkg/libunistring/build index 6a28629..221d5b6 100755 --- a/pkg/libunistring/build +++ b/pkg/libunistring/build @@ -29,6 +29,5 @@ deploy() { rm -r "$DEPLOY/share" rm ${DEPLOY}/lib/*.la - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/ncurses/build b/pkg/ncurses/build index ae52462..a46db3f 100755 --- a/pkg/ncurses/build +++ b/pkg/ncurses/build @@ -33,12 +33,7 @@ deploy() { rm -r "$DEPLOY/share/man" rm "$DEPLOY/bin/ncursesw6-config" - mkdir -p "$DEVDEPLOY/lib" - - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm ${DEPLOY}/lib/*.a - rm -r "$DEPLOY/lib/pkgconfig" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" mkdir -p "${DEVDEPLOY}/include/ncurses" @@ -53,9 +48,7 @@ deploy() { ln -s "libncursesw.so.$VERSION" "$DEPLOY/lib/libtinfo.so" ln -s "libncursesw.so.$VERSION" "$DEPLOY/lib/libtinfo.so.$VERSION" - ln -s "libncursesw.so.$VERSION" "$DEVDEPLOY/lib/libtinfo.so" - ln -s "libncursesw.so.$VERSION" "$DEVDEPLOY/lib/libtinfo.so.$VERSION" - ln -s "libncursesw.a.$VERSION" "$DEVDEPLOY/lib/libtinfo.a" + ln -s "libncursesw.a" "$DEVDEPLOY/lib/libtinfo.a" # only keep relevant terminfo files local olddir="$DEPLOY/share/terminfo.old" diff --git a/pkg/nettle/build b/pkg/nettle/build index 2a4c460..5e1a258 100755 --- a/pkg/nettle/build +++ b/pkg/nettle/build @@ -26,7 +26,5 @@ deploy() { make DESTDIR="$DEPLOY" install - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/openrc/build b/pkg/openrc/build index b3892b4..a1e02f4 100755 --- a/pkg/openrc/build +++ b/pkg/openrc/build @@ -37,10 +37,8 @@ deploy() { DESTDIR="$DEPLOY" OS=Linux BRANDING="distroname" UPREFIX="" \ install - mv ${DEPLOY}/include ${DEVDEPLOY} - cp -R ${DEPLOY}/lib ${DEVDEPLOY} - rm -r ${DEPLOY}/lib/pkgconfig - rm ${DEPLOY}/lib/*.a + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" + rm -r ${DEPLOY}/share rm -r ${DEPLOY}/etc diff --git a/pkg/openssl/build b/pkg/openssl/build index 45521e2..1cebb98 100755 --- a/pkg/openssl/build +++ b/pkg/openssl/build @@ -29,12 +29,9 @@ deploy() { make DESTDIR="$DEPLOY" install - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - rm "$DEPLOY/bin/c_rehash" rm -r "$DEPLOY/etc/ssl/misc" rm -r "$DEPLOY/share" - rm -r "$DEPLOY/lib/pkgconfig" - rm ${DEPLOY}/lib/*.a + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/procps-ng/build b/pkg/procps-ng/build index 1fce273..a5ad115 100755 --- a/pkg/procps-ng/build +++ b/pkg/procps-ng/build @@ -31,8 +31,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip rm ${DEPLOY}/lib/*.la - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -R "$DEPLOY/lib" "$DEVDEPLOY" - rm -r "$DEPLOY/lib/pkgconfig" rm -r "$DEPLOY/share" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/readline/build b/pkg/readline/build index 0fffee0..3d05f8d 100755 --- a/pkg/readline/build +++ b/pkg/readline/build @@ -26,8 +26,7 @@ deploy() { make SHLIB_LIBS="-lncursesw" DESTDIR="$DEPLOY" install - mv "$DEPLOY/include" "$DEVDEPLOY" rm -r "$DEPLOY/share" - cp -r "$DEPLOY/lib" "$DEVDEPLOY/" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/sqlite3/build b/pkg/sqlite3/build index 1c57834..c508f72 100755 --- a/pkg/sqlite3/build +++ b/pkg/sqlite3/build @@ -26,10 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY/" - rm -r "$DEPLOY/share" - rm -r "$DEPLOY/lib/pkgconfig" - rm ${DEPLOY}/lib/*.a ${DEPLOY}/lib/*.la + rm ${DEPLOY}/lib/*.la + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/unbound/build b/pkg/unbound/build index 75f8761..fdf44ec 100644 --- a/pkg/unbound/build +++ b/pkg/unbound/build @@ -32,6 +32,5 @@ deploy() { rm ${DEPLOY}/lib/*.la rm -r "$DEPLOY/share" - mv "$DEPLOY/include" "$DEVDEPLOY" - cp -r "$DEPLOY/lib" "$DEVDEPLOY" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/util-linux/build b/pkg/util-linux/build index eeb7428..7c1520b 100755 --- a/pkg/util-linux/build +++ b/pkg/util-linux/build @@ -59,11 +59,7 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - mv "$DEPLOY/include" "$DEVDEPLOY" - rm -r "$DEPLOY/share/man" - rm -r "$DEPLOY/lib/pkgconfig" rm -r "$DEPLOY/share/doc" rm -r ${DEPLOY}/lib/*.la @@ -84,4 +80,6 @@ deploy() { rm "$path" fi done + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/xz/build b/pkg/xz/build index 0dfc48c..6fc3b73 100644 --- a/pkg/xz/build +++ b/pkg/xz/build @@ -26,9 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install-strip - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - mv "$DEPLOY/include" "$DEVDEPLOY" rm ${DEPLOY}/lib/*.la rm -r "$DEPLOY/share" - rm -r "$DEPLOY/lib/pkgconfig" + + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } diff --git a/pkg/zlib/build b/pkg/zlib/build index 99ef19b..284eb3e 100644 --- a/pkg/zlib/build +++ b/pkg/zlib/build @@ -26,10 +26,8 @@ deploy() { make DESTDIR="$DEPLOY" install - cp -r "$DEPLOY/lib" "$DEVDEPLOY" - mv "$DEPLOY/include" "$DEVDEPLOY" + split_dev_deploy "$DEPLOY" "$DEVDEPLOY" mv "$DEPLOY/share/pkgconfig" "$DEVDEPLOY/lib" - rm ${DEPLOY}/lib/*.a rm -r ${DEPLOY}/share } diff --git a/util/misc.sh b/util/misc.sh index 738bdec..9cd8882 100644 --- a/util/misc.sh +++ b/util/misc.sh @@ -5,3 +5,25 @@ apply_patches() { patch -p1 < $PATCH done } + +split_dev_deploy() { + local lib f + + if [ -d "$1/include" ]; then + mv "$1/include" "$2" + fi + + if [ -d "$1/lib/pkgconfig" ]; then + mkdir -p "$2/lib" + mv "$1/lib/pkgconfig" "$2/lib" + fi + + for f in ${1}/lib/*.a; do + if [ -f "$f" ]; then + mkdir -p "$2/lib" + mv ${1}/lib/*.a "$2/lib" + fi + + break + done +} diff --git a/util/toolchain.sh b/util/toolchain.sh index dee0d32..21037c2 100644 --- a/util/toolchain.sh +++ b/util/toolchain.sh @@ -24,6 +24,9 @@ install_build_deps() { if [ -d "$devdir/include" ]; then cp -R "$devdir/include" "$TCDIR/$TARGET" fi + if [ -d "$PKGDEPLOYDIR/$deppkg/lib" ]; then + cp -R "$PKGDEPLOYDIR/$deppkg/lib" "$TCDIR/$TARGET" + fi if [ -d "$devdir/lib" ]; then cp -R "$devdir/lib" "$TCDIR/$TARGET" fi