diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-01 12:16:57 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-01 12:16:57 +0000 |
commit | e2838fbb50e831fbd102ad32fcfb8bd294372bac (patch) | |
tree | af8eef00086ffacec102562c0b9a6e964b5146ca | |
parent | 11d9a7d6018fd13587259edd1030a608e9f85449 (diff) | |
download | abuild-e2838fbb50e831fbd102ad32fcfb8bd294372bac.tar.gz abuild-e2838fbb50e831fbd102ad32fcfb8bd294372bac.tar.bz2 abuild-e2838fbb50e831fbd102ad32fcfb8bd294372bac.tar.xz abuild-e2838fbb50e831fbd102ad32fcfb8bd294372bac.zip |
abuild: make it configurable what to cleanup and when
allow user specify if they want uninstall deps, remove srcdir and/or
pkgdir on failure or success.
We introduce CLEANUP and ERROR_CLEANUP config options in
/etc/abuild.conf. Valid values are: pkgdir srcdir deps.
-rw-r--r-- | abuild.conf | 7 | ||||
-rwxr-xr-x | abuild.in | 21 |
2 files changed, 22 insertions, 6 deletions
diff --git a/abuild.conf b/abuild.conf index 6299b4d..1b8f4cd 100644 --- a/abuild.conf +++ b/abuild.conf @@ -28,8 +28,13 @@ SRCDEST=/var/cache/distfiles # uncomment line below to store built packages in other location # The package will be stored as $REPODEST/$repo/$pkgname-$pkgver-r$pkgrel.apk # where $repo is the name of the parent directory of $startdir. -#REPODEST=/var/lib/packages/ +REPODEST=$HOME/packages/ # PACKAGER is used to create new aports with 'newapkbuild ...' #PACKAGER="Your Name <your@email.address>" +# what to clean up after a successful build +CLEANUP="srcdir pkgdir deps" + +# what to cleanup after a failed build +ERROR_CLEANUP="deps" @@ -105,19 +105,29 @@ set_xterm_title() { } cleanup() { + local i= set_xterm_title "" - if [ -z "$install_after" ] && [ -n "$uninstall_after" ]; then - msg "Uninstalling dependencies..." - $SUDO_APK del --quiet $apk_opt_wait $uninstall_after - fi if [ -n "$CLEANUP_FILES" ]; then rm -f $CLEANUP_FILES fi + for i; do + case $i in + pkgdir) msg "Cleaning up pkgdir"; rm -rf "$pkgbasedir";; + srcdir) msg "Cleaning up srcdir"; rm -rf "$srcdir";; + deps) + if [ -z "$install_after" ] && [ -n "$uninstall_after" ]; then + msg "Uninstalling dependencies..." + $SUDO_APK del --quiet $apk_opt_wait \ + $uninstall_after + fi + ;; + esac + done } die() { error "$@" - cleanup + cleanup $ERROR_CLEANUP exit 1 } @@ -1210,6 +1220,7 @@ build_abuildrepo() { logcmd "building $pkgname" sanitycheck && builddeps && clean && fetch && unpack \ && prepare && mkusers && $_build && rootpkg \ + && cleanup $CLEANUP \ || return 1 fi update_abuildrepo_index |