- 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.
* noarch=yes is replaced with archs=noarch
* only_for_archs= is renamed to archs=
* archs= allows the use of wildcards and negations; first matching rule applies:
* archs="*-musl" will build the pkg only for musl-libcs
* archs="~*-musl" will build the pkg only on non-musl-libc
* archs="x86_64-musl ~*-musl" will build for x86_64-musl and any non-musl
arch.
* archs= defaults to "*"
In case when file to be uncompressed existed, decompressors asked
whether to overwrite it.
As output is muted, building hung silently waiting for input.
should be added.
This hooks checks installed files of all packages that do not end
in -devel and warn when certain paths are found that should be in
the -devel package like:
- /usr/include
- /usr/lib/*.so
- /usr/lib/*.a
- /usr/[lib|share]/[pkg-config|cmake]
- /usr/share/vala
- /usr/share/gir-1.0
/usr/lib
some packages install stuff to places like /etc/udev/rules.d and
/etc/modprobe.d.
That is wrong, they should use their equivalents in /usr/lib.
This commits allows ./xbps-src show to show the changelog field and for
changelog to be included with the -c/--changelog option via xbps-create.
Closes: #14102 [via git-merge-pr]
Yet another variable to permit skipping of runtime dependency checks
for a list of files, specifying their absolute path in the $DESTDIR,
allows us to handle known bad detections due to e.g. binaries or
shared libraries not meant to be run or loaded in the host.
This will be used to fix the android-studio template to skip
a number of files which would create a bogus dependency on libc.so.
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
Add support for contents checksums. This is meant to be used for tarballs
like the ones coming from https://*.googlesource.com/ which on every download
change their outer checksum due to being packaged with different date/time
stamps or similar.
If such a distfile still contains the same files as the author of a template
found, then the checksum of its contents can be specified by prepending a
commercial at (@) to the corresponding checksum="..." line.
Depending on the format of the distfile its entire contents will then be
piped into sha256sum and the resulting digest is verified against what
follows after the @.
- python_module build style now builds modules for python2/3 by default
- new python2_module and python3_module build styles for building
python2-only and python3-only packages respectively
- no more python_versions
- no need to define pycompile_version for Python modules anymore
(still needed for non-Python modules though)
- Python version and paths are now guessed automatically and a set of
useful variables can now be used in templates
- #!/usr/bin/python2 and #!/usr/bin/python3 are now the default shebangs
- /usr/bin/foo2 and /usr/bin/foo3 are now the default names for bin
scripts (for use with alternatives)
The `etc/virtual` file declares the default package to be built for
virtual dependencies declared as "virtual?foo" in $depends.
Before this change, the run-time dependency was added as is to the final
binary package but no pkg providing this virtual pkg was built.
With this file we declare the *default* pkg to be built.
NOTE: "virtual?foo" is only applicable to *run* time dependencies, i.e
only those declared in $depends.
If a distfile changed its checksum (SHA256) without at the same time
also changing its version, the distfile cache needs to be purged.
This is done by verifying only for already existing distfiles that the
specified checksum matches. If it does not, the file and its entry in
/host/sourcers/by_sha256 are purged using the inode number of the file.
The second loop then as usual fetches the distfiles and verifies their
checksum against the list entry.
+ drbd-utils fix checksum and also build + cross build
This may have side effects do other packages but it was needed to fix
gnome-online-accounts for cross build. goa ships a subproject that uses
this vars to link against it. This commit changes the pkg-config that it
preserves values in PKG_CONFIG_* if set.
We now register all versioned sonames, and unversioned sonames only
when in libdir. (E.g. libdb and tcl use version numbers in the
library name, and have unversioned sonames.)
Closes#2699.
XBPS_PKG_COMPTYPE can be set via etc/conf to set your preferred compression
format; defaults to xz, like xbps-create(1).
The "none" setting is only available since 0.48 (unreleased).
The idea is to remove some burden from the original download
locations for distfiles by specifying one or more mirror locations.
+ Works with http:// or ftp:// mirrors for all $XBPS_CHROOT_CMD variants
+ Works with file:// mirrors together with uchroot and proot