diff options
Diffstat (limited to 'buildrepo.in')
-rwxr-xr-x | buildrepo.in | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/buildrepo.in b/buildrepo.in index dcba9b6..0cf3a8f 100755 --- a/buildrepo.in +++ b/buildrepo.in @@ -26,6 +26,7 @@ usage() { echo " -d Set destination repository base dir to REPODIR instead of $repodir" echo " -h Show this help and exit" echo " -l Send build to logfile, prefixed by LOGPREFIX" + echo " -k Keep going, even if packages fails" echo " -p Purge obsolete packages from REPODIR after build" echo " -r Dependencies are found in DEPREPO" exit 1 @@ -85,7 +86,7 @@ list_needbuild() { cd "$aportsdir/$repo" || return 0 # first we try copy everything possible and find out which we need - # to rebuild. By doing this we might save us for rebuilding + # to rebuild. By doing this we might save us for rebuilding # needed when running 'abuild -R' for apkbuild in */APKBUILD; do [ -f "$aportsdir/$repo/$apkbuild" ] || continue @@ -131,11 +132,15 @@ do_build() { local needbuild="$(list_needbuild $repo)" export REPODEST="$repodir" + export ABUILD_BLACKLIST # build the postponed packages if any if [ -n "$needbuild" ]; then for i in $needbuild; do cd "$aportsdir/$repo"/${i%/*} || return 1 - abuild -k -R || return 1 + if ! abuild -k -R; then + [ -n "$keep_going" ] || return 1 + ABUILD_BLACKLIST="$ABUILD_BLACKLIST $i" + fi done fi @@ -174,11 +179,12 @@ do_build() { rm -f tmp.* } -while getopts "a:d:hl:pr:" opt; do +while getopts "a:d:hkl:pr:" opt; do case "$opt" in a) aportsdir=$OPTARG;; d) repodir=$OPTARG;; h) usage >&2;; + k) keep_going=1;; l) logprefix=$OPTARG;; p) dopurge=1;; r) deprepo="$deprepo $OPTARG";; |