From 07c99b09e8c4b94dcf8f13ea45105c75c07a5f8d Mon Sep 17 00:00:00 2001 From: Andrew Manison Date: Mon, 25 Jul 2011 03:43:52 +0000 Subject: Updated build script to check for holdover packages, and remove any that are not part of the permanent build environment --- acceptable-package-list.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++ rebuild-alpine.sh | 43 ++++++++++++++++++----------------- 2 files changed, 78 insertions(+), 20 deletions(-) create mode 100644 acceptable-package-list.txt diff --git a/acceptable-package-list.txt b/acceptable-package-list.txt new file mode 100644 index 000000000..a7e62f95b --- /dev/null +++ b/acceptable-package-list.txt @@ -0,0 +1,55 @@ +busybox-initscripts +file +libcap +alpine-baselayout +openrc +libcrypto1.0 +bbsuid +sudo +libssl1.0 +openssl +libgcc +libstdc++ +binutils +libgomp +libobjc +libmpc +gcc +g++ +mkinitfs +mtools +libc0.9.32 +busybox +alpine-conf +zlib +apk-tools +uclibc-utils +alpine-base +openssh-client +openssh +fakeroot +pax-utils +abuild +email +lua +ncurses-base +ncurses-libs +screen +pkgconfig +gmp5 +mpfr3 +make +patch +linux-headers +libthread_db +uclibc-dev +build-base +curl +expat +git +cramfs +bzip2 +libbz2 +cdrkit +acct +alpine-sdk diff --git a/rebuild-alpine.sh b/rebuild-alpine.sh index d95502419..4e4a85169 100755 --- a/rebuild-alpine.sh +++ b/rebuild-alpine.sh @@ -1,4 +1,5 @@ rootdir=$(pwd -P) +pkglist="$rootdir/acceptable-package-list.txt" distclean () { echo "Removing traces of previous builds from $rootdir" @@ -13,6 +14,17 @@ distclean () { done } +pkgcheck () { + local installed + installed=$(apk info) + for q in $installed ; do + if [ -z "$(grep $q $pkglist)" ] ; then + echo "Removing unwanted installed package $q" + sudo apk del $q + fi + done +} + build () { local pkgs local maintainer @@ -23,6 +35,11 @@ build () { pkgno=0 failed=0 for p in $pkgs ; do + if [ ! -d "$rootdir/$1/$p" ] ; then + continue + fi + + pkgcheck pkgno=$(expr "$pkgno" + 1) echo "Building $p ($pkgno of $pktcnt in $1 - $failed failed)" cd $rootdir/$1/$p @@ -46,7 +63,7 @@ build () { if [ -n "$mail" ] ; then echo "sending mail to [$recipients]" if [ $(wc -l $rootdir/$1_$p.txt | cut -f 1 -d ' ') -gt 400 ]; then - TMPFILE='mktemp' || exit 1 + TMPFILE="$(mktemp $1_$p.XXXXXX).txt" || exit 1 head -n 200 $rootdir/$1_$p.txt >> $TMPFILE echo "-------" >> $TMPFILE echo "snip..." >> $TMPFILE @@ -71,17 +88,12 @@ build () { apk info | sort > $rootdir/packages.$1.$pkgno.$p.after fi done - cd $rootdir - if [ -n "$(apk info | grep libiconv)" ]; then - echo "***** libiconv stuck *****" - sudo apk del libiconv + if [ "$failed" = "0" ] ; then + echo "All $pktcnt packages in $1 built successfully" >> aport-build-log.txt fi - if [ -n "$(apk info | grep gettext)" ]; then - echo "***** gettext stuck *****" - sudo apk del gettext - fi + cd $rootdir } touch START_OF_BUILD.txt @@ -105,20 +117,11 @@ fi echo "Refresh aports tree" git pull -#cd main/build-base -#abuild -Ru -#cd $rootdir - -if [ -n "$(apk info | grep libiconv)" ]; then - sudo apk del libiconv -fi - -if [ -n "$(apk info | grep gettext)" ]; then - sudo apk del gettext -fi +sudo apk -U upgrade for s in main testing unstable ; do echo "Building packages in $s" + pkgcheck build $s done -- cgit v1.2.3