Commit Graph

1763 Commits

Author SHA1 Message Date
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
Jakub Jirutka d7f5c73806 abuild.conf: add CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
This speeds up fetching of the crates index.

https://blog.rust-lang.org/inside-rust/2023/01/30/cargo-sparse-protocol.html
2023-04-14 05:51:25 +00:00
psykose 97509ac620 abuild: unpack .tar.zst 2023-04-13 18:52:12 +00:00
Natanael Copa 16febc41a2 abuild: warn when p in pkgver should be _p
we have for example had sudo 1.9.5p2 which should have been
1.9.5_p2. Show a warning to avoid this in the future.
2023-04-07 11:27:09 +00:00
bjorn3 28bba53928 Replace the rust install preset with an empty section
Using install -Dm755 ... is preferable over cargo install
2023-03-28 11:44:45 +02:00
Ariadne Conill d54d8f5d06 abuild: bwrap: use --new-session to mitigate TIOCSTI escape (CVE-2017-5226)
Bubblewrap has an under-documented option which helps to protect against abuse
of TIOCSTI ioctls against the session PTY to escape the build sandbox, the
--new-session option.

Related: https://github.com/containers/bubblewrap/issues/555
Related: https://github.com/containers/bubblewrap/issues/142
Related: https://news.ycombinator.com/item?id=30825088
Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
2023-03-14 11:06:25 +00:00
Natanael Copa 3695cd2008 apkgrel: fix usage and invalid options and add test 2023-01-10 17:47:22 +01:00
Natanael Copa 115e41fd1f abuild: remove use of svnurl
Not used by anything in aports
2023-01-10 17:40:09 +01:00
Natanael Copa 42820c6d44 abuild: remove support for "volatile" packages
It never really worked and we don't have any of those. Remove the code
to simplify.
2023-01-10 16:38:15 +00:00
ptrcnull e261a84f2d newapkbuild: allow for underscore version separator 2022-12-29 14:57:20 +00:00
swiftlebottomE b224407821 abuild: Use $ABUILD_USERDIR instead of hardcoding path 2022-12-14 22:00:19 +00:00
Natanael Copa e8c1ce6127 abuild: fix cleanoldpkg
we should only delete packages of the specified architecture

fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10078
2022-12-06 16:59:03 +01:00
Natanael Copa ee13f777d5 abuild: fix check of maintainer address
Also disallow leading and trailing spaces/quotes.

fixes https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10080
2022-12-02 16:44:53 +01:00
Rohit Lodha 37e150738e APKBUILD should be $APKBUILD 2022-12-02 07:29:21 +00:00