Commit Graph

293 Commits

Author SHA1 Message Date
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