common/libexec: remove redundant pre/do/post preparation code

This pullrequest removes redundant codepaths in
xbps-src-do{build,configure,install}.sh and joins the code in the
run_step function. This causes slightly different behavior to
do_install:
Do install will chdir to wrksrc only _before_ the first step. The
current behavior is that pre_install will run without a chdir, do_ and
post_ is runned with a chdir. This is a subtle but breaking change and
may cause some templates to break at install phase.
This commit is contained in:
Enno Boland 2017-11-17 14:25:29 +01:00 committed by Enno Boland
parent ac0ca9945a
commit ba84655a13
4 changed files with 51 additions and 95 deletions

View file

@ -37,32 +37,7 @@ if [ "$SUBPKG_MODE" = "no" ]; then
if [ ! -f $XBPS_INSTALL_DONE ] || [ -f $XBPS_INSTALL_DONE -a -n "$XBPS_BUILD_FORCEMODE" ]; then
mkdir -p $XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/$pkgname-$version
# Run pre-install hooks
run_pkg_hooks pre-install
# Run pre_install()
if declare -f pre_install >/dev/null; then
run_func pre_install
fi
# Run do_install()
cd "$wrksrc"
[ -n "$build_wrksrc" ] && cd $build_wrksrc
if declare -f do_install >/dev/null; then
run_func do_install
else
if [ ! -r $XBPS_BUILDSTYLEDIR/${build_style}.sh ]; then
msg_error "$pkgver: cannot find build helper $XBPS_BUILDSTYLEDIR/${build_style}.sh!\n"
fi
. $XBPS_BUILDSTYLEDIR/${build_style}.sh
run_func do_install
fi
# Run post_install()
cd "$wrksrc"
[ -n "$build_wrksrc" ] && cd $build_wrksrc
if declare -f post_install >/dev/null; then
run_func post_install
fi
run_step install "" skip
touch -f $XBPS_INSTALL_DONE
fi