Require to configure/build/install in the chroot all packages.

This is to ensure that only stuff found in the chroot will be used,
and to avoid some stupid problems with libtool scripts. Therefore only
templates that have $base_chroot set can be built without the chroot.

As bonus now all messages are prepended with "[chroot]" when xbps.sh
is running inside of it.

--HG--
extra : convert_revision : 68195f4b240c01eea18777767b555604d892400f
This commit is contained in:
Juan RP 2008-10-27 07:42:40 +01:00
parent e9231b5999
commit 5a249b6c4f
25 changed files with 187 additions and 86 deletions

View file

@ -18,13 +18,14 @@ if [ "$(id -u)" -ne 0 ]; then
fi
if [ ! -f $XBPS_MASTERDIR/.xbps_perms_done ]; then
echo "==> Preparing chroot on $XBPS_MASTERDIR... "
echo -n "==> Preparing chroot on $XBPS_MASTERDIR... "
chown -R root:root $XBPS_MASTERDIR/*
chmod +s $XBPS_MASTERDIR/usr/libexec/pt_chown
cp -af /etc/passwd /etc/shadow /etc/group /etc/hosts $XBPS_MASTERDIR/etc
touch $XBPS_MASTERDIR/.xbps_perms_done
echo "done."
else
echo "==> Entering into the chroot on $XBPS_MASTERDIR..."
echo "==> Entering into the chroot on $XBPS_MASTERDIR."
fi
for f in bin sbin tmp var sys proc dev xbps xbps_builddir xbps_destdir; do
@ -72,6 +73,30 @@ rebuild_ldso_cache()
echo " done."
}
configure_chroot_pkg()
{
local pkg="$1"
[ -z "$pkg" ] && return 1
rebuild_ldso_cache
env in_chroot=yes chroot $XBPS_MASTERDIR /xbps/xbps.sh configure $pkg
echo "==> Exiting from the chroot on $XBPS_MASTERDIR."
umount_chroot_fs
}
build_chroot_pkg()
{
local pkg="$1"
[ -z "$pkg" ] && return 1
rebuild_ldso_cache
env in_chroot=yes chroot $XBPS_MASTERDIR /xbps/xbps.sh build $pkg
echo "==> Exiting from the chroot on $XBPS_MASTERDIR."
umount_chroot_fs
}
install_chroot_pkg()
{
local pkg="$1"
@ -79,17 +104,17 @@ install_chroot_pkg()
[ -z "$pkg" ] && return 1
rebuild_ldso_cache
chroot $XBPS_MASTERDIR /xbps/xbps.sh install $pkg
env in_chroot=yes chroot $XBPS_MASTERDIR /xbps/xbps.sh install $pkg
echo "==> Exiting from the chroot on $XBPS_MASTERDIR."
umount_chroot_fs
echo "==> Exiting from the chroot on $XBPS_MASTERDIR..."
}
enter_chroot()
{
rebuild_ldso_cache
chroot $XBPS_MASTERDIR /bin/bash
env in_chroot=yes chroot $XBPS_MASTERDIR /bin/bash
echo "==> Exiting from the chroot on $XBPS_MASTERDIR."
umount_chroot_fs
echo "==> Exiting from the chroot on $XBPS_MASTERDIR..."
}
umount_chroot_fs()

View file

@ -21,3 +21,5 @@ long_desc="
strings for outputing the printable characters in files, strip for
stripping out symbols (like debugging information) from object files,
and other tools."
base_chroot=yes

View file

@ -11,5 +11,6 @@ long_desc="
Bison is the GNU replacement for yacc(1). Some programs depend on
extensions present in Bison."
base_chroot=yes
build_depends="m4-1.4.12"
run_depends="m4-1.4.12 glibc-2.8"

View file

@ -9,3 +9,5 @@ short_desc="The bzip2 compression library"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=f7bf5368309d76e5daf3a89d4d1bea688dac7780742e7a0ae1af19be9316fe22
long_desc=
base_chroot=yes

View file

@ -12,4 +12,5 @@ long_desc="
utilities of the GNU operating system. These are the core utilities
which are expected to exist on every operating system."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -12,4 +12,5 @@ long_desc="
faster. Cmp has been moved into this package from the GNU textutils package.
These programs are usually used for creating patch files."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -11,5 +11,6 @@ long_desc="
File attempts to classify files depending on their contents and prints
a description if a match is found."
base_chroot=yes
build_depends="zlib-1.2.3"
run_depends="glibc-2.8 zlib-1.2.3"

View file

@ -12,4 +12,5 @@ long_desc="
other programs to provide modular and powerful directory search and file
locating capabilities to other commands."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -9,4 +9,5 @@ checksum=06dd872da7145088ae08475f7b11e5b9e810b8ead7d78d039003e671bb76ec65
long_desc="
The GNU AWK utility, a pattern scanning and processing tool."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -17,7 +17,9 @@ checksum=bfbf487731ad5dca37efe480a837417de071bd67e685d5c1df6a290707575165
long_desc="
The GNU C Compiler suite, with support for C, C++, Fortran, ObjC."
base_chroot=yes
build_depends="mpfr-2.3.2 binutils-2.18"
run_depends="glibc-2.8"
# As specified in the LFS book, disable installing libiberty.
pre_configure()

View file

@ -21,4 +21,5 @@ long_desc="
The advantage for GNU MP increases with the operand sizes for certain
operations, since GNU MP in many cases has asymptotically faster algorithms."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -15,5 +15,6 @@ long_desc="
full regexp matcher without necessarily having to look at every character.
The result is typically many times faster than Unix grep or egrep."
base_chroot=yes
build_depends="texinfo-4.13a"
run_depends="glibc-2.8"

View file

@ -12,4 +12,5 @@ long_desc="
and freedom from patented algorithms. The GNU Project uses it as the
standard compression program for its system."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -12,3 +12,5 @@ maintainer="Juan RP <xtraeme@gmail.com>"
checksum=52d9526ea8df33c9fab3df4564b0147b1866c76b0fd31474b92592567384a02c
long_desc="
This package provides the linux kernel headers for use in userspace."
base_chroot=yes

View file

@ -15,4 +15,5 @@ long_desc="
shell commands, doing arithmetic, etc. Autoconf needs GNU m4 for
generating configure scripts, but not for running them."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -11,4 +11,5 @@ long_desc="
program need to be recompiled and issues the commands to
recompile them, when necessary."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -14,5 +14,6 @@ long_desc="
see more on the credit page. MPFR is based on the GMP multiple-precision
library."
base_chroot=yes
build_depends="gmp-4.2.4"
run_depends="glibc-2.8 gmp-4.2.4"

View file

@ -17,4 +17,5 @@ long_desc="
ecompiler infocmp, clear, tput, tset, and a termcap conversion tool captoinfo.
Full manual pages are provided for the library and tools."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -13,4 +13,5 @@ long_desc="
This is the GPL version from the Free Software Foundation."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -21,3 +21,6 @@ long_desc="
This proplib version is the same version than is available on NetBSD, but
with the exception that NetBSD specific code has been removed and it has
been converted to be built through the GNU autotools."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -11,4 +11,5 @@ long_desc="
Sed, the GNU Stream Editor, copies the named files (standard input default)
to the standard output, edited according to a script of commands."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -13,4 +13,5 @@ long_desc="
on Brian Reid's Scribe and other formatting languages of the time. It is
used by many non-GNU projects as well."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -13,4 +13,5 @@ long_desc="
is thread safe. The data format used by the library is described
by RFCs (Request for Comments) 1950 to 1952."
base_chroot=yes
run_depends="glibc-2.8"

View file

@ -53,7 +53,8 @@ main(int argc, char **argv)
prop_object_iterator_t dbditer;
prop_object_t obj, obj2;
prop_string_t pkg;
char dbfile[PATH_MAX], *dbfileenv, *tmppath;
char dbfile[PATH_MAX], *dbfileenv, *tmppath, *in_chroot_env;
bool in_chroot = false;
if (argc < 2)
usage();
@ -73,6 +74,10 @@ main(int argc, char **argv)
/* nul terminate string */
dbfile[sizeof(dbfile) - 1] = '\0';
in_chroot_env = getenv("in_chroot");
if (in_chroot_env != NULL)
in_chroot = true;
if (strcmp(argv[1], "installed") == 0) {
/* Returns 0 if pkg is installed, 1 otherwise */
if (argc != 3)
@ -121,7 +126,9 @@ main(int argc, char **argv)
exit(1);
}
}
printf("==> %s-%s registered successfully.\n", argv[2], argv[3]);
printf("%s==> %s-%s registered successfully.\n",
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
} else if (strcmp(argv[1], "unregister") == 0) {
/* Unregisters a package from the database */
@ -145,7 +152,8 @@ main(int argc, char **argv)
exit(1);
}
printf("==> %s-%s unregistered successfully.\n", argv[2], argv[3]);
printf("%s==> %s-%s unregistered successfully.\n",
in_chroot ? "[chroot] " : "", argv[2], argv[3]);
} else if (strcmp(argv[1], "list") == 0) {
/* Lists packages currently registered in database */

170
xbps.sh
View file

@ -128,10 +128,43 @@ run_func()
[ -z "$func" ] && return 1
type $func | grep -q 'shell function'
type -t $func | grep -q 'shell function'
[ $? -eq 0 ] && $func
}
msg_error()
{
[ -z "$1" ] && return 1
if [ -n "$in_chroot" ]; then
echo "[chroot] *** ERROR: $1 ***"
else
echo "*** ERROR: $1 ***"
fi
}
msg_warn()
{
[ -z "$1" ] && return 1
if [ -n "$in_chroot" ]; then
echo "[chroot] *** WARNING: $1 ***"
else
echo "*** WARNING: $1 ***"
fi
}
msg_normal()
{
[ -z "$1" ] && return 1
if [ -n "$in_chroot" ]; then
echo "[chroot] ==> $1"
else
echo "==> $1"
fi
}
#
# Shows info about a template.
#
@ -176,8 +209,7 @@ check_config_vars()
cffound=yes && break
done
if [ -z "$cffound" ]; then
echo -n "*** ERROR: config file not specified "
echo "and not in default location or current dir ***"
msg_error "cannot find a config file"
exit 1
fi
fi
@ -186,8 +218,7 @@ check_config_vars()
XBPS_CONFIG_FILE=$path_fixed
if [ ! -f "$XBPS_CONFIG_FILE" ]; then
echo -n "*** ERROR: cannot find configuration file: "
echo "'$XBPS_CONFIG_FILE' ***"
msg_error "cannot find configuration file: $XBPS_CONFIG_FILE"
exit 1
fi
@ -197,16 +228,14 @@ check_config_vars()
for f in ${XBPS_VARS}; do
eval val="\$$f"
if [ -z "$val" ]; then
echo -n "**** ERROR: '$f' not set in configuration "
echo "file, aborting ***"
msg_error "'$f' not set in configuration file"
exit 1
fi
if [ ! -d "$val" ]; then
mkdir "$val"
if [ "$?" -ne 0 ]; then
echo -n "*** ERROR: couldn't create '$f'"
echo " directory, aborting ***"
msg_error "couldn't create '$f' directory"
exit 1
fi
fi
@ -251,7 +280,7 @@ setup_tmpl()
fi
prepare_tmpl
else
echo "*** ERROR: cannot find $pkg template file ***"
msg_error "cannot find $pkg template file"
exit 1
fi
}
@ -274,8 +303,7 @@ prepare_tmpl()
for i in ${REQ_VARS}; do
eval val="\$$i"
if [ -z "$val" -o -z "$i" ]; then
echo -n "*** ERROR: \"$i\" not set on $pkgname "
echo "template ***"
msg_error "\"$i\" not set on $pkgname template"
exit 1
fi
done
@ -292,8 +320,10 @@ prepare_tmpl()
XBPS_BUILD_DONE="$wrksrc/.xbps_build_done"
XBPS_INSTALL_DONE="$wrksrc/.xbps_install_done"
if [ -z "$in_chroot" ]; then
export PATH="$XBPS_MASTERDIR/bin:$XBPS_MASTERDIR/sbin"
export PATH="$PATH:$XBPS_MASTERDIR/usr/bin:$XBPS_MASTERDIR/usr/sbin"
fi
export PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin"
}
@ -327,14 +357,13 @@ extract_distfiles()
if [ $count -gt 1 ]; then
if [ -z "$wrksrc" ]; then
echo -n "*** ERROR: \$wrksrc must be defined with "
echo "multiple distfiles ***"
msg_error "\$wrksrc must be defined with multiple distfiles"
exit 1
fi
mkdir $wrksrc
fi
echo "==> Extracting '$pkgname-$version' distfiles."
msg_normal "Extracting '$pkgname-$version' distfile(s)."
if [ -n "$tar_override_cmd" ]; then
ltar_cmd="$tar_override_cmd"
@ -357,24 +386,21 @@ extract_distfiles()
.tar.bz2|.tbz)
$ltar_cmd xfj $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
if [ $? -ne 0 ]; then
echo -n "*** ERROR extracting $curfile into "
echo "$lwrksrc ***"
msg_error "extracting $curfile into $lwrksrc"
exit 1
fi
;;
.tar.gz|.tgz)
$ltar_cmd xfz $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
if [ $? -ne 0 ]; then
echo -n "*** ERROR extracting $curfile into "
echo "$lwrksrc ***"
msg_error "extracting $curfile into $lwrksrc"
exit 1
fi
;;
.tar)
$ltar_cmd xf $XBPS_SRCDISTDIR/$curfile -C $lwrksrc
if [ $? -ne 0 ]; then
echo -n "*** ERROR extracting $curfile into "
echo "$lwrksrc ***"
msg_error "extracting $curfile into $lwrksrc"
exit 1
fi
;;
@ -391,20 +417,18 @@ extract_distfiles()
lwrksrc=$tmpwrksrc
unset tmpf tmpsufx tmpwrksrc
else
echo "*** ERROR: cannot find unzip helper ***"
msg_error "cannot find unzip helper"
exit 1
fi
extract_unzip $XBPS_SRCDISTDIR/$curfile $lwrksrc
if [ $? -ne 0 ]; then
echo -n "*** ERROR extracting $curfile into "
echo "$lwrksrc ***"
msg_error "extracting $curfile into $lwrksrc"
exit 1
fi
;;
*)
echo -n "*** ERROR: cannot guess $curfile extract "
echo "suffix ***"
msg_error "cannot guess $curfile extract suffix"
exit 1
;;
esac
@ -426,11 +450,11 @@ verify_sha256_cksum()
filesum=$($XBPS_DIGEST_CMD $XBPS_SRCDISTDIR/$file)
if [ "$origsum" != "$filesum" ]; then
echo "*** ERROR: SHA256 checksum doesn't match for $file ***"
msg_error "SHA256 checksum doesn't match for $file"
exit 1
fi
echo "=> SHA256 checksum OK for $file."
msg_normal "SHA256 checksum OK for $file."
}
#
@ -468,8 +492,7 @@ fetch_distfiles()
done
if [ -z $found ]; then
echo -n "*** ERROR: cannot find checksum for "
echo "$curfile ***"
msg_error "cannot find checksum for $curfile"
exit 1
fi
@ -482,7 +505,7 @@ fetch_distfiles()
fi
fi
echo "==> Fetching distfile: \`$curfile'."
msg_normal "Fetching distfile: \`$curfile'."
if [ -n "$distfiles" ]; then
localurl="$f"
@ -495,11 +518,9 @@ fetch_distfiles()
if [ $? -ne 0 ]; then
unset localurl
if [ ! -f $XBPS_SRCDISTDIR/$curfile ]; then
echo -n "*** ERROR: couldn't fetch '$curfile', "
echo "aborting ***"
msg_error "couldn't fetch '$curfile'"
else
echo -n "*** ERROR: there was an error "
echo "fetching '$curfile', aborting ***"
msg_error "there was an error fetching '$curfile'"
fi
exit 1
else
@ -518,8 +539,7 @@ fetch_distfiles()
done
if [ -z $found ]; then
echo -n "*** ERROR: cannot find checksum for "
echo "$curfile ***"
msg_error "cannot find checksum for $curfile"
exit 1
fi
@ -542,7 +562,7 @@ libtool_fixup_file()
[ -n "$no_libtool_fixup" ] && return 0
# If we are being invoked by a chroot, don't transform stuff.
[ "$XBPS_MASTERDIR" = "/" ] && return 0
[ -n "$in_chroot" ] && return 0
sed -i -e \
's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec="-Wl,-rpath /usr/lib"|g' \
@ -559,7 +579,7 @@ libtool_fixup_la_files()
[ "$pkgname" = "libtool" ] && return 0
# If we are being invoked by a chroot, don't transform stuff.
[ "$XBPS_MASTERDIR" = "/" ] && return 0
[ -n "$in_chroot" ] && return 0
[ ! -f "$wrksrc/libtool" -o ! -f "$wrksrc/ltmain.sh" ] && return 0
@ -574,7 +594,7 @@ libtool_fixup_la_files()
for f in $(find $where -type f -name \*.la*); do
if [ -f $f ]; then
echo "=> Fixing up libtool archive: ${f##$where/}"
msg_normal "Fixing up libtool archive: ${f##$where/}"
sed -i -e "s|\/..\/lib||g;s|\/\/lib|/usr/lib|g" \
-e "s|$XBPS_MASTERDIR||g;s|$wrksrc||g" \
-e "s|$XBPS_DESTDIR/$pkgname-$version||g" $f
@ -586,7 +606,7 @@ libtool_fixup_la_files()
set_build_vars()
{
[ "$XBPS_MASTERDIR" = "/" ] && return 0
[ -n "$in_chroot" ] && return 0
LDFLAGS="-L$XBPS_MASTERDIR/usr/lib"
SAVE_LDLIBPATH=$LD_LIBRARY_PATH
@ -606,7 +626,7 @@ set_build_vars()
unset_build_vars()
{
[ "$XBPS_MASTERDIR" = "/" ] && return 0
[ -n "$in_chroot" ] && return 0
unset LDFLAGS CFLAGS CXXFLAGS CPPFLAGS PKG_CONFIG LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$SAVE_LDLIBPATH
@ -636,7 +656,7 @@ apply_tmpl_patches()
for i in ${patch_files}; do
patch="$XBPS_TEMPLATESDIR/$i"
if [ ! -f "$patch" ]; then
echo "*** WARNING: unexistent patch: $i ***"
msg_warn "unexistent patch: $i"
continue
fi
@ -652,15 +672,15 @@ apply_tmpl_patches()
elif $(echo $patch|$grep_cmd -q .diff); then
patch=$i
else
echo "*** WARNING: unknown patch type: $i ***"
msg_warn "unknown patch type: $i"
continue
fi
cd $wrksrc && patch -p0 < $patch 2>/dev/null
if [ "$?" -eq 0 ]; then
echo "=> Patch applied: $i."
msg_normal "Patch applied: $i."
else
echo "*** ERROR: couldn't apply patch: $i."
msg_error "couldn't apply patch: $i."
exit 1
fi
done
@ -688,7 +708,7 @@ configure_src_phase()
"$build_style" = "only-install" ] && return 0
if [ ! -d $wrksrc ]; then
echo "*** ERROR: unexistent build directory $wrksrc ***"
msg_error "unexistent build directory $wrksrc"
exit 1
fi
@ -703,7 +723,7 @@ configure_src_phase()
export "$f"
done
echo "=> Running configure phase for $pkgname-$version."
msg_normal "Running configure phase for $pkgname-$version."
set_build_vars
@ -755,12 +775,12 @@ configure_src_phase()
# Unknown build_style type won't work :-)
#
else
echo "*** ERROR unknown build_style: $build_style ***"
msg_error "unknown build_style: $build_style"
exit 1
fi
if [ "$build_style" != "perl_module" -a "$?" -ne 0 ]; then
echo "*** ERROR building (configure state) $pkg ***"
msg_error "building (configure state) $pkg"
exit 1
fi
@ -794,7 +814,7 @@ build_src_phase()
"$build_style" = "only-install" ] && return 0
if [ ! -d $wrksrc ]; then
echo "*** ERROR: unexistent build directory: $wrksrc ***"
msg_error "unexistent build directory: $wrksrc"
exit 1
fi
@ -823,14 +843,14 @@ build_src_phase()
libtool_fixup_file
set_build_vars
echo "=> Running build phase for $pkg."
msg_normal "Running build phase for $pkg."
#
# Build package via make.
#
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
if [ "$?" -ne 0 ]; then
echo "*** ERROR building (make stage) $pkg ***"
msg_error "building (make stage) $pkg"
exit 1
fi
@ -875,13 +895,13 @@ install_src_phase()
[ "$build_style" = "meta-template" ] && return 0
if [ ! -d $wrksrc ]; then
echo "*** ERROR: unexistent build directory: $wrksrc ***"
msg_error "unexistent build directory: $wrksrc"
exit 1
fi
cd $wrksrc || exit 1
echo "=> Running install phase for: $pkgname-$version."
msg_normal "Running install phase for: $pkgname-$version."
set_build_vars
#
@ -889,7 +909,7 @@ install_src_phase()
#
${make_cmd} ${make_install_target} ${make_install_args}
if [ "$?" -ne 0 ]; then
echo "*** ERROR installing $pkgname-$version ***"
msg_error "installing $pkgname-$version"
exit 1
fi
@ -910,7 +930,7 @@ install_src_phase()
# Unset build vars.
unset_build_vars
echo "==> Installed $pkgname-$version into $XBPS_DESTDIR."
msg_normal "Installed $pkgname-$version into $XBPS_DESTDIR."
touch -f $XBPS_INSTALL_DONE
@ -920,7 +940,7 @@ install_src_phase()
if [ -d "$wrksrc" -a -z "$dontrm_builddir" ]; then
rm -rf $wrksrc
[ "$?" -eq 0 ] && \
echo "=> Removed $pkgname-$version build directory."
msg_normal "Removed $pkgname-$version build directory."
fi
cd $XBPS_BUILDDIR
@ -1183,7 +1203,7 @@ install_pkg()
local cur_tmpl="$XBPS_TEMPLATESDIR/$curpkgn.tmpl"
if [ -z $cur_tmpl -o ! -f $cur_tmpl ]; then
echo "*** ERROR: cannot find $cur_tmpl template file ***"
msg_error "cannot find $cur_tmpl template file"
exit 1
fi
@ -1250,7 +1270,7 @@ install_pkg()
if [ "$build_style" = "meta-template" ]; then
register_pkg_handler register $pkgname $version
[ $? -eq 0 ] && \
echo "==> Installed meta-template: $pkg." && \
msg_normal "Installed meta-template: $pkg." && \
return 0
return 1
fi
@ -1476,9 +1496,19 @@ build)
fi
if [ ! -f "$XBPS_CONFIGURE_DONE" ]; then
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
run_file $XBPS_TMPLHELPDIR/chroot.sh
configure_chroot_pkg $2
else
configure_src_phase $2
fi
fi
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
run_file $XBPS_TMPLHELPDIR/chroot.sh
build_chroot_pkg $2
else
build_src_phase $2
fi
;;
chroot)
run_file $XBPS_TMPLHELPDIR/chroot.sh
@ -1490,7 +1520,12 @@ configure)
if [ ! -f "$XBPS_EXTRACT_DONE" ]; then
extract_distfiles $2
fi
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
run_file $XBPS_TMPLHELPDIR/chroot.sh
configure_chroot_pkg $2
else
configure_src_phase $2
fi
;;
extract)
setup_tmpl $2
@ -1505,17 +1540,22 @@ info)
setup_tmpl $2
info_tmpl $2
;;
install-chroot)
setup_tmpl $2
run_file $XBPS_TMPLHELPDIR/chroot.sh
install_chroot_pkg $2
;;
install-destdir)
install_destdir_target=yes
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
run_file $XBPS_TMPLHELPDIR/chroot.sh
install_chroot_pkg $2
else
install_pkg $2
fi
;;
install)
if [ -z "$base_chroot" -a -z "$in_chroot" ]; then
run_file $XBPS_TMPLHELPDIR/chroot.sh
install_chroot_pkg $2
else
install_pkg $2
fi
;;
list)
list_pkgs