diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-12-16 09:49:14 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-12-16 09:50:16 +0000 |
commit | c7d94591a55d1d05a45281a849cd57d8d6c7d9d6 (patch) | |
tree | 3363463d5d522ceb78e75a4bee1c9a2e8cbea9f9 /buildrepo.in | |
parent | 212ba2638993b61971e5fbb223a80187b6478618 (diff) | |
download | abuild-c7d94591a55d1d05a45281a849cd57d8d6c7d9d6.tar.bz2 abuild-c7d94591a55d1d05a45281a849cd57d8d6c7d9d6.tar.xz |
buildrepo: support for -k option for keep-going
This option will make buildrepo continue build even if some package
fails. It is an 'build what you can' option.
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";; |