Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=6db9fb96ada49afc40a9b0550f0dad8f03cd08ea
commit 6db9fb96ada49afc40a9b0550f0dad8f03cd08ea Author: Michel Hermier <herm...@frugalware.org> Date: Sun Dec 8 13:17:18 2013 +0100 makepkg: Add locking to makepkg_chroot. diff --git a/scripts/makepkg b/scripts/makepkg index fd2338a..a0298a3 100755 --- a/scripts/makepkg +++ b/scripts/makepkg @@ -325,12 +325,16 @@ makepkg_chroot_usage() { $ECHO "Options for chroot command:" $ECHO " --groups=G_LIST Specify supplementary groups as g1,g2,..,gN." $ECHO " -h, --help This help." + $ECHO " --locked Enter the chroot with its lock held. (Default)" + $ECHO " --unlocked Enter the chroot with its lock unheld." $ECHO " --userspec=USER:GROUP Specify user and group (ID or name to use)." $ECHO $ECHO "If no command is given, run '${SHELL} -i' (default: '/bin/sh -i')." } makepkg_chroot() { + local -a _cmdline + local _locked=1 local -a _options local _options_consumed @@ -340,6 +344,10 @@ makepkg_chroot() { -h|--help) makepkg_chroot_usage return 0 ;; + --locked) + _locked=1 ;; + --unlocked) + _locked=0 ;; # assigned options --groups|\ --userspec) @@ -375,8 +383,11 @@ makepkg_chroot() { error "Missing expected CHROOTNAME argument." return 1 fi - set -- chroot "${_options[@]}" -- "$CHROOTDIR/$1" "${@:2}" - unset _options _options_consumed + if [ $_locked -eq 1 ]; then + _cmdline+=(makepkg_lock -p "$CHROOTDIR/lock" -- "$CHROOTDIR/$1/var/tmp/fst/lock") + fi + set -- "${_cmdline[@]}" chroot "${_options[@]}" -- "$CHROOTDIR/$1" "${@:2}" + unset _cmdline _locked _options _options_consumed "$@" return $? _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git