Commit graph

107 commits

Author SHA1 Message Date
Érico Nogueira
6303c2e6ce common/hooks: speed up generate-runtime-deps.
Instead of using file(1) to check for ELF files, just read bytes
directly from the file and check if they are the ELF magic bytes.

Should probably be factored out into a common function that can be used
in other places, if necessary.

Also use awk instead of "grep|awk" for some minor speedup.
2021-07-22 11:56:26 -03:00
Piotr Wójcik
3680c424db hooks/prepare-32bit: create packages from all *-devel
All *-devel dependencies of 32bit packages are replaced
with *-devel-32bit. Missing dependencies made some
uninstallable.
2021-07-10 20:45:50 +02:00
Piotr Wójcik
7845fa8c53 hooks/prepare-32bit: correct devel packages matching
fixes cases like 'ruby-devel-doc'
2021-07-10 20:45:50 +02:00
q66
1ea593eeda base-files: fix conf files replacing each other wrong 2021-02-28 02:05:33 +01:00
q66
5949392125 base-files: make some sysctls like kexec setting user-alterable
While at it, relax the pkglint for base-files only.
2021-02-28 01:44:30 +01:00
Leah Neukirchen
6ecbbf767a hooks/pre-pkg/03-rewrite-python-shebang.sh: use grep -r instead of find.
This saves us one sed execution per file in the destdir, resulting
in a major speedup.

Grep will only consider text files and only look at the first line.
2021-01-30 15:20:43 +01:00
q66
cb804fbf85 xbps-src: remove noarch 2021-01-20 13:09:59 +01:00
Đoàn Trần Công Danh
04825ced01 hooks: abort if l10n files found in /usr/lib 2021-01-09 13:11:27 +07:00
Đoàn Trần Công Danh
bd62ff8580 99-pkglint-subpkgs: replace grep with case..esac
On experience with 100 subpkgs, this change reduces execution time from
284ms to 4ms

Closes: #27137 [via git-merge-pr]
2020-12-29 22:46:59 -08:00
Đoàn Trần Công Danh
3996821f07 99-pkglint-subpkgs: correct for multiline subpackages
As discussing in [1], on template with "subpackages" as multilines will
report false positive on some packages will never be built.

There're multiple problems here:

- expanded "subpackages" will have an empty line if it has a newline
  inside template
- "sed" expression couldn't work with multilines "subpackages"

Let's not quote "$subpkgs" and "$subpackages" in "printf" to let the
shell do expansion and trim the empty lines for us. And rewrite the
"sed" expression to work with multilines "subpackages"

[1]: https://github.com/void-linux/void-packages/pull/26939#issuecomment-739098547
2020-12-14 09:35:02 +07:00
Andrew J. Hesford
4ef9cff1d3 xbps-src: consume all shebang arguments during rewrite 2020-06-18 09:38:18 +02:00
Andrew J. Hesford
b56a3b0650 xbps-src: improve python shebang rewrites 2020-06-10 19:11:58 +02:00
Đoàn Trần Công Danh
d9c22b4d0a pre-pkg: use existing info to check empty package 2020-05-31 02:11:11 +00:00
Đoàn Trần Công Danh
91c0eaa5a7 xbps-src: pre-pkg: allow only white-listed directories. 2020-05-31 02:11:11 +00:00
Andrew J. Hesford
596250e4ea xbps-src: remove default python_version
Closes: #21209 [via git-merge-pr]
2020-04-21 18:45:25 -04:00
Đoàn Trần Công Danh
7c8ab37d36 pkglint: forbid files generated by mimedb trigger 2020-04-11 21:19:42 -04:00
Đoàn Trần Công Danh
f130fb058a hook: python-shebang: check for shebang in the first line only
- Grepping whole files is inefficient
- git-instaweb (in git package) has the code to generate python file in
  a here doc in the middle of its code, old hook generates false
  positive with this package
2019-12-28 18:02:39 +01:00
Juan RP
3a08e3d1b6
xbps-src: new pre-pkg hook that prints collected rdeps. 2019-12-15 18:55:58 +01:00
Cameron Nemo
091ab0b612 base-files: ship bin and lib symlinks 2019-12-14 14:01:42 +01:00
Juan RP
e4984d01ea xbps-src: multiple performance improvements
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the show-build-deps target is now much faster.
- the update-bulk/show-repo-updates targets are now much faster.
- the update-sys/show-sys-updates targets are now much faster.
- the bootstrap target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on #12433

Close #12433
Close #11282
2019-07-10 20:28:46 +02:00
Jürgen Buchmüller
17ba00b095 Revert "xbps-src: multiple performance improvements."
This reverts commit 2a4e178e35.
2019-07-05 12:08:45 +02:00
Juan RP
2a4e178e35 xbps-src: multiple performance improvements.
- use xbps-checkvers(1) to resolve dependencies.
- all dependencies are installed at once for the host and target.
- the `show-build-deps` target is now much faster.
- the `update-bulk/show-repo-updates` targets are now much faster.
- the `update-sys/show-sys-updates` targets are now much faster.
- the `bootstrap` target now works on musl hosts.
- simplified some loops.
- use cut(1) rather than awk(1) where applicable.
- multiple random changes to improve performance.

Based on work started by @Duncaen on https://github.com/void-linux/void-packages/pull/12433

Close https://github.com/void-linux/void-packages/pull/12433
Close https://github.com/void-linux/void-packages/pull/11282
2019-07-05 08:53:51 +02:00
Cameron Nemo
206a4a73f5 99-pkglint.sh: prevent installing files in /destdir
Signed-off-by: Cameron Nemo <cnemo@tutanota.com>
2019-06-23 17:17:22 +02:00
Juan RP
7b7d7c13a1
xbps-src: exit properly if mktemp(1) fails, not from its subshell.
Thanks @huglovefan
2019-06-17 17:38:07 +02:00
Juan RP
f59b295903 xbps-src: cleaned up usage of mktemp(1).
This one was on my TODO for a long while... fixes unportable
arguments (checked with the NetBSD's manual page).
2019-06-17 15:23:20 +02:00
Jürgen Buchmüller
998aac300a
hooks/pre-pkg/05-prepare-32bit.sh: fix symlinks
If lib32symlinks contains plain library names without a path as in
the case of glibc (lib32symlinks="ld-linux.so.2") the expression
${f%/*} is not empty, but returns the basename.
Handle that case by verifying that ${f%/*} is different from ${f}.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-05-28 15:14:23 +02:00
maxice8
53c60b31ae 05-preapre-32bit.sh: avoid useless use of cat 2019-04-15 12:18:00 -03:00
maxice8
68733fc673 99-pkglint.sh: avoid useless use of cat 2019-04-15 12:18:00 -03:00
maxice8
509f522dac 06-shlib-provides.sh: avoid useless use of cat 2019-04-15 12:18:00 -03:00
maxice8
26d73d5ede 05-prepare-32bit.sh: remove dirname usage 2019-04-14 06:22:09 -03:00
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