Commit Graph

127 Commits

Author SHA1 Message Date
maxice8 a105e6b887 hooks/pre-pkg/05-prepare-32bit: handle files with spaces 2019-04-06 11:19:52 -03:00
John f27e41dda7 common/hooks/pre-pkg/generate-runtime-deps: fix usage of skiprdeps in subpackages 2019-02-16 17:53:37 +01:00
Enno Boland 6eb37e35b2 common: merge only_for_archs and noarch=yes into one.
* 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 "*"
2019-02-15 13:19:44 +01:00
maxice8 f90418ca33
hooks/99-pkglint-subpkgs.sh: match name until end of line 2019-02-09 02:19:56 -02:00
maxice8 ab96ff356e
xbps-src/hooks: most 05-rename-python3-c-bindings to post-install 2019-02-02 14:40:05 -02:00
maxice8 ff196d112f
05-rename-python3-c-bindings.sh: fix 2019-01-31 15:20:03 -02:00
maxice8 1a0ce0e066 hooks/pre-pkg/05-rename-python3-c-bindings.sh: introduce 2019-01-31 15:08:13 -02:00
maxice8 f6c595619c hooks/pre-pkg/99-pkglint-subpkgs.sh: fix case where grep doesn't match 2019-01-29 23:14:59 -02:00
maxice8 c5d40ba078 hooks/pre-pkg: add pkglint-subpkgs hook 2019-01-27 10:20:32 +01:00
maxice8 9251941c99 hooks/pre-pkg: prohibit /usr/doc, mention /usr/share/doc 2018-12-20 16:33:35 -02:00
maxice8 7bd2eaea34 hooks/pre-pkg: deal with packages that install to /etc but should use
/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.
2018-12-10 20:16:25 -02:00
maxice8 d1a14f90be hooks/pre-pkg: deal with packages using /etc/bash_completion.d
Detect when it is used and suggest
/usr/share/bash-completion/completions instead.
2018-12-07 12:30:20 +01:00
Cameron Nemo 61065bcb1f hooks/pre-pkg: safely pass arguments to printf 2018-11-18 20:30:04 +01:00
Toyam Cox 1edc8846ca xbps-src: Migrate from build_style for 32bit pkgs
This allows dxpb to have a simpler test for whether or not a 32bit
package will be built.
2018-10-04 10:28:27 +02:00
Michael Gehring 7186589618 common/hooks/pre-pkg/04-generate-runtime-deps.sh: remove unused variable 2018-08-20 12:03:31 -03:00
Alessio Sergi 0c06da09e4 Revert "common/hooks: add hook to check python dependencies"
This reverts commit 3b1f5272b9.
2018-06-05 16:17:27 +02:00
Enno Boland 3b1f5272b9 common/hooks: add hook to check python dependencies 2018-06-05 09:22:30 +02:00
Enno Boland 3d8549991b
common/hooks: fix support for application/x-pie-executable 2018-04-16 21:37:48 +02:00
Leah Neukirchen d30a239d41 common/hooks: support application/x-pie-executable (from file 5.33). 2018-04-16 14:37:49 +02:00
Jürgen Buchmüller f274d7728c
04-generate-runtime-deps.sh: introduce skiprdeps
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>
2018-04-10 17:54:13 +02:00
Enno Boland 571e42ffce 03-rewrite-python-shebang.sh: don't rewrite versioned python scripts (#6155)
fixes #6151.
2017-04-17 08:49:06 +02:00
Alessio Sergi 29c37543cf xbps-src: introduce python_version 2016-11-17 17:42:54 +01:00
Alessio Sergi 8cb79d7a30 python-setuptools: update to 28.8.0 2016-11-10 10:06:26 +01:00
Alessio Sergi d77d6cde40 xbps-src: limit the search to the /usr/lib/pythonX.Y directory 2016-10-27 15:22:54 +02:00
Alessio Sergi b6bc28251b hooks/rewrite-python-shebang: s/pycompile_version/pyver/ 2016-10-24 10:18:49 +02:00
Alessio Sergi 5a231f8c13 hooks/rewrite-python-shebang: bin-only scripts support 2016-10-24 08:09:54 +02:00
Alessio Sergi 4e6576e7a4 xbps-src: add support for python3 pkgs
- 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)
2016-10-16 16:59:31 +02:00
Juan RP d2bac19750 xbps-src: re-introduce etc/virtual.
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.
2016-04-27 20:16:59 +02:00
Juan RP 054a73caf2 hooks/rewrite-python-shebang: simplify and check for unset $off correctly. 2016-04-17 17:13:06 +02:00
Enno Boland c07e381f94 hooks/pre-pkg: fix "integer expression expected" error. 2016-04-01 08:08:52 +02:00
Enno Boland 05b15f6f4f common/hooks: look for pycompile_version to identify python version.
Also prepary python 3.5
2016-03-27 15:14:02 +02:00
Enno Boland 6606995831 common/hooks: fix python shebang rewrite for multi-versioned packages 2016-03-27 12:25:27 +02:00
Christian Neukirchen a3a0303673 common/hooks/pre-pkg/05-prepare-32bit.sh: create needed subdirectories for lib32symlinks. 2016-03-07 18:42:34 +01:00
Enno Boland b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland 3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Enno Boland 3b8c53d702 hooks/pre-pkg: do not dereference symbolic links while rewriting mtimes. 2016-02-23 08:25:29 +01:00
Enno Boland c83a4d96c4 hooks/pre-pkg: mtime rewriting is default on now. 2016-02-23 08:05:43 +01:00
Enno Boland 16050ad3f2 hooks/pre-pkg: fixed mtime support for packages.
overwrites the mtime of all files in a package with the commit-date
of the package.
2016-02-19 16:21:56 +01:00
Enno Boland 82b736b616 common: expand_destdir rewrite 2015-11-18 11:19:09 +01:00
Enno Boland 18e288fd2c common: remove unneccessary 'source's; move extglob.sh to install 2015-11-18 10:21:33 +01:00
Enno Boland ef24b7b7cc common: move expand_destdir to environment/pkg; change lint check. 2015-11-18 10:21:33 +01:00
Juan RP 33e3afecf9 xbps-src: do not allow empty PKGDESTDIR unless build_style!=meta. 2015-11-13 13:05:36 +01:00
Christian Neukirchen e3f0ce021e pre-pkg/06-shlib-provides.sh: revamp soname registration.
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.
2015-10-06 20:17:28 +02:00
Christian Neukirchen 085f6452ad pre-pkg/06-shlib-provides.sh: shlib-provide all versioned libraries
Previously we provided all libraries in /usr/lib{,32}.
Now we provide all libraries with a versioned SONAME anywhere.
2015-10-05 14:46:32 +02:00
Juan RP bcdacb66a0 xbps-src: replace basename(1) with ${var##*/}.
Reduce number of fork+exec due to using a subshell to execute basename(1).
2015-09-11 07:55:40 +02:00
Juan RP 2fad5b3d5d xbps-src/hooks/pkglint: error out if DESTDIR/usr/sbin exists. 2015-06-03 14:13:31 +02:00
Juan RP 2080de1414 hooks/pkglint: check that all files in conf_files really exist. 2015-04-05 18:41:01 +02:00
Juan RP 607d2aee5b hooks/shlib-provides: only process .so* files. 2015-03-26 04:13:03 +01:00
Juan RP ef9056ec30 hooks: move pkglint to the pre-pkg phase to make this work again. 2015-02-08 11:21:47 +01:00
Juan RP 84b56a438f hooks/shlib-provides: fix inverted condition. 2015-02-07 10:04:03 +01:00
Juan RP 75cbc878a9 hooks/shlib-provides: if pkg sets shlib_provides do not skip it. 2015-02-07 09:53:21 +01:00
Juan RP 5725a2e0ae xbps-src: introduce "noshlibprovides" to skip shlib-provides detection. 2015-02-05 11:37:10 +01:00
Juan RP 6c395cb76e xbps-src: create a new hook that collects shlib-provides.
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.
2015-01-30 12:20:00 +01:00
Juan RP d104a99fa0 hooks/prepare-32bit: introduce lib32symlinks.
- 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.
2015-01-28 16:29:45 +01:00
Juan RP 38c9ebf6df hooks/prepare-32bit: do not create 32bit pkgs for perl/python/ruby modules. 2015-01-19 10:49:56 +01:00
Juan RP 3735ead3dc hooks/prepare-32bit: subst /usr/lib to /usr/lib32 in lib32files. 2015-01-13 15:51:01 +01:00
Juan RP 568c2a032b hooks: strip: move to post-install to generate shlib-provides for all pkgs.
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.
2014-10-28 09:06:16 +01:00
Juan RP 033c4ed0f5 xbps-src: remove WIP repo delta support.
- it never worked correctly
- it's WIP and looks like it will be stalled forever
- won't be necessary anymore with xbps-0.42
2014-10-14 19:19:07 +02:00
Juan RP 1cee26a59f xbps-src: hooks: reorganize some hooks.
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.
2014-10-14 19:19:07 +02:00
Juan RP 3fdd0e180e xbps-src: run pre-pkg hooks in the install to destdir target.
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!
2014-08-25 22:34:13 +02:00
Juan RP b0aedbb03a xbps-src: added -D to generate repository binary deltas; disabled for now. 2014-08-14 12:28:27 +02:00
Juan RP 234a4fd685 hooks/xdelta: use silent output; those warnings are too noisy. 2014-08-14 08:56:48 +02:00
Enno Boland 0f20ab1139 common/hooks: delta creation: only generate own delta for own XBPS_TARGET_MACHINE 2014-08-13 22:30:51 +02:00
Enno Boland b317e8ff03 common/hooks: delta creation: don't hide stderr 2014-08-13 22:22:38 +02:00
Enno Boland e8d0b810b1 common/hooks: remove file before copy 2014-08-13 22:21:03 +02:00
Enno Boland d29b40ee46 common/hooks: use ln -f instead of cp 2014-08-13 22:19:30 +02:00
Enno Boland 179c07cc30 common/hooks: use cp instead of ln 2014-08-13 22:17:10 +02:00
Juan RP c0afddcdbc hooks/xdelta: style twerks. 2014-08-13 21:59:20 +02:00
Enno Boland bdb339f5fa common/hooks: remove config variable enable vcdiff generation. 2014-08-12 09:42:05 +02:00
Enno Boland f4544b82a6 common/hooks: add support for vcdiff creation 2014-08-11 18:05:13 +02:00
Juan RP aa83852d7b common/hooks: add support for do-<phase> hooks as suggested by Gottox.
- New hooks for do-fetch and do-extract moved from xbps-src.
- Renamed some hooks to have XX as prefix.
2014-03-05 11:02:37 +01:00
Juan RP 908af511f9 common/hooks: new hook to generate 32bit pkgs for x86_64 (WIP). 2014-03-02 12:26:24 +01:00
Juan RP 030f58909f common/hooks: new post-install hook to generate pkg gitrevs file. 2014-03-02 08:33:28 +01:00
Juan RP 370c2aaf3c common/hooks/*-pkg: misc tweaks for proper -dbg {creat,registrat}ion. 2014-03-02 07:07:59 +01:00
Juan RP b3200722ef comon/hooks: update pkg hooks to also create/register -dbg pkgs. 2014-03-02 06:30:25 +01:00
Juan RP 745eb9f1ad common/hooks/pre-pkg: new hook that generates a binpkg. 2014-03-01 12:37:30 +01:00
Juan RP 372ed2763f Introduce common/hooks to implement hooks at specified phases.
xbps-src will soon move some stuff to the common hooks directory.
2014-02-12 10:44:21 +01:00