Commit graph

141 commits

Author SHA1 Message Date
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
Juan RP
a11fd5dce8 hooks: improve even more shlib-provides detection: accept sonames with '-' chars. 2014-03-29 12:13:12 +01:00
Juan RP
2988902496 hooks: improve shlib-provides detection as suggested by Gottox. 2014-03-29 11:47:59 +01:00
Juan RP
f32e0b76d7 hooks/post-install/99-pkglint: make the shlibs checks work correctly with vpkgs. 2014-03-27 14:00:11 +01:00
Juan RP
d60be31450 hooks/post-install/03-strip-and-debug-pkgs: only add versioned shlib to shlib-provides.
This really avoids adding unwanted private shared objects or others that are
only meaningful at runtime and not for linking.
2014-03-24 17:07:26 +01:00
Juan RP
708d23ee81 hooks/post-install/04-generate-runtime-deps: use sed -E explicitly to avoid compat issues. 2014-03-24 16:57:08 +01:00
Juan RP
6c2cc1b706 hooks/post-install/99-pkglint: add checks for missing shlibs and SONAME bumps.
Created by Gottox and minor fixes by myself.
2014-03-24 11:15:29 +01:00
Juan RP
fb777453b9 hooks/post-install: new hook (pkglint) to abort if pkg contains forbidden dirs. 2014-03-19 16:32:12 +01:00
Juan RP
0026342862 Infrastructure changes to allow unsetting template vars/funcs.
xbps-src-112 does not unset those vars/funcs anymore, so it's a work
that must be done via common/environment/setup{,-subpkg}.
2014-03-19 09:03:21 +01:00
Juan RP
9b60085684 common/hooks/post-install: reorder some hooks so that no unnecessary INSTALL/REMOVE scripts are generated. 2014-03-18 07:54:12 +01:00
Juan RP
e8ac04d05b Revert "common/hooks/post-install/06-prepare-32bit.sh: ignore bootstrap pkgs."
This reverts commit e1f2d12a95.

glibc must have 32bit packages and it's a bootstrap pkg.
2014-03-17 14:15:26 +01:00
Juan RP
e1f2d12a95 common/hooks/post-install/06-prepare-32bit.sh: ignore bootstrap pkgs. 2014-03-17 11:45:54 +01:00
Juan RP
5070941df3 Remove the hook to compress manpages... no compressed manpages from now on. 2014-03-13 19:05:04 +01:00
Juan RP
affb12291c hooks/post-install: added 6th arg in binpkg scripts (xbps support added in 0.33_2). 2014-03-12 10:19:20 +01:00
Juan RP
d7c0bcec4f hooks/post-install/01-create-xbps-vpkg-files: update for xbps>=0.33. 2014-03-11 13:17:09 +01:00
Juan RP
320167e7e1 hooks/prepare-32bit: added lib32files var to add additional files to 32bit pkgs. 2014-03-09 11:23:58 +01:00
Juan RP
e9e8c638a8 hooks/prepare-32bit: new variables to improve 32bit pkg creation.
- lib32depends: if set, 32bit pkg will use this rather than "depends".
- lib32disabled: if set, no 32bit pkg will be created.
- lib32mode:
  * if unset only files for libraries will be copied.
  * if set to "full" all files will be copied

Still not perfect but should be enough to have skype-32bit.
2014-03-08 11:36:51 +01:00
Juan RP
8d7e6525e6 hooks/post-install/06-prepare-32bit: also include .o files (crtX.o). 2014-03-07 15:47:38 +01:00
Juan RP
772e938938 hooks/post-install/06-prepare-32bit.sh: return early if destdir32 does not exist; only for x86. 2014-03-07 09:49:41 +01:00
Juan RP
a26205c634 common/hooks: enable by default 32bit pkgs for x86_64. 2014-03-06 21:03:23 +01:00
Juan RP
dddb603aeb common/hooks/post-install/06-prepare-32bit.sh: fix generated rdeps file.
The entries must be separated by blanks not newlines.
2014-03-06 04:19:07 +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
f5827d8b4b hooks/post-install/03-strip-and-debug-pkgs.sh: respect $noarch and $nostrip. 2014-02-13 17:12:09 +01:00
Juan RP
94eb08b05a hooks/04-generate-runtime-deps.sh: disable trap on ERR, not too useful on this hook. 2014-02-12 18:03:21 +01:00
Juan RP
2daaa82b63 common/hooks: new hooks moved from xbps-src. 2014-02-12 17:26:40 +01:00
Juan RP
af8b5befde common/hooks/post-install: remove unneeded messages. 2014-02-12 15:08:35 +01:00
Juan RP
907f392e4d common/hooks: add some hooks moved from xbps-src (not yet used). 2014-02-12 12:55:42 +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