vp-build/common/xbps-src/libexec/xbps-src-doinstall.sh
Juan RP 790202ddbd xbps-src: move helpers to environment; there's no need to have them.
Those helpers were just setting up some extra functions that can be used
on templates, and this can be done already via environment, so let's remove
the helpers completely.
2014-08-30 09:01:29 +02:00

95 lines
2.6 KiB
Bash
Executable File

#!//bin/bash
#
# vim: set ts=4 sw=4 et:
#
# Passed arguments:
# $1 - pkgname [REQUIRED]
# $2 - cross target [OPTIONAL]
if [ $# -lt 1 -o $# -gt 2 ]; then
echo "$(basename $0): invalid number of arguments: pkgname [cross-target]"
exit 1
fi
PKGNAME="$1"
XBPS_CROSS_BUILD="$2"
. $XBPS_SHUTILSDIR/common.sh
setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
for f in $XBPS_COMMONDIR/environment/install/*.sh; do
source_file "$f"
done
XBPS_INSTALL_DONE="$wrksrc/.xbps_${sourcepkg}_${XBPS_CROSS_BUILD}_install_done"
XBPS_PRE_INSTALL_DONE="$wrksrc/.xbps_${sourcepkg}_${XBPS_CROSS_BUILD}_pre_install_done"
XBPS_POST_INSTALL_DONE="$wrksrc/.xbps_${sourcepkg}_${XBPS_CROSS_BUILD}_post_install_done"
if [ ! -f $XBPS_INSTALL_DONE ]; then
mkdir -p $XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/$pkgname-$version
cd $wrksrc || msg_error "$pkgver: cannot access to wrksrc [$wrksrc]\n"
if [ -n "$build_wrksrc" ]; then
cd $build_wrksrc || msg_error "$pkgver: cannot access to build_wrksrc [$build_wrksrc]\n"
fi
run_pkg_hooks pre-install
# Run pre_install()
if [ ! -f $XBPS_PRE_INSTALL_DONE ]; then
if declare -f pre_install >/dev/null; then
run_func pre_install
touch -f $XBPS_PRE_INSTALL_DONE
fi
fi
# Run do_install()
if [ ! -f $XBPS_INSTALL_DONE ]; then
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
touch -f $XBPS_INSTALL_DONE
fi
# Run post_install()
if [ ! -f $XBPS_POST_INSTALL_DONE ]; then
cd $wrksrc
[ -n "$build_wrksrc" ] && cd $build_wrksrc
if declare -f post_install >/dev/null; then
run_func post_install
touch -f $XBPS_POST_INSTALL_DONE
fi
fi
exit 0
fi
# If it's a subpkg execute the pkg_install() function.
if [ "$sourcepkg" != "$PKGNAME" ]; then
# Source all subpkg environment setup snippets.
for f in ${XBPS_COMMONDIR}/environment/setup-subpkg/*.sh; do
source_file "$f"
done
${PKGNAME}_package
pkgname=$PKGNAME
install -d $PKGDESTDIR
if declare -f pkg_install >/dev/null; then
export XBPS_PKGDESTDIR=1
run_func pkg_install
fi
fi
setup_pkg_depends $pkgname
run_pkg_hooks post-install
exit 0