At least since 0.53, the meson buildsystem checks whether the
"date" command's file is outdated and if it is, it'll trigger
regeneration of the build files.
Since the wrappers are reinstalled from scratch on every build step,
this would result in meson being re-run on each of those steps.
Which resulted in broken builds in some projects (e.g. efl) since
our meson build-style by default uses LTO and that requires the AR
environment variable being exported in a specific way, which was
only being done for the do_configure step but not build/install,
which resulted in meson being run with one env for configure and
another env for build, which broke everything.
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`
- Grepping whole files is inefficient
- git-instaweb (in git package) has the code to generate python file in
a here doc in the middle of its code, old hook generates false
positive with this package
- 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 lib32symlinks contains plain library names without a path as in
the case of glibc (lib32symlinks="ld-linux.so.2") the expression
${f%/*} is not empty, but returns the basename.
Handle that case by verifying that ${f%/*} is different from ${f}.
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
When cross building the gir files (*.gir, *.typelib) are installed
at ${DESTDIR}/usr/${XBPS_CROROSS_TRIPLET}/usr/* while they need to
be at ${DESTDIR}/usr/*
This hook is a temporary workaround until we can fix the cross gir
install to not insert the (as it seems) host's ${DESTDIR} into the
target's destination path.
Remove the temporary hack in polkit which is now handled by the hook.