Commit graph

178 commits

Author SHA1 Message Date
Leah Neukirchen d30a239d41 common/hooks: support application/x-pie-executable (from file 5.33). 2018-04-16 14:37:49 +02:00
Michael Gehring b9e321456b xbps-src: make -dbg packages depend on the pkgver they are generated from
Closes: #12161 [via git-merge-pr]
2018-03-05 19:50:05 -08:00
Jürgen Buchmüller 7c53259f00 create-xbps-metadata-scripts: indent with tabs 2018-01-15 14:32:42 +01:00
James Barnett 90b5c612ae Add hook and trigger to handle hwdb.d files
Adds a hook to check if /usr/lib/udev/hwdb.d is being modified. If so,
triggers 'udevadm hwdb --root=. --update'.

Closes: #9858 [via git-merge-pr]
2018-01-15 14:31:12 +01:00
Andrea Brancaleoni cb72dfc4cd wine: nopie_files 2017-11-29 19:28:02 +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 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
Christian Neukirchen fb830a2a37 hooks/post-install/06-strip-and-debug-pkgs.sh: bail out on non-PIE binaries in PIE builds.
Not tested extensively, in doubt needs twerking.
2016-05-17 14:58:33 +02:00
Enno Boland 6606995831 common/hooks: fix python shebang rewrite for multi-versioned packages 2016-03-27 12:25:27 +02:00
Enno Boland 4714ce6dcd hooks/post-install: fix python shebang rewriting. 2016-03-25 19:13:06 +01:00
Enno Boland eb2621ca46 hooks/post-install/07-rewrite-python-shebang.sh: use IFS and -r for read.
cc @chneukirchen
2016-03-22 09:03:11 +01:00
Enno Boland 830ca26644 hooks/post-install: add hook to rewrite unversioned python shebangs. 2016-03-21 20:48:12 +01:00
Jürgen Buchmüller c459dade15 gcc: add support for SOURCE_DATE_EPOCH environment
+ Create symlinks from gcc/patches/libcpp-source_date_epoch.patch to cross-*/files/
+ Make all the _apply_patch() functions the same
2016-03-08 13:49:52 +01:00
Jürgen Buchmüller 8d7c58ef9e cleanup-timestamp-macros: catch more mime-types 2016-03-07 16:10:55 +01:00
Jürgen Buchmüller 8ce51e70cf timestamp-macros: fix creation and add cleanup
As described in #3765
2016-03-07 09:46:34 +01:00
mid-kid f68bfd6575 common/hooks: Fix hooks when build_style=meta 2015-11-26 22:27:55 +01: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 e03593db73 xbps-src: remove vestiges of the systemd-services hook. 2015-07-11 11:30:09 +02:00
Andrea Brancaleoni 972a87ba9f hooks/post-install/04-create-xbps-metadata-scripts.sh: add binfmts trigger support 2015-06-22 13:49:11 +02:00
Juan RP 35bef58c7b hooks/strip: do not strip files at /usr/lib/debug. 2015-05-23 09:52:19 +02:00
Juan RP a56b465f1e hooks/xbps-metadata: only add systemd-service trigger if the buildopt is set. 2015-04-30 11:15:02 +02:00
Juan RP cd8a29cb62 hooks/strip: make sure to use strip(1) and not our wrapper. 2015-04-28 09:47:39 +02:00
jbu 87a5f1ecba xbps-src: Use @Gottox way to read path names 2015-04-27 14:15:18 +02:00
jbu 5b066f3564 xbps-src: fix handling of path names containing spaces 2015-04-27 10:22:18 +02:00
Juan RP f4019408ca hooks/remote-empty-dirs: switch back to my version that really works.
I'm not sure how the guy that submitted the PR tested it, but IT
DOES NOT WORK AS HE EXPECTED.
2015-04-26 09:46:02 +02:00
jbu ffefcc41a5 xbps-src: Don't print rmdir output 2015-04-25 13:30:11 +02:00
jbu 3a665efea1 xbps-src: Fix read loop for empty dirs; closes #1409 2015-04-25 13:26:18 +02:00
Juan RP 2164eddc33 hooks/create-metadata-scripts: fix INSTALL.msg for subpkgs.
The file should be renamed to <destdir>/INSTALL.msg not something else.

