* 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 "*"
/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.
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>
- 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.
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.
This is necessary to be able to collect shlib-provides for 32bit pkgs,
which are autogenerated.
The strip-and-debug-pkgs hook now just does what its name mentions:
strip binaries and create -dbg pkgs.
- This creates a symlink of a file stored in usr/lib32 to usr/lib.
- This expects basename of files stored in usr/lib32.
- This is required by an upcoming change to the glibc pkg.
That was the missing piece to generate proper dependencies in 32bit
packages with subpkgs that depended in other subpkgs.
For example kmod: libkmod and libkmod-devel. libkmod-devel was being processed
before libkmod, and due to missing shlib-provides a dependency to the 64bit
package was generated.
The strip-and-debug-pkgs/generate-runtime-deps hooks have been moved
to the pre-pkg stage, and are run before prepare-32bit; this way dependencies
are collected correctly in all cases.
The prepare-32bit hook has been moved to the pre-pkg stage and now
those hooks are executed as part of the install phase. That means that
pre-pkg hooks are now independently run for the subpkgs and the sourcepkg
after the install-destdir phase and pre/do/install hooks.
As bonus, finally correct rdeps can now be collected for the 32bit pkgs
and works for all them, without the need to sort the order of subpkgs!