xbps-src: base-chroot-v2 (reduce artifacts/deps)
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`
This commit is contained in:
@@ -129,20 +129,4 @@ if [ -n "$XBPS_DEPENDENCY" -o -z "$XBPS_KEEP_ALL" ]; then
|
||||
remove_pkg_statedir
|
||||
fi
|
||||
|
||||
# If base-chroot not installed, install "base-files" into masterdir
|
||||
# from local repository; this is the only pkg required to be able to build
|
||||
# the bootstrap pkgs from scratch.
|
||||
if [ -z "$CHROOT_READY" -a "$PKGNAME" = "base-files" ]; then
|
||||
msg_normal "Installing $PKGNAME into masterdir...\n"
|
||||
_log=$(mktemp) || exit 1
|
||||
XBPS_ARCH=$XBPS_MACHINE $XBPS_INSTALL_CMD -yf $PKGNAME >${_log} 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_red "Failed to install $PKGNAME into masterdir, see below for errors:\n"
|
||||
cat ${_log}
|
||||
rm -f ${_log}
|
||||
msg_error "Cannot continue!\n"
|
||||
fi
|
||||
rm -f ${_log}
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -20,10 +20,6 @@ done
|
||||
|
||||
setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
|
||||
|
||||
for f in $XBPS_COMMONDIR/environment/patch/*.sh; do
|
||||
source_file "$f"
|
||||
done
|
||||
|
||||
XBPS_PATCH_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_patch_done"
|
||||
|
||||
if [ -f $XBPS_PATCH_DONE ]; then
|
||||
|
||||
Reference in New Issue
Block a user