scripts: pass on options such as set -x to child processes
When re-running makepkg for fakeroot, if `bash -x makepkg` was used this is lost. Fix by encoding the current set of options explicitly in the invocation, both for makepkg and for the wrapper used to test scripts inside the source tree. Also change to use ${BASH_SOURCE[0]} instead of $0 as the latter can be anything the parent process wants, while the former is explicitly set by bash itself to the filepath of the script. See http://mywiki.wooledge.org/BashFAQ/028 Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
7d05ffceaf
commit
2d8d8af915
2 changed files with 2 additions and 2 deletions
|
@ -181,7 +181,7 @@ clean_up() {
|
||||||
|
|
||||||
enter_fakeroot() {
|
enter_fakeroot() {
|
||||||
msg "$(gettext "Entering %s environment...")" "fakeroot"
|
msg "$(gettext "Entering %s environment...")" "fakeroot"
|
||||||
fakeroot -- $0 -F "${ARGLIST[@]}" || exit $?
|
fakeroot -- bash -$- "${BASH_SOURCE[0]}" -F "${ARGLIST[@]}" || exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
# Automatically update pkgver variable if a pkgver() function is provided
|
# Automatically update pkgver variable if a pkgver() function is provided
|
||||||
|
|
|
@ -20,4 +20,4 @@
|
||||||
|
|
||||||
DIR="@PWD@"
|
DIR="@PWD@"
|
||||||
|
|
||||||
LIBRARY="$DIR"/libmakepkg exec "$DIR"/.lib/@PROGNAME@ "$@"
|
LIBRARY="$DIR"/libmakepkg exec bash -$- "$DIR"/.lib/@PROGNAME@ "$@"
|
||||||
|
|
Loading…
Add table
Reference in a new issue