Commit Graph

1576 Commits

Author SHA1 Message Date
psykose 9a61082d8d ==== release 3.11_rc13 ==== 2023-04-21 01:59:45 +02:00
psykose fa3e12f664 default.conf: drop int-conversion error for now
this is a good thing to have and we should reinstate it after 3.18,
however it requires fixing a million things, which is a bit too much for
a sudden release build.

i forgot the implications of this aside from fixing strerror_r and how
much work it was, so put this back after 3.18 branch.
2023-04-21 01:58:26 +02:00
psykose 2c8b0cd1ed newapkbuild: cleanup meson
the jobs are useless because SAMUFLAGS already reads the jobs.
we made a cross file in abuild-meson in aports too.
2023-04-20 18:44:59 +02:00
psykose 9624f202a8 ==== release 3.11_rc12 ==== 2023-04-19 15:28:08 +02:00
psykose 69b3e82296 abuild: .. but silence only errors, not output
fixes previous commit
2023-04-19 15:27:51 +02:00
psykose ff37770904 ==== release 3.11_rc11 ==== 2023-04-19 15:26:17 +02:00
psykose 633353b265 abuild: silence pycache postcheck
otherwise every package prints

 >>> gotosocial-openrc*: Running postcheck for gotosocial-openrc
 find: /builds/raspbeguy/aports/testing/gotosocial/pkg/gotosocial-openrc/usr/lib/python*: No such file or directory

the other postchecks already conditionalise on if [ -d, but we use a wildcard here

no actual package change
2023-04-19 15:26:05 +02:00
psykose 264be38ecd ==== release 3.11_rc10 ==== 2023-04-18 18:37:24 +02:00
psykose 91e6e0b542 abuild: set *-pyc as noarch
the files are noarch themselves
2023-04-18 18:36:23 +02:00
Natanael Copa 0daf4ae637 tests: unset CFLAGS
CFLAGS may be set in the running environment (eg in abuild check)
2023-04-18 15:53:11 +02:00
Natanael Copa 0a129755fd ==== release 3.11_rc9 ==== 2023-04-18 15:42:01 +02:00
Natanael Copa b24bc33446 abuild: warn if pycache is found
and add tests for -pyc package split
2023-04-18 13:27:51 +00:00
Dominique Martinet dd07911cbf abuild: 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 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:
hyperfine --warmup 5 -m 100 \
    "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):
hyperfine --warmup 5 -m 100 \
    -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>
2023-04-18 13:22:14 +00:00
Natanael Copa bb8b1f8dd0 git ignore abulid.conf and fix make clean 2023-04-18 15:14:28 +02:00
Natanael Copa 6008158fb9 default.conf: drop -fomit-frame-pointer
it is implied with -Os where it should.
2023-04-18 13:50:22 +02:00
Natanael Copa 565690da31 make: use install instead of cp 2023-04-18 13:49:04 +02:00
Natanael Copa bbb4fcdd3b Install default config as /usr/share/abuild/default.conf
Split the config a bit so its easier to ship default flags and
maintainer builders.
2023-04-18 13:47:17 +02:00
Natanael Copa a1b672cad2 functions: read default configs from /usr/share/abuild/default.conf
This makes it easier to push default config updates with apk
2023-04-18 13:26:49 +02:00
Natanael Copa fe26e9483b functions: add test for environment preference 2023-04-18 13:15:38 +02:00
Marian Buschsieweke 6806a0d39b abuild: scan for python3 version requirements
Packages installing python3 site packages for python3 in version 3.x.y
depend on python3~3.x. This automatically adds the required
dependencies.

Unit test cases have been added by reusing the `py3-foo-and-bar` test
package. However, the path of that has been renamed to contain spaces
to be extra sure the logic is safe in regrade to spaces in path
names.
2023-04-18 09:26:12 +00:00
Natanael Copa 40ecb4b07c abuild-fetch: try harder to yield
Try a bit harder to let other process aquire lock.

This will hopefully reduce flakiness of testsuite when builder is under
load.
2023-04-18 11:22:54 +02:00
Natanael Copa 6ef57910ab abuild-tar: improve invalid opt handling
make sure we always print usage help text if we have an invalid option.

fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10101
2023-04-17 13:01:05 +02:00
psykose 2d446f094c ==== release 3.11.0_rc8 ==== 2023-04-16 12:32:59 +02:00
Sören Tempel 6864df03aa abuild-rootbld: copy REPODEST value from host to chroot
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 1582617eb8.
2023-04-16 14:25:42 +02:00
psykose bbd1185960 ==== release 3.11.0_rc7 ==== 2023-04-16 10:01:10 +02:00
psykose 68cb8eba00 abuild.conf: unroll flags
-Werror=int-conversion is only valid for C, so we don't want to pass it elsewhere
2023-04-16 10:00:41 +02:00
psykose d7cb4e70cf ==== release 3.11.0_rc6 ==== 2023-04-16 08:16:23 +02:00
psykose 6434743e3c abuild.conf: set -Wformat too
cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]

