Added support to build pkgs in the chroot as normal user via capchroot.
Please read the comment in xbps-src.conf to use it. Fully tested and working nicely, probably some pkgs will need minimal changes. --HG-- extra : convert_revision : 820ad6d48aa74cf5b6db1871adea750acccaa82f
This commit is contained in:
parent
5d6d7b0f4e
commit
e57940985e
15 changed files with 406 additions and 242 deletions
70
xbps-src/shutils/init_funcs.sh.in
Normal file
70
xbps-src/shutils/init_funcs.sh.in
Normal file
|
@ -0,0 +1,70 @@
|
|||
#-
|
||||
# Copyright (c) 2008-2010 Juan Romero Pardines.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#-
|
||||
|
||||
set_defvars()
|
||||
{
|
||||
local DDIRS i instver instsharedir
|
||||
|
||||
instsharedir=@@XBPS_INSTALL_SHAREDIR@@
|
||||
|
||||
: ${XBPS_TRIGGERSDIR:=$instsharedir/triggers}
|
||||
: ${XBPS_HELPERSDIR:=$instsharedir/helpers}
|
||||
: ${XBPS_SHUTILSDIR:=$instsharedir/shutils}
|
||||
: ${XBPS_COMMONVARSDIR:=$instsharedir/common}
|
||||
: ${XBPS_DBDIR:=$XBPS_MASTERDIR/var/db/xbps}
|
||||
: ${XBPS_META_PATH:=$XBPS_DBDIR/}
|
||||
: ${XBPS_PKGMETADIR:=$XBPS_DBDIR/metadata}
|
||||
: ${XBPS_SRCPKGDIR:=$XBPS_DISTRIBUTIONDIR/srcpkgs}
|
||||
if [ -n "$in_chroot" ]; then
|
||||
: ${XBPS_DESTDIR:=/pkg-destdir}
|
||||
else
|
||||
: ${XBPS_DESTDIR:=$XBPS_MASTERDIR/pkg-destdir}
|
||||
fi
|
||||
|
||||
DDIRS="XBPS_TRIGGERSDIR XBPS_HELPERSDIR"
|
||||
DDIRS="$DDIRS XBPS_COMMONVARSDIR XBPS_SHUTILSDIR"
|
||||
for i in ${DDIRS}; do
|
||||
eval val="\$$i"
|
||||
[ ! -d "$val" ] && msg_error "cannot find $i, aborting."
|
||||
done
|
||||
|
||||
export XBPS_PKGDB_CMD="xbps-uhelper.static -r $XBPS_MASTERDIR"
|
||||
export XBPS_BIN_CMD="xbps-bin.static -r $XBPS_MASTERDIR"
|
||||
export XBPS_DIGEST_CMD="xbps-uhelper.static digest"
|
||||
export XBPS_CMPVER_CMD="xbps-uhelper.static cmpver"
|
||||
export XBPS_FETCH_CMD="xbps-uhelper.static fetch"
|
||||
|
||||
#
|
||||
# Check that installed xbps utils version is recent enough.
|
||||
#
|
||||
instver=$(${XBPS_PKGDB_CMD} -V)
|
||||
${XBPS_CMPVER_CMD} "${instver}" "${XBPS_UTILS_REQVER}"
|
||||
if [ $? -eq 255 ]; then
|
||||
echo -n "Your xbps utilities are too old, "
|
||||
echo "required version: ${XBPS_UTILS_REQVER}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue