[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