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`
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the show-build-deps target is now much faster.
- the update-bulk/show-repo-updates targets are now much faster.
- the update-sys/show-sys-updates targets are now much faster.
- the bootstrap target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.
Based on work started by @Duncaen on #12433Close#12433Close#11282
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the `show-build-deps` target is now much faster.
- the `update-bulk/show-repo-updates` targets are now much faster.
- the `update-sys/show-sys-updates` targets are now much faster.
- the `bootstrap` target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.
Based on work started by @Duncaen on https://github.com/void-linux/void-packages/pull/12433
Close https://github.com/void-linux/void-packages/pull/12433
Close https://github.com/void-linux/void-packages/pull/11282
- If -H (hostdir) is unset, it now defaults to xbps-packages/hostdir. This way
a single hostdir can be shared by multiple masterdirs without any tweak.
- If bootstrap pkg are installed via 'binary-bootstrap arch', add support to
reexec xbps-src with linux32 to allow 32bit builds without any tweak or
additional commands.
- Remove lib/info.c that doesn't belong in the lib and add it into the
bins.
- Every binary now uses its own directory on bin/.
This is in preparation for future changes for correct behaviour of
the library and binaries.
--HG--
extra : convert_revision : 880d16378bf940c4f5478de0362afe883cd5fd2c
It's explained in the BINPKG_INFO.txt file, and will be extended
probably in a not so distant future. My next work will be working
in the code to handle binary packages with a new utility in C.
--HG--
extra : convert_revision : 1a1846e330fdb11f3dd79cf9d9f12c614098cfe8
Two new utilities in C have been created:
- xbps-digest: shows the SHA256 hash for a file.
- xbps-pkgdb: handles dependency stuff via proplib.
Templates should use now $build_depends and change $checksum to be
a SHA256 hash. That means that I'm currently using xbps on Linux and
I lost interest on NetBSD, perhaps I'll add support for it in the
future.
Only git and its dependencies have been converted, as well as vim.
--HG--
extra : convert_revision : 53a7e030ca6b6d02bb6cd3e51d42b7d5702c1b57