abuild merge requestshttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests2023-06-01T04:15:25Zhttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/205default.conf: enable _GLIBCXX_ASSERTIONS, kill cppflags2023-06-01T04:15:25ZGhost Userdefault.conf: enable _GLIBCXX_ASSERTIONS, kill cppflagsthese have a slight runtime hit (like fortify-source), but help find
bugs early, by making programs crash on invariants that would corrupt
memory and lead to hard to debug crashes/bugs later.these have a slight runtime hit (like fortify-source), but help find
bugs early, by making programs crash on invariants that would corrupt
memory and lead to hard to debug crashes/bugs later.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/208checkapk: handle + in pkgname2023-06-01T04:14:14ZGhost Usercheckapk: handle + in pkgnamethe pkgname is passed to awk, and + matches in regex, so it fails to
match the actual package name.
closes #10077
note this doesn't handle the other regex chars, but the other ones are not valid to have in a pkgname, so they do not h...the pkgname is passed to awk, and + matches in regex, so it fails to
match the actual package name.
closes #10077
note this doesn't handle the other regex chars, but the other ones are not valid to have in a pkgname, so they do not have to be handled. i never found any other failure caseshttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/191newapkbuild: add gpep517 buildtype2023-05-24T00:09:08Zlauren n. liberdanewapkbuild: add gpep517 buildtypehttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/206Add a man page for abuild2023-05-15T16:03:15ZHugo BarreraAdd a man page for abuildThis is mostly based on the output of --help.This is mostly based on the output of --help.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/207Fix indentation for newapkbuild.12023-05-15T16:01:59ZHugo BarreraFix indentation for newapkbuild.1There's some extra indentation on the first sections that doesn't match
other man pages and just looks misaligned with the rest of the page.
Example from man:
```
NAME
man – display manual pages
SYNOPSIS
man [-acfhklw] [-C f...There's some extra indentation on the first sections that doesn't match
other man pages and just looks misaligned with the rest of the page.
Example from man:
```
NAME
man – display manual pages
SYNOPSIS
man [-acfhklw] [-C file] [-M path] [-m path] [-S subsection]
[[-s] section] name ...
DESCRIPTION
```
Example from newapkbuild before this patch:
```
NAME
newapkbuild - generate a new APKBUILD
SYNOPSIS
newapkbuild options... [pkgname[-pkgver] | source_url]
DESCRIPTION
```
Example for newapkbuild after this patch:
```
NAME
newapkbuild - generate a new APKBUILD
SYNOPSIS
newapkbuild options... [pkgname[-pkgver] | source_url]
DESCRIPTION
```https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/204abuild-keygen: add support for creating kernel signing key2023-05-05T12:11:26ZNatanael Copaabuild-keygen: add support for creating kernel signing keyWe need to have a key that can be used to sign kernel modules and
specifically 3rd party kernel modules. Add support for creating this key
in abuild-keygen.We need to have a key that can be used to sign kernel modules and
specifically 3rd party kernel modules. Add support for creating this key
in abuild-keygen.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/203abuild: use $git in rootbld symbolic-ref2023-04-28T08:42:56ZGhost Userabuild: use $git in rootbld symbolic-refmissed git call, compared to the othersmissed git call, compared to the othershttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/202functions: read default configs from /usr/share/abuild/default.conf2023-04-19T20:35:40ZNatanael Copafunctions: read default configs from /usr/share/abuild/default.confThis makes it easier to push default config updates with apkThis makes it easier to push default config updates with apkhttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/201abuild: warn if pycache is found2023-04-18T13:29:55ZNatanael Copaabuild: warn if pycache is foundand add tests for -pyc package splitand add tests for -pyc package splithttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/182abuild: add default_pyc helper2023-04-18T13:27:34ZDominique Martinetabuild: add default_pyc helper```
Python by default pre-compiles cache files in __pycache__ directories,
which we currently happily install along in python packages.
Theses .pyc files are rather big and the time/space tradeoff could be
left to users if we just split...```
Python by default pre-compiles cache files in __pycache__ directories,
which we currently happily install along in python packages.
Theses .pyc files are rather big and the time/space tradeoff could be
left to users if we just split these out to a -pyc subpackage.
With this default_pyc helper, one can add $pkgname-pyc to their
package's subpackages and it will automatically split off the pyc files
in a package that will be automatically installed if the virtual 'pyc'
package is installed.
Note that this does not work so easily if there already were python
subpackages, the function could be adjusted to strip off the last dash
if required but that seems rather rare.
Random data, sizes:
- python3: currently 47MiB, split into 23M (main package) / 24M (pyc)
- py3-markdown: currently 700KiB, 368K (main) / 288K (pyc)
Random benchmark, with python3-pyc:
"python3 -c 'import time; print(time.strftime(\"%T\"))'"
Time (mean ± σ): 24.5 ms ± 2.5 ms [User: 18.4 ms, System: 6.0 ms]
Range (min … max): 19.4 ms … 28.9 ms 148 runs
without python3-pyc (same as user without root permissions, root would
generate files on first root, for reference this command generates 184KB
of pyc files):
-p 'rm -rf /usr/lib/python3.10/__pycache__ /usr/lib/python3.10/encodings/__pycache__' \
"python3 -c 'import time; print(time.strftime(\"%T\"))'"
Time (mean ± σ): 53.7 ms ± 4.3 ms [User: 39.3 ms, System: 14.3 ms]
Range (min … max): 47.0 ms … 65.6 ms 100 runs
Link: https://gitlab.alpinelinux.org/alpine/aports/-/issues/11906
Suggested-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
```
-----
If this gets merged I'll be happy to add a pyc virtual package in aports and add the subpackage to at least python3 itself, but need to start somewhere.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/189abuild: scan for python3 version requirements2023-04-18T10:16:51ZMarian Buschsiewekeabuild: scan for python3 version requirementsPackages installing python3 site packages for python3 in version 3.x.y
depend on python3~3.x. This automatically adds the required
dependencies.
Note: ~~This currently depends on and includes https://gitlab.alpinelinux.org/alpine/abuild...Packages installing python3 site packages for python3 in version 3.x.y
depend on python3~3.x. This automatically adds the required
dependencies.
Note: ~~This currently depends on and includes https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/192~~ (https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/192 has been merged now)https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/200abuild-fetch: try harder to yield2023-04-18T09:24:47ZNatanael Copaabuild-fetch: try harder to yieldTry a bit harder to let other process aquire lock.
This will hopefully reduce flakiness of testsuite when builder is under
load.Try a bit harder to let other process aquire lock.
This will hopefully reduce flakiness of testsuite when builder is under
load.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/199abuild-tar: improve invalid opt handling2023-04-17T11:16:05ZNatanael Copaabuild-tar: improve invalid opt handlingmake sure we always print usage help text if we have an invalid option.
fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10101make sure we always print usage help text if we have an invalid option.
fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10101https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/179abuild-rootbld: clear environment for bwrap container2023-04-16T14:50:48ZSören Tempelabuild-rootbld: clear environment for bwrap containerOtherwise, user-set environment variables can leak into the container
and cause spurious build/test failures. A common example is the value of
the SHELL environment variable which is used by a lot of software.
Outside of the bwrap contai...Otherwise, user-set environment variables can leak into the container
and cause spurious build/test failures. A common example is the value of
the SHELL environment variable which is used by a lot of software.
Outside of the bwrap container I use ksh and my SHELL environment
variable points to /bin/ksh, however, inside the container /bin/ksh is
not available and hence software relying on $SHELL doesn't work
properly. This can cause annoying to debug test failures, e.g. https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/43430.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/197abuild-rootbld: copy REPODEST value from host to chroot2023-04-16T14:43:54ZSören Tempelabuild-rootbld: copy REPODEST value from host to chrootOtherwise, if a different REPODEST is being used (e.g. due to
`buildrepo -d <repo-dest>`) then the abuild invocation in the
created chroot will not write packages to the correct REPODEST.
Therefore, `buildrepo -R -d` does presently not w...Otherwise, if a different REPODEST is being used (e.g. due to
`buildrepo -d <repo-dest>`) then the abuild invocation in the
created chroot will not write packages to the correct REPODEST.
Therefore, `buildrepo -R -d` does presently not work correctly.
This commit fixes this by also copying the REPODEST value from
the environment.
This fixes a regression introduced in 1582617eb8ba3df4752f8050f0412c0353c33fdf.https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/192abuild: Fix building with spaces in path2023-04-15T14:05:25ZMarian Buschsiewekeabuild: Fix building with spaces in path- Add a bunch of missing quotes to fix building in paths that contain
spaces
- Add a unit test case to detect regressions- Add a bunch of missing quotes to fix building in paths that contain
spaces
- Add a unit test case to detect regressionshttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/196abuild: fixup devhelp2023-04-14T10:27:51ZGhost Userabuild: fixup devhelp- -$pkgrel is wrong- this is an invalid version spec, the -r is missing
- depends="" should be unset inherited from the origin package- -$pkgrel is wrong- this is an invalid version spec, the -r is missing
- depends="" should be unset inherited from the origin packagehttps://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/194abuild: prune python cache dirs by default2023-04-14T09:13:55ZGhost Userabuild: prune python cache dirs by defaultthese will be generated post-install in a hook.
ref https://gitlab.alpinelinux.org/alpine/aports/-/issues/11906
ref https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/45936these will be generated post-install in a hook.
ref https://gitlab.alpinelinux.org/alpine/aports/-/issues/11906
ref https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/45936https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/158abuild: add a local repository for every remote one in rootbld2023-04-14T09:02:12ZPatrycja Rosaalpine@ptrcnull.meabuild: add a local repository for every remote one in rootbldfixes #10071fixes #10071https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/195abuild: add support for -devhelp subpackges2023-04-14T08:48:54ZNatanael Copaabuild: add support for -devhelp subpackgesfixes https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/87fixes https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/87