Close #1248
2015-04-01 15:08:28 +02:00
Christian Neukirchen 3f43576971 06-strip-and-debug-pkgs.sh: detect PIE binaries. 2015-03-07 20:59:51 +01:00
Juan RP 7339b81b43 xbps-triggers: system-accounts: introduce <account>_pgroup to set primary group.
While here also change default home directory to /dev/null if unset.
2015-02-23 22:09:20 +01:00
Juan RP 8bf5cb819a hooks/remove-la: remove all *.la even if those are symlinks. 2015-02-23 11:33:43 +01:00
Juan RP a44cd245bc hooks/create-xbps-scripts: print what triggers are being added. 2015-02-21 13:03:51 +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 56e4c861bd hooks/create-xbps-metadata-scripts: fix mktemp assignation.
When set -o ERR is set the exit case wasn't executed. From the bash
manual page:

"The ERR trap is not executed if the
failed command is part of the command list immediately following
a while or until keyword, part of the test in an if statement,
part of a command executed in a && or || list except the command
following the final && or ||, any command in a pipeline but the
last, or if the command's return value is being inverted using
!.  These are the same conditions obeyed by the errexit (-e)
option."
2015-02-01 09:09:38 +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 aed0f3ee0e xbps-src: fix hooks that are expected to be used in subpkgs. 2015-01-14 14:23:10 +01:00
Juan RP fc052bad5b hooks: remove common/hooks/post-install/04-create-xbps-vpkg-files.sh.
It's unnecessary with xbps>=0.42.
2014-12-22 11:19:52 +01:00
Juan RP 6e13dcbaff xbps-src: introduce XBPS_STATEDIR to store state files, logs and others.
XBPS_STATEDIR is created in XBPS_BUILDDIR/.xbps-${sourcepkg}-${version}
and contains logs and state files for all phases, as well as wrappers.

We can now inspect the output from all hooks.
2014-12-11 11:02:22 +01:00
Juan RP cc6b3134b8 hooks/pkglint: use xbps-query -Rs to check for shlib-requires in repos. 2014-12-10 09:32:28 +01:00
Juan RP 8ade12549f xbps-src: rename disable_debug to nodebug, to follow our naming convention. 2014-11-16 11:52:36 +01:00
Alessio Sergi d0b4ad9dfa hooks/post-install/remove-python-bytecode-files: quote arguments properly
This fixes the error 'find: paths must precede expression'.
2014-11-15 16:05:06 +01:00
Juan RP 8d033f5724 xbps-src: new hook to remove misc files (used for musl currently). 2014-11-10 12:16:31 +01:00
Juan RP 457fd7aefb xbps-src: respect XBPS_DEBUG_PKGS for bootstrap pkgs too. 2014-11-05 17:29:58 +01:00
Enno Boland 59cc3e0d45 replace nonfree=yes with repository=nonfree.
This way it is possible to set up package specific repositories for
i.e. specific devices.
2014-11-05 14:15:25 +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 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 86ba1ea9c5 hooks/strip: before stripping make sure files have write bit set.
... otherwise strip(1) errors out. Perl installs shlibs without write
bit set and results in EPERM errors.

