Mega-commit removing deps in xbps-base-chroot.
xbps-src: * ALWAYS use the static bins, to avoid breakage in the chroot. * Remove XBPS_FETCH_CMD. Use xbps-fetch (static) now that it's useful to download all distfiles in xbps-base-system. * Use busybox in the chroot and create links in /usr/local/bin at creation time. This helps to remove many packages that had problems with host/target libs (acl, attr, libarchive, etc). build templates: * Add explicit gettext and texinfo build dependencies in all packages that need them, because they aren't built anymore by xbps-base-chroot. * Fixed some packages using build_style=gnu_makefile, that were broken because pre/post_configure() is not executed for a while, they should use pre/post_build() instead. --HG-- extra : convert_revision : 0eaaf4917fd824710d0895e0c984bbc236b0cdf8
This commit is contained in:
parent
ab0de77616
commit
1ebe5e6b5e
54 changed files with 148 additions and 199 deletions
|
@ -51,11 +51,6 @@ XBPS_CXXFLAGS="$XBPS_CFLAGS"
|
|||
#
|
||||
#XBPS_MAKEJOBS=4
|
||||
|
||||
#
|
||||
# Fetch command to download files.
|
||||
#
|
||||
XBPS_FETCH_CMD=wget
|
||||
|
||||
#
|
||||
# Compression program used to build the binary packages.
|
||||
# Possible values: gzip, bzip2 or xz. Default xz.
|
||||
|
|
|
@ -32,15 +32,15 @@
|
|||
install_pkg_deps()
|
||||
{
|
||||
local curpkg="$1"
|
||||
local curpkgname=$(xbps-pkgdb getpkgname $1)
|
||||
local saved_prevpkg=$(xbps-pkgdb getpkgname $2)
|
||||
local curpkgname=$(${XBPS_PKGDB_CMD} getpkgname $1)
|
||||
local saved_prevpkg=$(${XBPS_PKGDB_CMD} getpkgname $2)
|
||||
local j jver jname reqver
|
||||
|
||||
[ -z "$curpkg" ] && return 1
|
||||
|
||||
if [ -n "$prev_pkg" ]; then
|
||||
curpkg=$prev_pkg
|
||||
curpkgname=$(xbps-pkgdb getpkgname ${curpkg})
|
||||
curpkgname=$(${XBPS_PKGDB_CMD} getpkgname ${curpkg})
|
||||
fi
|
||||
|
||||
msg_normal "Installing $saved_prevpkg dependency: $curpkgname."
|
||||
|
@ -50,9 +50,9 @@ install_pkg_deps()
|
|||
if [ $? -eq 0 ]; then
|
||||
msg_normal "Dependency $curpkgname requires:"
|
||||
for j in ${build_depends}; do
|
||||
jname=$(xbps-pkgdb getpkgname ${j})
|
||||
jver=$($XBPS_REGPKGDB_CMD version ${jname})
|
||||
reqver=$(xbps-pkgdb getpkgversion ${j})
|
||||
jname=$(${XBPS_PKGDB_CMD} getpkgname ${j})
|
||||
jver=$($XBPS_PKGDB_CMD version ${jname})
|
||||
reqver=$(${XBPS_PKGDB_CMD} getpkgversion ${j})
|
||||
check_installed_pkg $j
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " $jname >= $reqver: found $jname-$jver."
|
||||
|
@ -88,7 +88,7 @@ install_pkg_deps()
|
|||
install_dependencies_pkg()
|
||||
{
|
||||
local pkg="$1"
|
||||
local lpkgname=$(xbps-pkgdb getpkgname ${pkg})
|
||||
local lpkgname=$(${XBPS_PKGDB_CMD} getpkgname ${pkg})
|
||||
local i ipkgname iversion reqvers notinstalled_deps lver
|
||||
|
||||
[ -z "$pkg" ] && return 1
|
||||
|
@ -103,9 +103,9 @@ install_dependencies_pkg()
|
|||
|
||||
msg_normal "Required build dependencies for $pkgname-$lver... "
|
||||
for i in ${build_depends}; do
|
||||
ipkgname=$(xbps-pkgdb getpkgname ${i})
|
||||
iversion=$($XBPS_REGPKGDB_CMD version $ipkgname)
|
||||
reqvers=$(xbps-pkgdb getpkgversion ${i})
|
||||
ipkgname=$(${XBPS_PKGDB_CMD} getpkgname ${i})
|
||||
iversion=$($XBPS_PKGDB_CMD version $ipkgname)
|
||||
reqvers=$(${XBPS_PKGDB_CMD} getpkgversion ${i})
|
||||
check_installed_pkg $i
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " $ipkgname >= $reqvers: found $ipkgname-$iversion."
|
||||
|
@ -122,7 +122,7 @@ install_dependencies_pkg()
|
|||
check_installed_pkg $i
|
||||
[ $? -eq 0 ] && continue
|
||||
|
||||
ipkgname=$(xbps-pkgdb getpkgname ${i})
|
||||
ipkgname=$(${XBPS_PKGDB_CMD} getpkgname ${i})
|
||||
run_template $ipkgname
|
||||
check_build_depends_pkg
|
||||
if [ $? -eq 1 ]; then
|
||||
|
@ -137,7 +137,7 @@ install_dependencies_pkg()
|
|||
install_builddeps_required_pkg()
|
||||
{
|
||||
local pkg="$1"
|
||||
local pkgname=$(xbps-pkgdb getpkgname ${pkg})
|
||||
local pkgname=$(${XBPS_PKGDB_CMD} getpkgname ${pkg})
|
||||
local dep depname
|
||||
|
||||
[ -z "$pkg" ] && return 1
|
||||
|
@ -148,7 +148,7 @@ install_builddeps_required_pkg()
|
|||
check_installed_pkg $dep
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_normal "Installing $pkgname dependency: $dep."
|
||||
depname=$(xbps-pkgdb getpkgname ${dep})
|
||||
depname=$(${XBPS_PKGDB_CMD} getpkgname ${dep})
|
||||
install_pkg $depname
|
||||
fi
|
||||
done
|
||||
|
@ -165,11 +165,11 @@ check_installed_pkg()
|
|||
|
||||
[ -z "$pkg" ] && return 2
|
||||
|
||||
pkgname=$(xbps-pkgdb getpkgname $pkg)
|
||||
reqver=$(xbps-pkgdb getpkgversion $pkg)
|
||||
pkgname=$(${XBPS_PKGDB_CMD} getpkgname $pkg)
|
||||
reqver=$(${XBPS_PKGDB_CMD} getpkgversion $pkg)
|
||||
run_template $pkgname
|
||||
|
||||
iver="$($XBPS_REGPKGDB_CMD version $pkgname)"
|
||||
iver="$($XBPS_PKGDB_CMD version $pkgname)"
|
||||
if [ -n "$iver" ]; then
|
||||
xbps-cmpver $pkgname-$iver $pkgname-$reqver
|
||||
[ $? -eq 0 -o $? -eq 1 ] && return 0
|
||||
|
|
|
@ -86,12 +86,18 @@ ff02::2 ip6-allrouters
|
|||
ff02::3 ip6-allhosts
|
||||
_EOF
|
||||
|
||||
# Use OpenDNS servers.
|
||||
cat > $XBPS_MASTERDIR/etc/resolv.conf <<_EOF
|
||||
nameserver 208.67.222.222
|
||||
nameserver 208.67.220.220
|
||||
_EOF
|
||||
cp -f /etc/resolv.conf $XBPS_MASTERDIR/etc
|
||||
|
||||
#
|
||||
# Copy host shell, bash is prefered to avoid breakage in
|
||||
# GNU autoconf scripts!
|
||||
#
|
||||
mkdir -p $XBPS_MASTERDIR/bin
|
||||
if [ -x /bin/bash ]; then
|
||||
cp -f /bin/bash $XBPS_MASTERDIR/bin/sh
|
||||
elif [ -x /bin/sh ]; then
|
||||
cp -f /bin/sh $XBPS_MASTERDIR/bin/sh
|
||||
fi
|
||||
touch $XBPS_MASTERDIR/.xbps_perms_done
|
||||
|
||||
}
|
||||
|
@ -104,19 +110,37 @@ rebuild_ldso_cache()
|
|||
echo " done."
|
||||
}
|
||||
|
||||
create_busybox_links()
|
||||
{
|
||||
local busyboxdir=$XBPS_MASTERDIR/usr/lib/busybox-initramfs
|
||||
local lbindir=$XBPS_MASTERDIR/usr/local/bin
|
||||
|
||||
[ -f $XBPS_MASTERDIR/.busybox_done ] && return 0
|
||||
|
||||
[ ! -d ${lbindir} ] && mkdir -p ${lbindir}
|
||||
|
||||
# Create other symlinks in /usr/local/bin
|
||||
for f in $(find ${busyboxdir} -type l); do
|
||||
cd ${lbindir} || return 1
|
||||
[ "$(basename $f)" = "sh" ] && continue
|
||||
ln -s ../../lib/busybox-initramfs/bin/busybox $(basename $f)
|
||||
done
|
||||
|
||||
touch -f $XBPS_MASTERDIR/.busybox_done
|
||||
}
|
||||
|
||||
install_xbps_utils()
|
||||
{
|
||||
local needed fetch_cmd
|
||||
local xbps_prefix=$XBPS_MASTERDIR/usr/local
|
||||
|
||||
for f in bin cmpver digest pkgdb; do
|
||||
if [ ! -x $xbps_prefix/sbin/xbps-${f} ]; then
|
||||
if [ ! -x $xbps_prefix/sbin/xbps-${f}.static ]; then
|
||||
needed=yes
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$needed" ]; then
|
||||
cd ${XBPS_MASTERDIR}/bin && ln -s dash sh
|
||||
echo "=> Installing the required XBPS utils."
|
||||
chroot $XBPS_MASTERDIR sh -c \
|
||||
"echo /usr/local/lib > /etc/ld.so.conf"
|
||||
|
@ -128,7 +152,7 @@ install_xbps_utils()
|
|||
cp -f $fetch_cmd $xbps_prefix/sbin
|
||||
for f in bin cmpver digest pkgdb repo; do
|
||||
cp -f $XBPS_INSTALLDIR/sbin/xbps-$f.static \
|
||||
$xbps_prefix/sbin/xbps-$f
|
||||
$xbps_prefix/sbin/
|
||||
done
|
||||
cp -f $XBPS_INSTALLDIR/sbin/xbps-src $xbps_prefix/sbin
|
||||
if [ -z $XBPS_INSTALLDIR ]; then
|
||||
|
@ -146,7 +170,7 @@ xbps_chroot_handler()
|
|||
local action="$1"
|
||||
local pkg="$2"
|
||||
local only_destdir="$3"
|
||||
|
||||
local path="/usr/local/sbin:/bin::/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
|
||||
[ -z "$action" -o -z "$pkg" ] && return 1
|
||||
|
||||
[ "$action" != "configure" -a "$action" != "build" -a \
|
||||
|
@ -154,6 +178,7 @@ xbps_chroot_handler()
|
|||
|
||||
mount_chroot_fs
|
||||
install_xbps_utils
|
||||
create_busybox_links
|
||||
|
||||
if [ ! -f $XBPS_MASTERDIR/.xbps_perms_done ]; then
|
||||
echo -n "==> Preparing chroot on $XBPS_MASTERDIR... "
|
||||
|
@ -162,12 +187,14 @@ xbps_chroot_handler()
|
|||
fi
|
||||
|
||||
if [ "$action" = "chroot" ]; then
|
||||
env in_chroot=yes LANG=C chroot $XBPS_MASTERDIR /bin/bash
|
||||
env in_chroot=yes LANG=C PATH=$path \
|
||||
chroot $XBPS_MASTERDIR /bin/sh
|
||||
else
|
||||
[ -n "$only_destdir" ] && \
|
||||
local lenv="install_destdir_target=yes"
|
||||
env in_chroot=yes LANG=C ${lenv} chroot $XBPS_MASTERDIR \
|
||||
xbps-src $action $pkg
|
||||
env in_chroot=yes LANG=C PATH=$path \
|
||||
${lenv} chroot $XBPS_MASTERDIR \
|
||||
/usr/local/sbin/xbps-src $action $pkg
|
||||
fi
|
||||
msg_normal "Exiting from the chroot on $XBPS_MASTERDIR."
|
||||
umount_chroot_fs
|
||||
|
@ -250,10 +277,10 @@ umount_chroot_fs()
|
|||
[ -n "$base_chroot" ] && return 0
|
||||
|
||||
. $XBPS_SHUTILSDIR/builddep_funcs.sh
|
||||
check_installed_pkg xbps-base-chroot-0.1
|
||||
check_installed_pkg xbps-base-chroot-0.11
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "The '$pkgname' package requires to be installed in a chroot."
|
||||
echo "Please install the 'xbps-base-chroot' package and try again."
|
||||
echo "Please install 'xbps-base-chroot>=0.11' and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ verify_sha256_cksum()
|
|||
|
||||
[ -z "$file" -o -z "$cksum" ] && return 1
|
||||
|
||||
filesum=$(xbps-digest.static $XBPS_SRCDISTDIR/$file)
|
||||
filesum=$(${XBPS_DIGEST_CMD} $XBPS_SRCDISTDIR/$file)
|
||||
if [ "$origsum" != "$filesum" ]; then
|
||||
msg_error "SHA256 checksum doesn't match for $file."
|
||||
fi
|
||||
|
@ -47,7 +47,7 @@ fetch_update_cksum()
|
|||
local tmpl="$XBPS_TEMPLATESDIR/$pkgname/template"
|
||||
local upcmd=$(basename $XBPS_SRCDISTDIR/$1)
|
||||
|
||||
sed -i -e "s|checksum.*|checksum=$(xbps-digest.static ${upcmd})|" $tmpl
|
||||
sed -i -e "s|checksum.*|checksum=$(${XBPS_DIGEST_CMD} ${upcmd})|" $tmpl
|
||||
return $?
|
||||
}
|
||||
|
||||
|
|
|
@ -213,7 +213,7 @@ xbps_write_metadata_pkg_real()
|
|||
echo "<key>file</key>" >> $TMPFPLIST
|
||||
echo "<string>$j</string>" >> $TMPFPLIST
|
||||
echo "<key>sha256</key>" >> $TMPFPLIST
|
||||
echo "<string>$(xbps-digest.static $f)</string>" \
|
||||
echo "<string>$(${XBPS_DIGEST_CMD} $f)</string>" \
|
||||
>> $TMPFPLIST
|
||||
echo "</dict>" >> $TMPFPLIST
|
||||
done
|
||||
|
@ -244,7 +244,7 @@ xbps_write_metadata_pkg_real()
|
|||
echo "<key>file</key>" >> $TMPFPLIST
|
||||
echo "<string>$f</string>" >> $TMPFPLIST
|
||||
echo "<key>sha256</key>" >> $TMPFPLIST
|
||||
echo "<string>$(xbps-digest.static ${i})</string>" \
|
||||
echo "<string>$(${XBPS_DIGEST_CMD} ${i})</string>" \
|
||||
>> $TMPFPLIST
|
||||
echo "</dict>" >> $TMPFPLIST
|
||||
done
|
||||
|
@ -258,6 +258,8 @@ xbps_write_metadata_pkg_real()
|
|||
# Write the props.plist file.
|
||||
local TMPFPROPS=$(mktemp -t fprops.XXXXXXXXXX) || exit 1
|
||||
|
||||
local instsize=$(du -sk ${DESTDIR}|awk '{print $1}')
|
||||
|
||||
cat > $TMPFPROPS <<_EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
|
@ -270,7 +272,7 @@ xbps_write_metadata_pkg_real()
|
|||
<key>architecture</key>
|
||||
<string>$arch</string>
|
||||
<key>installed_size</key>
|
||||
<integer>$(du -sb ${DESTDIR}|awk '{print $1}')</integer>
|
||||
<integer>$(($instsize * 1024))</integer>
|
||||
<key>maintainer</key>
|
||||
<string>$(echo $maintainer|sed -e 's|<|[|g;s|>|]|g')</string>
|
||||
<key>short_desc</key>
|
||||
|
@ -345,8 +347,8 @@ _EOF
|
|||
mv -f $TMPFPLIST ${DESTDIR}/files.plist
|
||||
mv -f $TMPFPROPS ${DESTDIR}/props.plist
|
||||
|
||||
$XBPS_REGPKGDB_CMD sanitize-plist ${DESTDIR}/files.plist
|
||||
$XBPS_REGPKGDB_CMD sanitize-plist ${DESTDIR}/props.plist
|
||||
$XBPS_PKGDB_CMD sanitize-plist ${DESTDIR}/files.plist
|
||||
$XBPS_PKGDB_CMD sanitize-plist ${DESTDIR}/props.plist
|
||||
chmod 644 ${DESTDIR}/files.plist ${DESTDIR}/props.plist
|
||||
[ -f $metadir/flist ] && chmod 644 $metadir/flist
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ list_pkg_files()
|
|||
|
||||
[ -z $pkg ] && msg_error "unexistent package, aborting."
|
||||
|
||||
ver=$($XBPS_REGPKGDB_CMD version $pkg)
|
||||
ver=$($XBPS_PKGDB_CMD version $pkg)
|
||||
[ -z "$ver" ] && msg_error "$pkg is not installed."
|
||||
|
||||
cat $XBPS_PKGMETADIR/$pkg/flist
|
||||
|
@ -160,7 +160,7 @@ remove_pkg()
|
|||
fi
|
||||
done
|
||||
|
||||
ver=$($XBPS_REGPKGDB_CMD version $pkg)
|
||||
ver=$($XBPS_PKGDB_CMD version $pkg)
|
||||
[ -z "$ver" ] && msg_error "$pkg is not installed."
|
||||
|
||||
. $XBPS_SHUTILSDIR/stow_funcs.sh
|
||||
|
|
|
@ -106,7 +106,7 @@ stow_pkg_real()
|
|||
else
|
||||
lver="${version}"
|
||||
fi
|
||||
$XBPS_REGPKGDB_CMD register $pkg $lver "$short_desc" || exit 1
|
||||
$XBPS_PKGDB_CMD register $pkg $lver "$short_desc" || exit 1
|
||||
return $?
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,7 @@ unstow_pkg()
|
|||
|
||||
run_template $pkg
|
||||
|
||||
ver=$($XBPS_REGPKGDB_CMD version $pkg)
|
||||
ver=$($XBPS_PKGDB_CMD version $pkg)
|
||||
if [ -z "$ver" ]; then
|
||||
msg_error "$pkg is not installed."
|
||||
fi
|
||||
|
@ -165,6 +165,6 @@ unstow_pkg()
|
|||
rm -rf $XBPS_PKGMETADIR/$pkg
|
||||
|
||||
# Unregister pkg from plist file.
|
||||
$XBPS_REGPKGDB_CMD unregister $pkg $ver
|
||||
$XBPS_PKGDB_CMD unregister $pkg $ver
|
||||
return $?
|
||||
}
|
||||
|
|
|
@ -107,8 +107,11 @@ set_defvars()
|
|||
[ ! -d "$val" ] && msg_error "cannot find $i, aborting."
|
||||
done
|
||||
|
||||
XBPS_REGPKGDB_CMD="xbps-pkgdb -r $XBPS_MASTERDIR"
|
||||
XBPS_BIN_CMD="xbps-bin -r $XBPS_MASTERDIR"
|
||||
export XBPS_PKGDB_CMD="xbps-pkgdb.static -r $XBPS_MASTERDIR"
|
||||
export XBPS_BIN_CMD="xbps-bin.static -r $XBPS_MASTERDIR"
|
||||
export XBPS_DIGEST_CMD="xbps-digest.static"
|
||||
export XBPS_CMPVER_CMD="xbps-cmpver.static"
|
||||
export XBPS_FETCH_CMD="xbps-fetch.static"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -148,7 +151,7 @@ check_config_vars()
|
|||
fi
|
||||
done
|
||||
|
||||
export PATH="$PATH:@@XBPS_INSTALL_PREFIX@@/sbin"
|
||||
export PATH="@@XBPS_INSTALL_PREFIX@@/sbin:$PATH"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -217,7 +220,7 @@ build-pkg)
|
|||
. $XBPS_SHUTILSDIR/tmpl_funcs.sh
|
||||
if [ "$2" = "all" ]; then
|
||||
for f in $($XBPS_BIN_CMD list|awk '{print $1}'); do
|
||||
pkg=$(xbps-pkgdb getpkgname $f)
|
||||
pkg=$(${XBPS_PKGDB_CMD} getpkgname $f)
|
||||
setup_tmpl ${pkg}
|
||||
if [ "$pkg" = "$sourcepkg" ]; then
|
||||
xbps_make_binpkg ${pkg}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue