Commit graph

385 commits

Author SHA1 Message Date
maxice8
4dddab21e9 meta: add hook directories for patch phase 2019-02-27 22:56:19 -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
f638b4e04f xbps-src: add valac wrapper
Projects like zeitgeist and gtksourceview4 need it
2019-02-06 20:13:27 -02:00
maxice8
fbb17f5cda
xbps-src: make vapigen_wrapper install vapigen-0.42 2019-02-05 23:19:27 -02:00
maxice8
1c1490217a xbps-src: Add wrapper for vapigen on cross 2019-02-05 19:43: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
07c2dc7131 hooks/do-fetch/00-distfiles.sh: use fetch_cmd instead of XBPS_FETCH_CMD 2019-01-21 16:17:02 -02:00
maxice8
75e535d257 hooks/11-pkglint-elf-in-usrshare: make use of bashisms to fix stuff.
using for-loop causes the loop to hang at filenames with -.

Use while read instead with bash process substitution so it avoids the
subshell problem.
2019-01-10 00:44:44 -02:00
maxice8
c06512eac9 hooks: Add hook to check for ELF files in /usr/share 2019-01-09 17:01:13 -02:00
Piotr Wójcik
27d9e7ffea hooks/uncompress-manpages: prevent hang
In case when file to be uncompressed existed, decompressors asked
whether to overwrite it.
As output is muted, building hung silently waiting for input.
2019-01-05 08:12:55 -02:00
maxice8
9251941c99 hooks/pre-pkg: prohibit /usr/doc, mention /usr/share/doc 2018-12-20 16:33:35 -02:00
maxice8
3f5059ae50
hooks/post-install: fix find for executable files, use GNU -executable 2018-12-13 10:14:44 -02:00
maxice8
80c5550ce4
hooks/post-install: fix message and indentation on pkglint-devel-paths. 2018-12-12 23:08:56 -02:00
maxice8
de31bf8d1f hooks/post-install: Add hook to warn when paths for -devel packages
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
2018-12-12 23:07:05 -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
Rasmus Thomsen
a8f008f21c hook/do-extract: support extracting .crate files 2018-11-02 08:59:03 -03:00
maxice8
c6c249348d hooks/do-extract: support extracting .gem files with gem unpack. 2018-10-27 09:25:31 -03: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
Helmut Pozimski
ee4e6ad061 02-script-wrapper.sh: add wx-config-gtk3 for the generic_wrapper 2018-09-10 14:43:09 +02:00
Enno Boland
50e86ef640 common/libexec/build.sh: register all packages at once to prevent inconistent staging 2018-09-07 11:19:55 +02:00
maxice8
59b5fdf36f
04-create-xbps-metadata-scripts.sh: automatically add triggers for
appstream-cache

