This patchset contains multiple changes to xbps-src and
its required package "base-chroot" for building packages
via chroot.
- moved xbps.d(5) conf files to `etc/xbps.d`.
- renamed xbps.d(5) repository files to `etc/xbps.d/repos-{local,remote}*`.
- do not set `--repository` to any xbps command that supports it,
xbps-src now simply populates `rootdir/etc/xbps.d` with correct
settings (taking care of CHROOT_READY/IN_CHROOT).
- Unless `-C` is set (to preserve builddir/destdir/autodeps), when
entering to the chroot (if CHROOT_READY is set), xbps-src will
clean up the masterdir and then perform a system update to always
use a constant set of packages for that exact date.
- Improved some normal/error msgs.
- Includes support for `xbps>=0.58`.
- common/hooks: switch to bsdtar.
- base-chroot:
- base-chroot-musl is gone, now unified for glibc/musl.
- deps removed: gettext, mpfr, readline, texinfo, which, xz.
- deps changed: tar -> bsdtar.
Effectively this reduces dependencies in `base-chroot`, makes
it unified for musl and glibc, switches xbps-src to use `bsdtar`
rather than GNU `tar` and `xz`, gets rid of useless host dependencies
like GNU gettext, texinfo, etc.
I've been testing these changes for 1 month or so already,
I was able to build from scratch `base-system` for both native
and multiple targets, i.e `./xbps-src -a target -Nt pkg base-system`
38 lines
633 B
Bash
Executable File
38 lines
633 B
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 "${0##*/}: invalid number of arguments: pkgname [cross-target]"
|
|
exit 1
|
|
fi
|
|
|
|
PKGNAME="$1"
|
|
XBPS_CROSS_BUILD="$2"
|
|
|
|
for f in $XBPS_SHUTILSDIR/*.sh; do
|
|
. $f
|
|
done
|
|
|
|
setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
|
|
|
|
XBPS_PATCH_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_patch_done"
|
|
|
|
if [ -f $XBPS_PATCH_DONE ]; then
|
|
exit 0
|
|
fi
|
|
|
|
for f in $XBPS_COMMONDIR/environment/patch/*.sh; do
|
|
source_file "$f"
|
|
done
|
|
|
|
run_step patch optional
|
|
|
|
touch -f $XBPS_PATCH_DONE
|
|
|
|
exit 0
|