needs this too
2023-04-16 08:16:06 +02:00
psykose 873a568c9e ==== release 3.11.0_rc5 ==== 2023-04-15 21:50:48 +02:00
psykose d4411cf494 abuild: fix qemu CARCH
ddc6f42ddc broke this by using carch,
which is not defined to anything
2023-04-15 21:50:47 +02:00
psykose 2f2b5abcc3 ==== release 3.11.0_rc4 ==== 2023-04-15 10:12:18 +02:00
psykose 9ee552164c abuild: also pass through ABUILD_BOOTSTRAP in rootbld
since 1582617eb8, it's not passed,
so it's not possible to skip tests for a run via a
 $ ABUILD_BOOTSTRAP=1 abuild rootbld
2023-04-15 10:10:07 +02:00
psykose bd2a3de825 ==== release 3.11.0_rc3 ==== 2023-04-14 16:33:28 +02:00
psykose af88d534d3 Revert "abuild: prune python cache dirs by default"
This reverts commit 489fc06e40.

this needs way more thought to work, see
32f314f8076d509bd4c541b1d250b3744947867f in aports

we should probably just create *-pyc splits instead. these
won't reduce mirror size, but at least allow easily uninstalling the cache.
2023-04-14 16:31:54 +02:00
psykose 6321b957c1 ==== release 3.11.0_rc2 ==== 2023-04-14 12:31:22 +02:00
psykose 31efbc97cd abuild: fixup devhelp
- -$pkgrel is wrong- this is an invalid version spec, the -r is missing
- depends="" should be unset inherited from the origin package
2023-04-14 12:24:57 +02:00
Natanael Copa a083465f35 abuild: fix typo in comment 2023-04-14 11:20:48 +02:00
Natanael Copa a0eca745c6 ==== release 3.11.0_rc1 ==== 2023-04-14 11:09:15 +02:00
ptrcnull 306e615683 abuild: add a local repository for every remote one in rootbld
Fixes #10071
2023-04-14 09:01:12 +00:00
Sören Tempel 1582617eb8 abuild-rootbld: clear environment for bwrap container
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. !43430.
2023-04-14 09:00:33 +00:00
psykose 489fc06e40 abuild: prune python cache dirs by default
these will be generated post-install in a hook.

ref https://gitlab.alpinelinux.org/alpine/aports/-/issues/11906
2023-04-14 08:56:48 +00:00
Sören Tempel ddc6f42ddc abuild: allow building x86 binaries with qemu-i386 using rootbld 2023-04-14 08:54:26 +00:00
Natanael Copa 396e6e2737 abuild: add support for -devhelp subpackges
fixes https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/87
2023-04-14 08:44:48 +00:00
Timothy Legge 7dc9c33c88 apkbuild-cpan.in: remove perl-dev as a makedepends default 2023-04-14 06:41:14 +00:00
psykose ca8375f0e9 abuild.conf: define format-security and int-conversion errors
format-security warns of usage such as `printf(x)`, which is usually a
security hole.

int-conversion is very useful to find cases such as

```
error: assignment to 'const char *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
 msg = strerror_r(errnum, buf, buflen);
```

where the usage of things like the wrong strerror_r are legitimate
errors in the application that cause it to crash. it makes more sense
for the compiler to reject it instead, and this does that.
2023-04-14 06:37:15 +00:00
Jingyun Hua 4258b204fe Update config.guess, config.sub, to 2021-06-03
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
2023-04-14 08:35:48 +02:00
Alex Xu (Hello71) 00eacb1468 abuild.conf: set CTEST_PARALLEL_LEVEL=$JOBS
same as CARGO_BUILD_JOBS etc, else it defaults to 1. theoretically this
could break some very poorly written test suite, but gentoo has set it
since 2016 with no apparent issues.

https://cgit.gentoo.org/repo/gentoo.git/commit/?id=adfccec02c2474a509fc10d580a25d72f33cab55
2023-04-14 06:22:44 +00:00
Marian Buschsieweke 10b4e8e8bd abuild: Fix building with spaces in path 2023-04-14 06:03:17 +00:00
psykose b7c4da8f53 abuild: pass --no-warnings to apk index
apk 2.14 now warns on missing deps in the same repo even with --quiet:

WARNING: No provider for the dependencies:
  /bin/sh aardvark-dns abseil-cpp-dev acl acl-dev alsa-lib-dev android-tools aom-dev apache2 at-spi2-core at-spi2-core-dev atomicparsley attr attr-dev
  audacious autoconf avahi avahi-dev aws-c-cal-dev aws-c-compression-dev aws-checksums-dev baloo-dev bash bc binutils binutils-dev black blas-dev bluez
2023-04-14 05:55:29 +00:00
Jakub Jirutka 49ee073171 abuild: ensure that pkgdesc is a single line
If pkgdesc containes a newline, abuild generates an invalid .PKGINFO.
See https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/44042
2023-04-14 05:53:40 +00:00