[ci skip]
2018-08-27 18:26:11 -03:00
maxice8
88f96346d4
hooks/post-install/04-create-xbps-medata-scripts.sh: automatically
handle gtk-pixbuf-loaders
2018-08-23 17:16:47 -03:00
newbluemoon
05fb5e4ad7 common/hooks/pre-configure: fix python3 wrapper [skip ci] (#1005) 2018-08-21 19:33:52 +02:00
maxice8
5c28f42b50
04-create-xbps-medatada-scripts.sh: fix indentation. 2018-08-20 22:25:11 -03:00
Michael Gehring
7186589618 common/hooks/pre-pkg/04-generate-runtime-deps.sh: remove unused variable 2018-08-20 12:03:31 -03:00
maxice8
2a37c4734c
hooks/post-install/04-create-xbps-medata-scripts.sh: automatically
handle gtk{,3}-immodules
2018-08-19 06:01:47 -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
Duncaen
94ed33657b Revert "common/: add support for changelog field."
This reverts commit 8599efd9fd.
2018-05-04 16:46:46 +02:00
maxice8
8599efd9fd common/: add support for changelog field.
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]
2018-05-03 22:58:27 -04: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
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
c1fd6c389e hooks/do-fetch/00-distfiles.sh: contents checksum
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 @.
2018-03-02 23:28:36 +01: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
newbluemoon
e8842e10d7 wxWidgets: fix cross compilation
xbps-src: add wx-config to 02-script-wrapper.sh
2017-12-16 01:48:46 +01:00
Andrea Brancaleoni
cb72dfc4cd wine: nopie_files 2017-11-29 19:28:02 +01:00
Enno Boland
c72e969742 add hook-directories for check phase 2017-11-18 14:32:37 +01:00
Michael Gehring
85b7e8335a hooks/post-extract/00-patches.sh: ignore files without patch/diff suffix 2017-09-26 11:02:37 +00: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
Jürgen Buchmüller
9fbeba39f1 compiler wrapper: add ccache or distcc prefix (#4575)
Closes #4574
2016-08-08 08:37:06 +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
3db4efd013 hooks/pre-configure: do not set configure_script outside of build_style.
fixes #4201.
2016-05-16 20:38:09 +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
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
Christian Neukirchen
a3a0303673 common/hooks/pre-pkg/05-prepare-32bit.sh: create needed subdirectories for lib32symlinks. 2016-03-07 18:42:34 +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
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
Christian Neukirchen
150c0b11b3 hooks/pre-configure/00-gnu-configure-asneeded.sh: don't error on $configure_script with spaces. 2016-02-05 12:10:46 +01:00
Juan RP
aafe90e3c4 xbps-src/hooks: create a giblib-config wrapper for cross.
Required by scrot and probably others (#3464).
2016-01-26 07:46:00 +01:00
Enno Boland
d8f7d1a8d6 common/hooks/pre-configure: fix script wrapper pkgconfig paths. 2016-01-21 00:07:05 +01:00
Juan RP
c23daff127 xbps-src: handle .7z distfiles via 7z. 2016-01-11 11:02:44 +01:00
Juan RP
c373ae50d4 xbps-src: get rid of 'broken_as_needed'; not used anymore. 2015-11-28 09:24:01 +01:00
mid-kid
f68bfd6575 common/hooks: Fix hooks when build_style=meta 2015-11-26 22:27:55 +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
Enno Boland
67757b5708 hooks/do-pkg/00-gen-pkg.sh: enable globbing for conf_files. 2015-11-18 10:21:33 +01:00
Enno Boland
f19bca3bce hooks/do-pkg: clean up 00-gen-pkg.sh 2015-11-18 10:21:33 +01:00
Jürgen Buchmüller
05c7da7955 Merge pull request #2908 from pullmoll/fetch
00-distfiles.sh: avoid unnecessary second loop
2015-11-15 02:54:55 +01:00
Juan RP
33e3afecf9 xbps-src: do not allow empty PKGDESTDIR unless build_style!=meta. 2015-11-13 13:05:36 +01:00
Juan RP
62de168b40 xbps-src: fix xbps-create(1) --tags option. 2015-11-10 11:33:19 +01:00
Jürgen Buchmüller
d7b1a31cf0 00-distfiles.sh: avoid unnecessary second loop
We're already done after the first loop, if all distfiles
were found and their checksums verified ok.
2015-11-05 22:05:25 +01:00
Jürgen Buchmüller
d8eca52226 00-distfiles.sh: add code to purge wrong checksum
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
2015-11-03 19:27:07 +01:00
Juan RP
3e1154266f xbps-src: support "alternatives" from xbps-0.48. 2015-10-30 12:39:59 +01:00
Juan RP
bd165ccdf6 wrappers: rename cc to cross-cc to clarify it's used only in cross mode. 2015-10-25 11:03:16 +01:00
Alessio Sergi
55768ad59d xbps-src: distfiles: allow uncompressed distfiles
Do not extract them, just copy to $extractdir.
The allowed suffixes are: .patch, .diff, .txt.
2015-10-23 20:09:31 +02:00
Juan RP
b7d05057f9 xbps-src: create a cc/g++ wrapper to drop -I/usr/include -L/usr/lib in cross.
I'm tired of wasting extra time to fix software to remove standard include/lib dirs.
2015-10-23 11:56:30 +02:00
Enno Boland
66cdb281f1 hooks/pre-configure: don't overwrite PKG_CONFIG_* vars in the wrapper.
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.
2015-10-13 15:01:32 +02: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