Perl could be fixed instead, but meanwhile this works.
2014-10-12 08:56:32 +02:00
Juan RP dbfb3a2b81 hooks/strip-and-debug: do not override file perms.
... otherwise additional perms are lost, always resulting in non setuid bins.
2014-10-12 07:23:06 +02:00
Juan RP b2976da1c8 xbps-src: use "disable_debug" to disable -dbg subpkg creation. 2014-10-11 09:57:27 +02:00
Juan RP c920736289 xbps-src: hooks/strip: ignore debug files; set proper perms to files. 2014-09-27 07:19:42 +02:00
Eivind Uggedal 0dd6cc5e6d hooks/remove-localized-manpages: whitelist all sections 2014-09-23 15:43:20 +00:00
Eivind Uggedal 1bcb1ec77d new hook: post-install/01-remove-localized-manpages.sh 2014-09-22 13:58:50 +00:00
Juan RP c2b011a98a Implement support for {INSTALL,REMOVE}.msg files (fix #454). 2014-09-15 16:20:25 +02:00
Juan RP 26d7f0885c xbps-src: fix the mess with the pkglint hook and glibc dynamic linker sonames. 2014-09-10 13:04:46 +02:00
Juan RP 21a1d23fe5 hooks/strip-and-debug-pkgs: make regexp a bit more generic to match more cases.
ld-linux sonames from glibc, were not matched resulting in incomplete
shlib-provides. The regexp now allows sonames without the "lib" prefix.
2014-09-10 11:59:13 +02:00
Juan RP 289bc58776 xbps-src: added support to append additional shlibs to shlib-{provides,requires}. 2014-09-10 11:23:33 +02:00
Juan RP b019b5df6f hooks/generate-runtime-deps: also make "virtual?" subst on noarch/noverifyrdeps pkgs. 2014-08-26 09:58:58 +02:00
Juan RP aec1b80e86 hooks/generate-gitrevs: fallback to the git cmd for bootstrap builds. 2014-08-26 07:53:31 +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 e13c7ffe78 hooks/prepare-32bit: fix shlib-provides detection for non subpkgs. 2014-08-18 13:43:39 +02:00
Juan RP f06932f34d hooks/prepare-32bit: even more debugging. 2014-08-18 13:17:49 +02:00
Juan RP 344ca13dab hooks/prepare-32bit: add some more debugging to see what's going on. 2014-08-18 13:11:46 +02:00
Juan RP f1822d43af hooks/prepare-32bit: update paths to lib32 correctly in pkgconfig files. 2014-08-18 10:54:33 +02:00
Juan RP cdc60029eb hooks/prepare-32bit: convert -devel pkgs to 32bit to have proper rdeps. 2014-08-18 10:12:37 +02:00
Juan RP 9d50c2fb05 xbps-src: use "virtual?" keyword to declare virtual runtime dependencies.
The syntax "pkg?vpkg" can be used in hostmakedepends, makedepends and depends;
but the "virtual" keyword can be declared specifically for runtime dependencies
(depends).
2014-08-17 19:21:25 +02:00
Juan RP 7ab7ba07fd hooks/create-xbps-metadata-scripts: fix system account props. 2014-08-03 17:21:23 +02:00
Juan RP 53655c45e8 hooks/xbps-metadata-scripts: add support for system_accounts=foo:uid. 2014-07-30 11:09:51 +02:00
Juan RP af6ee5374e xbps-src: s/git/chroot-git/g 2014-07-27 16:29:18 +02:00
Juan RP a29e0f1f9d hooks/prepare-32bit: fix shlib-provides detection for subpkgs. 2014-07-23 12:54:37 +02:00
Juan RP f6c46a3c99 hooks/post-install/prepare-32bit: fix rdep conversion with subpkgs.
If a required dependency is a subpackage and it does not contain shlib-provides,
do not convert to 32bit.

This fixes the issue of gtk+-32bit requiring gtk-update-icon-cache-32bit,
which was simply wrong because the latter does not provide any shlib.
2014-07-20 11:18:21 +02:00
Juan RP 85a0d8034e hooks/uncompress-manpages: make it less verbose. 2014-07-12 17:10:40 +02:00
Christian Neukirchen 825d751b03 new hook: post-install/00-uncompress-manpages.sh 2014-07-07 23:27:44 +02:00
Juan RP cf49b68c09 hooks/generate-gitrevs: simplify and just use "sourcepkg:gitshortrev".
Previous way was way too slow and somewhat redundant. Just with the
latest git short rev is enough to know at what point a pkg was built.
2014-06-27 12:00:24 +02:00
Juan RP ac91238431 xbps-src: added "pycompile_version" to specify python version used in the pycompile trigger. 2014-06-18 11:31:32 +02:00
Juan RP b8aa34ce24 xbps-src: hooks/create-xbps-vpkg-files: create vpkg conf files in usr/share/xbps/virtualpkg.d. 2014-06-10 09:27:52 +02:00
Juan RP 1de0985964 hooks/prepare-32bit: take into account subpkgs to transform rdeps.
This is not perfect but will work in 90% of existing cases.
2014-05-28 15:20:23 +02:00
Juan RP 7824268597 hooks/prepare-32bit: reset vars just in case. 2014-05-28 14:08:20 +02:00
Juan RP 418aa2f9d3 hooks/prepare-32bit: in full mode also preserve usr/lib, moving it to usr/lib32. 2014-05-28 12:41:25 +02:00
Juan RP 0a79466aba hooks/prepare-32bit: remove lib32 symlink in lib32mode=full, unnecessary. 2014-05-27 18:48:18 +02:00
Juan RP f20f841c21 hooks/generate-runtime-deps: fix c093b9f and use the correct shlib. 2014-05-23 11:58:45 +02:00
Juan RP c093b9f521 hooks/generate-runtime-deps: if required shlib is provided by any subpkg, use it. 2014-05-23 11:46:46 +02:00
Juan RP 8c8a7def1c hooks/post-install/strip: do not create dbg subpkgs if nonfree is set. 2014-05-10 16:22:13 +02:00
Juan RP 84ee8f9230 hooks/post-install/99-pkglint: print correct shlib for unversioned shlibs not in common/shlibs. 2014-05-09 09:24:04 +02:00
Juan RP 9df1aa3b4e hooks/post-install/create-xbps-metadata-scripts: make sure to finalize scripts correctly.
The issue was that if a pkg does not add the missing newline at INSTALL
or REMOVE scripts, those were generated with a syntax error.

Found by onekk.
2014-04-14 10:41:06 +02:00
Juan RP cc6ea5d19b hooks/post-install/pkglint: more tweaks for the shlib checks. 2014-04-09 09:25:05 +02:00
Juan RP e573017385 hooks/post-install/pkglint: fixed another issue in the shlib checks. 2014-04-09 08:55:43 +02:00
Juan RP f6309d0909 hooks/post-install/strip-debug: repair -dbg subpkg creation. 2014-04-08 17:59:26 +02:00
Juan RP 77451b1845 Use --libdir=/usr/lib32 on x86 and create/remove the symlink via hooks.
This is to make all pkgs that use ${configure_args} work without changes
to the templates on x86_64.
2014-04-05 11:52:22 +02:00
Juan RP 00a8873281 hooks/post-install/pkglint: when listing revdeps make sure to not add false positives. 2014-04-04 17:29:14 +02:00
Juan RP 3ecb3c26fa hooks/post-install/pkglint: repair and improve checks to detect soname bumps. 2014-04-04 17:24:47 +02:00
Juan RP fc2c2c06ae hooks/post-install/strip: another day, another better regexp for shlib-provides. 2014-04-03 10:30:56 +02:00
Juan RP 8fa3cba4ea hooks/post-install/remove-libtool: do not escape * to make this work with virtuoso. 2014-04-02 12:39:58 +02:00
Juan RP 8fcb0e644a hooks/post-install/remove-libtool: make sure that PKGDESTDIR exists. 2014-04-02 12:06:27 +02:00
Juan RP 7d7e821754 hooks/post-install/strip: better regexp for shlib-provides from Gottox. 2014-04-02 10:16:16 +02:00
Juan RP 4859885e58 hooks/post-install: pkglint: just warn if shlib is not found in common/shlibs. 2014-04-01 15:25:07 +02:00
Juan RP 1d13ed0810 hooks/post-install: strip: only accept shlibs in destdir/usr/lib for shlib-provides.
This avoids lots of false positives and accepts unversioned shlibs as well.
2014-04-01 15:14:43 +02:00
Juan RP 581f3e29ab hooks: pkglint: only match exact shlibs (avoids multiple matches). 2014-03-31 18:14:52 +02:00
Juan RP efde1e1fbf hooks: improve shlib-provides: accept unversioned shlibs (i.e libfoo.so [nspr/nss]). 2014-03-31 18:13:53 +02:00
Juan RP 19f3a64de8 hooks/post-install/06-prepare-32bit.sh: do not convert deps that don't have shlib-provides. 2014-03-30 13:07:33 +02:00
Juan RP ce7c827d56 hooks: fixed shlib-provides detection to also detect shlibs with dots after dashes (libbabl-0.1.so.0). 2014-03-29 13:14:08 +01:00