[pacman-dev] [PATCH] makepkg: unset errexit when sourcing /etc/profile

Dave Reisner d at falconindy.com
Sat Sep 10 23:34:03 EDT 2011


On Sat, Sep 10, 2011 at 11:22:49PM -0400, Dave Reisner wrote:
> This is a fix for a bash3 specific bug, where a file sourced by
> /etc/profile would exit non-zero and make its way back up to makepkg,
> forcing it to exit after package installation. Along with unsetting the
> ERR handler, temporarily unset errexit to avoid this.
> 
> Signed-off-by: Dave Reisner <dreisner at archlinux.org>
> ---
>  scripts/makepkg.sh.in |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 5981603..a130557 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -474,11 +474,13 @@ handle_deps() {
>  	fi
>  
>  	# we might need the new system environment
> -	# avoid triggering the ERR trap
> +	# avoid triggering the ERR trap and exiting
> +	set +x

Blonde moment. We're fiddling with the 'e' flag here, not the 'x' flag.
Fixed on my 'makepkg' branch.

>  	local restoretrap=$(trap -p ERR)
>  	trap - ERR
>  	source /etc/profile &>/dev/null
>  	eval $restoretrap
> +	set -x
>  
>  	return $R_DEPS_SATISFIED
>  }
> -- 
> 1.7.6.1
> 


More information about the pacman-dev mailing list