Installs namcap if needed, *after* building the package, contrary to the former way of having to have namcap installed, e.g. via makedepends. Signed-off-by: Jan Steffens <jan.steffens@gmail.com> --- makechrootpkg | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/makechrootpkg b/makechrootpkg index a60c9fe..974628c 100755 --- a/makechrootpkg +++ b/makechrootpkg @@ -18,6 +18,7 @@ update_first='0' clean_first='0' install_pkg='' add_to_db=0 +run_namcap=0 chrootdir='' @@ -54,11 +55,12 @@ usage() { echo '-I <pkg> Install a package into the working copy of the chroot' echo '-l <copy> The directory to use as the working copy of the chroot' echo ' Useful for maintaining multiple copies.' + echo '-n Run namcap on the package' echo " Default: $default_copy" exit 1 } -while getopts 'hcudr:I:l:' arg; do +while getopts 'hcudr:I:l:n' arg; do case "${arg}" in h) usage ;; c) clean_first=1 ;; @@ -67,6 +69,7 @@ while getopts 'hcudr:I:l:' arg; do r) chrootdir="$OPTARG" ;; I) install_pkg="$OPTARG" ;; l) copy="$OPTARG" ;; + n) run_namcap=1 ;; *) MAKEPKG_ARGS="$MAKEPKG_ARGS -$arg $OPTARG" ;; esac done @@ -175,6 +178,8 @@ if [ "$REPACK" != "1" ]; then rm -rf "$copydir/build/"* fi +[ "$run_namcap" -eq "1" ] && touch "$copydir/build/RUN_NAMCAP" + # Read .makepkg.conf even if called via sudo if [ -n "${SUDO_USER}" ]; then makepkg_conf="/$(eval echo ~${SUDO_USER})/.makepkg.conf" @@ -257,7 +262,10 @@ cd /build export HOME=/build sudo -u nobody makepkg $MAKEPKG_ARGS || touch BUILD_FAILED [ -f BUILD_FAILED ] && exit 1 -which namcap &>/dev/null && namcap /build/PKGBUILD /pkgdest/*.pkg.tar.* > /build/namcap.log +if [ -f RUN_NAMCAP ]; then + pacman -S --needed --noconfirm namcap + namcap /build/PKGBUILD /pkgdest/*.pkg.tar.* > /build/namcap.log +fi exit 0 EOF ) > "$copydir/chrootbuild" @@ -303,3 +311,5 @@ if [ -e "${copydir}/build/BUILD_FAILED" ]; then rm "${copydir}/build/BUILD_FAILED" exit 1 fi + +# vim:set noet ts=8 sw=8: -- 1.7.6.1