Commit Graph

1737 Commits

Author SHA1 Message Date
psykose
f1d8172827 newapkbuild: don't add python to depends by default
this is already traced by abuild python changes
2023-05-24 02:09:48 +02:00
Lauren N. Liberda
bfb88aef29 newapkbuild: add documentation for -e (gpep517 flag) 2023-05-24 00:08:39 +00:00
Lauren N. Liberda
a9e06de217 newapkbuild: add gpep517 buildtype 2023-05-24 00:08:39 +00:00
psykose
19d620e8b4 newapkbuild: use cargo-auditable for rust builds 2023-05-20 01:04:12 +02:00
Hugo Osvaldo Barrera
5f500be4c6 abuild.1: add new manpage
This is mostly based on the output of --help.
2023-05-15 18:02:11 +02:00
Hugo Osvaldo Barrera
b2b87f8394 newapkbuild.1: fix indentation
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
```
2023-05-15 18:00:52 +02:00
psykose
7bc993400f newapkbuild: fetch --target for rust
this fetches only things for the target triple, so it usually skips e.g.
all the windows crates.
we do this in aports already, in places where it doesn't work we just
unset it.
2023-05-10 15:01:07 +02:00
psykose
f810a11cfb newapkbuild: improve default cmake
- -G Ninja because that is always preferred
- remove inferred trailing dot
- use =ON as that is what we usually use most of the time for true/false
- add samurai to makedeps for -G Ninja
- use flatter ctest invocation
2023-05-10 14:57:48 +02:00
Natanael Copa
6576698918 ==== release 3.11.0 ==== 2023-05-09 13:12:34 +00:00
Natanael Copa
f2978eb33f abuild-keygen: add support for creating kernel signing key
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.

ref: https://gitlab.alpinelinux.org/alpine/aports/-/issues/14873
2023-05-05 13:39:47 +02:00
psykose
b5c25f1b62 abuild: use $git in rootbld symbolic-ref
missed git call, compared to the others
2023-04-28 08:42:29 +00:00
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 489fc06e405ca8301d4f7a3e967572ceec93e24a.

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