Compare commits

..
839 Commits
Author SHA1 Message Date
Bart Ribbers 9c4ee155d1 bigscreen: tinydm 2026-03-31 17:54:50 +02:00
Bart Ribbers 9b9ff6fd2c WIP: main/postmarketos-ui-plasma-bigscreen: re-enable
Still needs a solution for autologin...
2026-03-08 14:53:36 +01:00
Bart Ribbers eaa58e9cdf temp/plasma-bigscreen: new aport 2026-03-08 14:53:36 +01:00
Bart Ribbers 361278a4ff temp/plasma-remotecontrollers: new aport 2026-03-08 14:53:36 +01:00
Bart Ribbers 7f264de95d temp/aura-browser: new aport 2026-03-08 14:53:36 +01:00
Bart Ribbers b47f868309 temp/plank-player: new aport 2026-03-08 14:53:36 +01:00
Bart Ribbers 3af802b59c systemd/plasma-login-manager: set minimum UID to filter out system accounts
Without this set it will consider way more accounts than user accounts
as accounts you can log into and show them, which is obviously wrong.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8140>
2026-03-08 12:56:03 +00:00
Achill Gilgenast 28a0b4c382 systemd/postmarketos-repo-nightly: new aport
Allows easier installation of nightly repositories with e.g. apk add
phosh-nightly && apk upgrade -Ua

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7807>
2026-03-08 13:30:16 +01:00
Achill Gilgenast 24681624eb docs: mention to open issues when a merge happend without maintainer response
See the meeting notes from the 2026-01-19:
(https://docs.postmarketos.org/policies-and-processes/governance/team-meetings/meeting-notes.html)

> Discussed pmaports!7770, possibly limiting the wait period for maintainer
> approval from 2 weeks to 1 week.
>
> We discussed to keep 2 weeks and make an issue template for “had to merge
> without maintainer review”, the new process will then be that the template
> gets filled out if a MR has to be merged without maintainer review after
> two weeks. The maintainer can then either say that they plan to review
> future merge requests, or indicate that they don’t want to maintain the
> thing anymore, or just not respond (which implies that they don’t want
> to maintain anymore). That way we should be able to get the listed
> maintainers to reflect reality better.
>
> Everyone reading this, please make sure you are not listed as maintainer
> for packages that you don’t plan to do reviews for anymore :)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7770>
2026-03-08 11:07:53 +01:00
adamthiede e24f436706 linux-postmarketos-mediatek-mt8173: upgrade to 6.19.6
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8130>
2026-03-08 09:19:56 +00:00
Antoine Martin 41660ec3d2 u-boot-clockworkpi-uconsole-radxa-cm5: rename from u-boot-radxa-cm5
* refactor to only target uconsole
* add update-u-boot tool

[ci:skip-vercheck]: not new package

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7918>
2026-03-08 00:11:35 +00:00
Antoine Martin cf186ae56d linux-clockworkpi-uconsole-radxa-cm5: add uconsole drivers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7918>
2026-03-08 00:11:35 +00:00
Antoine Martin 1d546198cc linux-clockworkpi-uconsole-radxa-cm5: move to downstream from archived, rename from linux-radxa
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7918>
2026-03-08 00:11:35 +00:00
Antoine Martin e6de1d0cc2 device-clockworkpi-uconsole-radxa-cm5: refactor to remove akms module
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7918>
2026-03-08 00:11:32 +00:00
Antoine Martin e193c5d1ed device-clockworkpi-uconsole-radxa-cm5: move from archived to downstream
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7918>
2026-03-08 00:11:32 +00:00
WeirdTreeThing bd4d5a5616 linux-postmarketos-rockchip-rk3588: drop package
This downstream kernel is no longer needed now that mainline supports RK3588 well.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8137>
2026-03-06 21:16:36 -05:00
WeirdTreeThing dc9c687ae0 device-xunlong-orangepi5-plus: switch to generic kernels
RK3588 has great mainline support now. Use the generic kernels instead of the outdated downstream fork.
Add more modules to the initramfs to support hdmi output with the generic config.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8137>
2026-03-06 21:14:59 -05:00
JustinandClayton Craft 5491bc9c04 main/unl0kr: upgrade to 3.5.1
This also adds support for building the unl0kr password agent for
systems running systemd.

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6463>
2026-03-06 19:51:31 +00:00
Barnabás Czémán 6b9bf2c0d0 linux-postmarketos-qcom-msm89x7: Upgrade to v6.19.5-r0
Upgrade to v6.19.5-r0

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8123>
2026-03-06 19:21:55 +00:00
Aelin 48c07c2d61 cross/systemd-boot-x86: upgrade to 259.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8129>
2026-03-06 17:03:41 +00:00
Jan Paszkowski 1590461e92 sony-pdx215: new device
For now, the phone generally boots from microsd, although ssh does not work. The only
UIs that manage to stay launched is lomiri and sxmo.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8103>
2026-03-06 16:53:59 +00:00
postmarketOS CI 28e8e7e558 linux-next: upgrade to next-20260306 2026-03-06 16:38:26 +00:00
Aster Boese b24a4ef1fd kconfigcheck: version gate MODULE_COMPRESS
MODULE_COMPRESS was added after the individual compression algorithm options.
As such, it needs a separate version set or any kernel below the version it
was added will fail kconfig check.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8131>
2026-03-06 10:53:34 +00:00
Achill Gilgenast 22a1e98c89 systemd/wireplumber: remove
systemd units are in Alpine and the only change is the logind module
being linked against libesystemd instead of libsystemd. But I don't
think that should be a problem.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7919>
2026-03-06 08:44:57 +00:00
postmarketOS CI b2c4bb7445 linux-next: upgrade to next-20260305 2026-03-05 16:40:25 +00:00
Robert Eckelmann e9d615eef9 device-asus-picasso: move to archived
acer-picasso is well supported by nvidia-tegra-armv7, having a dedicated
device package is not needed any more and only confuses people.

firmware-nvida-tegra-armv7 already includes the files for picasso.

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8099>
2026-03-05 13:53:30 +00:00
Luca Weiss 219d21f332 device-fairphone-fp3: update kernel module name for panel driver
With Linux 6.19 we now use the upstream panel driver. Update the list
of modules to include in initramfs accordingly.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8126>
2026-03-05 10:38:17 +01:00
postmarketOS CI c08ad3997a linux-next: upgrade to next-20260304 2026-03-05 05:39:06 +00:00
Ferass El Hafidi 41982a51f0 linux-postmarketos-exynos4: make kconfig check happy
The following options need to be added as per kconfig checks:

	CONFIG_BLK_DEV_UBLK=m
	CONFIG_EROFS_FS_ZIP_LZMA=y
	CONFIG_EROFS_FS_ZIP_DEFLATE=y
	CONFIG_EROFS_FS_ZIP_ZSTD=y

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8109>
2026-03-04 19:23:14 +00:00
Ferass El Hafidi 96e0dfae9a linux-postmarketos-exynos4: add ISA1200 haptics support
It has been around for a while but wasn't enabled in the kernel config.
Add it so samsung-p4note gets working haptics.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8109>
2026-03-04 19:23:14 +00:00
Aelin a15b601455 linux-postmarketos-lts: Upgrade to 6.18.16
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8121>
2026-03-04 18:21:12 +00:00
Aelin 578c43dbf8 linux-postmarketos-stable: Upgrade to 6.19.6
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8120>
2026-03-04 18:18:40 +00:00
Val Packett 1269a73318 systemd/mutter: add hotfix for external displays on Qualcomm devices
As this was recently applied upstream, apply to the forked package

Link: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4850
Link: https://gitlab.alpinelinux.org/alpine/aports/-/commit/732334134c9677994d622eb90cef9facd0fe47d9
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7909>
2026-03-04 14:21:22 -03:00
Pablo Correa Gómez cd934c19be docs: add initial packaging guidelines to explain providers
Relates https://gitlab.postmarketos.org/postmarketOS/docs.postmarketos.org/-/issues/18

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7875>
2026-03-04 16:26:14 +00:00
Bart Ribbers 5e6b299f02 systemd/plasma*: upgrade to 6.6.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8118>
2026-03-04 14:27:42 +00:00
Pablo Correa Gómez 07087f8bd5 main/fbkeyboard: drop
This package should instead be in alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7501>
2026-03-03 22:11:34 +01:00
Pablo Correa Gómez f1b572d289 main/postmarketos-ui-fbkeyboard: update maintainer
Robert Bloy already took maintenance of the fbkeyboard utility in
0431133641 and the former maintainer
does not have an account in our gitlab. So transfer maintainership.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7501>
2026-03-03 22:11:33 +01:00
Aelin 8c15baad17 main/postmarketos-ui-plasma-desktop: only depend on plasma-login-manager for systemd
By moving the dependency to the systemd subpackage and depending on sddm
for OpenRC installs, we fix OpenRC installs and unbreak the bootstrap
dependency cycle for the main and systemd repo.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8116>
2026-03-03 19:16:53 +00:00
Aelin 33f82fbc51 linux-postmarketos-mainline: Upgrade to 7.0_rc2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8114>
2026-03-03 18:59:58 +00:00
Barnabás Czémán 91ba3d89c2 device-qcom-msm8953: update panel drivers
Update panel drivers for support the new devices and follow changes in the kernel.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8112>
2026-03-03 18:38:26 +00:00
Barnabás Czémán 8933229820 firmware-qcom-msm8953: fix flipkart-rimob install path
billion-rimob was renamed to flipkart-rimob in the kernel,
fix the install path follow the change.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8112>
2026-03-03 18:38:26 +00:00
Barnabás Czémán ed3f995f94 linux-postmarketos-qcom-msm8953: upgrade to v6.19.5-r0
Upgrade to v6.19.5-r0

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8112>
2026-03-03 18:38:26 +00:00
postmarketOS CI 096b7a521a linux-next: upgrade to next-20260303 2026-03-03 16:39:14 +00:00
Dang Huynh 41c27cedbd device-pine64-pinetab2: Change maintainer name to reflect myself
Signed-off-by: Dang Huynh <dang.huynh@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8100>
2026-03-03 11:30:43 +00:00
Dang Huynh 8dcb66112c linux-pine64-pinetab2: Upgrade to 6.18.10
Signed-off-by: Dang Huynh <dang.huynh@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8100>
2026-03-03 11:30:43 +00:00
Clayton Craft 853fdfd2a5 linux-postmarketos-asahi: upgrade to 6.18.15
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8115>
2026-03-02 20:10:25 +00:00
Aelin 973ce05104 systemd/systemd: upgrade to 259.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8094>
2026-03-02 18:41:36 +00:00
Aelin baee8982ef systemd/systemd-stage0: upgrade to 259.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8094>
2026-03-02 18:41:36 +00:00
postmarketOS CI 11643e89d6 linux-next: upgrade to next-20260302 2026-03-02 16:38:29 +00:00
Eric Anderson a7cfc24c34 device-asus-flo: Fix cmdline bootloader workaround
The flo bootloader discards the first 26 characters of the kernel
cmdline. The conversion to the new kernel cmdline configuration in !7830
now causes "quiet" from 00-base.conf to be prefied before the xxxxx
padding workaround, which caused the effective cmdline to begin
"xxxxxxconsole=ttyMSM0,115200,n8" (quiet discarded, and console no
longer would parse). Putting the xxxxx workaround in a file that sorts
before 00-base.conf causes the intended characters to be discarded.

The number of xxx's changed from 26 to 25 because now there will be a
space following the string.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8111>
2026-03-02 14:23:10 +00:00
Bart Ribbers 1a4d7b642c systemd/sddm: drop
We use plasma-login-manager on systemd installations with Plasma desktop
now, there is no need to keep a systemd version of SDDM around.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8079>
2026-03-02 14:31:13 +01:00
Bart Ribbers 654c9c242a systemd/plasma-login-manager: new aport
We're using it as a SDDM replacement

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8079>
2026-03-02 14:31:13 +01:00
Yassine Oudjana 4323e7ecdd firmware-xiaomi-scorpio: add sns.reg
Add file needed by Qualcomm Sensor Registry.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7264>
2026-03-02 11:35:30 +00:00
Yassine Oudjana 6276f81baa device-xiaomi-scorpio: update device package
Add bootmac needed for initializing Bluetooth MAC address and remove
no longer needed GPU workaround.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7264>
2026-03-02 11:35:30 +00:00
Yassine Oudjana 81d4ff749e linux-postmarketos-qcom-msm8996: upgrade to 6.19.5
Switch to LLVM to enable CFI and pass kconfig check.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7264>
2026-03-02 11:35:30 +00:00
Stefan Hansson cdab235aba linux-postmarketos-qcom-msm8974: Fix kconfig
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7718>
2026-03-02 08:11:53 +00:00
Vishwas Rajashekar 6f4197893b linux-postmarketos-qcom-msm8974: enable driver module for max17050 fuel gauge
Signed-off-by: Vishwas Rajashekar <dev@vrajashkr.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7718>
2026-03-02 08:11:53 +00:00
Vishwas Rajashekar 8e65bd98aa device-samsung-lt03lte: add new device lt03lte
Add support for the Samsung Galaxy Note 10.1 2014 LTE.

Signed-off-by: Vishwas Rajashekar <dev@vrajashkr.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7718>
2026-03-02 08:11:53 +00:00
Aelin b3d48deb9c systemd/plasma*: re-enable riscv64
[ci:skip-vercheck]: re-enabling package for arch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8110>
2026-03-01 19:13:52 +01:00
Antoine Martin cd452bc4d6 linux-pine64-pinenote: upgrade to 6.19.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8106>
2026-03-01 17:19:49 +00:00
Aelin ad870b8215 cross/systemd-boot-x86: upgrade to 259.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8097>
2026-03-01 17:17:14 +00:00
Aelin b7cb738a62 docs/generic-kernels: Add device package template
This is currently hidden away in a GitLab issue comment. For broader
visibility, let's just put this in the documentation to encourage people
to follow it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8108>
2026-03-01 16:33:58 +01:00
Bart Ribbers 846482ea84 systemd/plasma*: upgrade to 6.6.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8077>
2026-03-01 11:22:58 +00:00
bluebunny 6a6b1f1e1a device-samsung-exynos7: enable melfas mip4 touchscreen
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8096>
2026-03-01 05:27:57 +00:00
Achill Gilgenast b3aff65141 Revert "systemd/pmos-base-systemd: update preset for pipewire/pipewire-pulse"
pipewire{,-pulse}.socket are in Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/commit/4cbc728083782305dfe11056d79a2a4aa06e9c2e

This reverts commit e399d48234.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8101>
2026-02-28 17:47:20 +01:00
Aelin 4cd940f23c linux-postmarketos-lts: Upgrade to 6.18.15
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8093>
2026-02-28 08:13:20 +00:00
Aelin 4f6e19ddce linux-postmarketos-stable: Upgrade to 6.19.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8092>
2026-02-28 00:10:36 +01:00
Paul Sajna 5e55e07aac device-nokia-n900: Store non-binary keymaps for systemd-firstboot
As far as I can tell, systemd-firstboot doesn't understand bkeymaps
and requires the ascii versions to be present

Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7752>
2026-02-27 20:55:21 +00:00
Luca Weiss d3ed45a6a4 main/lk2nd: upgrade to 22.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8073>
2026-02-27 16:39:27 +00:00
postmarketOS CI 758f775ecc linux-next: upgrade to next-20260227 2026-02-27 16:38:23 +00:00
Aster Boese c563c33696 linux-postmarketos-qcom-sdm845: migrate to kernel fragments
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7451>
2026-02-27 15:47:01 +00:00
Aelin 7dafbb4123 linux-postmarketos-lts: Upgrade to 6.18.14
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8090>
2026-02-27 15:33:43 +00:00
Aelin 7d853945d2 linux-postmarketos-stable: Upgrade to 6.19.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8089>
2026-02-27 12:59:37 +00:00
bluebunny 420239ba06 device-xiaomi-pipa: use linux-firmware-qcom
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8088>
2026-02-27 10:09:33 +00:00
Aelin f800afc5a4 device-generic-loongarch64: Pull in linux-firmware-rtl_nic
Several LoongArch mainboards have RTL NICs that want firmware or
otherwise log soft error like

[   26.928046] r8169 0000:03:00.0: Unable to load firmware rtl_nic/rtl8168h-2.fw (-2)

Add the necessary linux-firmware files to silence them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8082>
2026-02-27 08:20:21 +00:00
Barnabás Czémán 69f10ea718 linux-postmarketos-qcom-msm89x7: upgrade to v6.19.3-r0
Upgrade to v6.19.3-r0

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8081>
2026-02-27 06:29:45 +00:00
postmarketOS CI 49df2efc5e linux-next: upgrade to next-20260226 2026-02-27 05:38:58 +00:00
Sam Day 4dfac08c46 kconfigcheck: expand EroFS support
This modern alternative to SquashFS has been around for a while now.
It's the default format for Fedora's live media, and likely used in many
other notable places too.

Let's enable EroFS support as a baseline "filesystems" capability.

category:immutable was already bringing in erofs as a built-in. Clayton
confirmed in pmaports!8074 discussion that it's okay to downgrade to =m

Signed-off-by: Sam Day <me@samcday.com>
Assisted-by: opencode:gpt-5.3-codex
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8074>
2026-02-26 21:11:10 +00:00
Aelin 51a9680ca2 kconfig-generic: Enable LBT on loongarch64
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8085>
2026-02-26 16:50:42 +00:00
postmarketOS CI 3be0644c29 linux-next: upgrade to next-20260225 2026-02-26 05:38:46 +00:00
Luca Weiss d755b4ddd7 main/deviceinfo-converter: profile.d script fixes
* Fix referencing non-existing variable
* Don't pollute shell variables with deviceinfo by sourcing in a
  subshell and only setting the environment variable.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8076>
2026-02-26 03:00:27 +00:00
Luca Weiss be0fe2076a main/postmarketos-ui-lomiri: various fixes and improvements
* Fix wrong path for lomiri-indicator-location, this has probably
  changed upstream a while ago and was missed.
* Fix font rendering on some Adreno GPUs
* Clean up dependencies
    * Don't force-depend on pipewire* and wireplumber.
    * Remove font-droid-nonlatin since that's already in _pmb_recommends
      of postmarketos-base-ui.
    * Remove networkmanager since that's already a dependency of
      postmarketos-base-ui-networkmanager.
* Add more Lomiri apps as recommended
* Set home button background color, otherwise the white logo is
  invisible on a (default) white background.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8076>
2026-02-26 03:00:27 +00:00
Bart Ribbers 1cf837e15b main/postmarketos-ui-plasma-desktop: disable on x86
We pre-install Firefox but that isn't available anymore on x86 since
67ceb722092486a00de16b6ae72933e179f07fc9 in aports. Since
_pmb_recommends doesn't support things like 'case "$CARCH" in', there is
no way to conditonally disable Firefox on the architecture so we have to
disable the entire UI for it for now.

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8080>
2026-02-25 20:27:50 +01:00
Sam Day ce5a8307a3 kconfigcheck: enable ublk driver for netbooting devices
ublk allows a block device to be driven from userspace. think FUSE, but
blocks.

smoo uses ublk to present a block device driven by a USB protocol. this
serves as an alternate data plane to nbd for netbooting use cases.

Signed-off-by: Sam Day <me@samcday.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8075>
2026-02-25 20:52:21 +10:00
Achill Gilgenast 854721bdba main/postmarketos-base-ui-gnome: depend on gnome-backgrounds
All GNOME-like UIs should install the backgrounds to get a few default
ones to choose from in g-c-c. ui-gnome previously pulled them in per
`gnome`-pkg, ui-gnome-mobile previously depended on the wallpapers
directly. So only phosh has a actual effect.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8068>
2026-02-25 07:48:59 +00:00
Achill Gilgenast 1181d64aae main/postmarketos-ui-phosh: depend on phosh-wallpapers
These are the upstream-made wallpapers, so allow users to choose from
them aswell.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8068>
2026-02-25 07:48:59 +00:00
postmarketOS CI 4bb3ce27d6 linux-next: upgrade to next-20260224 2026-02-25 05:38:41 +00:00
Daniel Sand 520b1981b0 device-pine64-pinebookpro: add wifi firmware workaround
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4285

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7936>
2026-02-25 00:48:53 +00:00
user0-07161 1c53ca4e98 linux-bananapi-bpi-m2-zero: upgrade to 7.0-rc1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8067>
2026-02-24 23:14:31 +00:00
Aelin a4e9924792 linux-htc-flounder: Modernize package
This aligns the APKBUILD with some of the other close-to-mainline kernel
packages in community and gets rid of downstreamkernel_prepare, which
actually requires a cross GCC that we don't want to use.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8066>
2026-02-24 18:54:02 +00:00
Ferass El Hafidi ab2a716197 device-google-trogdor: add hid-generic module to initramfs
Following a kernel upgrade, HID_GENERIC was changed from =y to =m,
however it was not included in the initramfs, causing the keyboard to
not respond and thus the FDE unlocking to be broken. Fix this by adding
it to the initramfs so the keyboard works again.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8064>
2026-02-23 15:42:50 +00:00
Alicja Michalska a591222a4a device-xiaomi-pyxis: Enable ADSP (sensors)
Mostly workarounds for OpenRC, works as-is with systemd.

Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8021>
2026-02-23 15:01:23 +00:00
Alicja Michalska 5ed3ef9b36 firmware-xiaomi-pyxis: Add more firmware
WiFi, ADSP, CDSP, ACDB calibration

Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8021>
2026-02-23 15:01:23 +00:00
Alicja Michalska cb6273add3 linux-xiaomi-pyxis: Drop
Deprecate the package, we're using sdm670-mainline now.

Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8021>
2026-02-23 15:01:23 +00:00
Alicja Michalska 59837df0d5 device-xiaomi-pyxis: Switch to using sdm670-mainline kernel
Changed in my personal tree (sdm710-mainline) have been merged into
sdm670-mainline common tree as those SoCs are very similar (essentially
the same).

Currently trying to get ADSP working, so this patch also adds config
files for Hexagon DSP.

Since I got U-Boot working on this device, I also added systemd-boot.
This way I can provision rootfs on MicroSD and dual-boot into Android
for grabbing more logs, traces and firmware files.

Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8021>
2026-02-23 15:01:23 +00:00
Alicja Michalska 7153d7dffc linux-postmarketos-qcom-sdm670: Add sdm710 and xiaomi-pyxis
Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8021>
2026-02-23 15:01:20 +00:00
Aelin e55ccfbffa Revert "temp/msm-modem: copy from aports"
This reverts commit 58af6f9a58.

The package has been built in Alpine now.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8062>
2026-02-23 10:43:28 +00:00
Yureka 5a9034112f linux-htc-flounder: update to 6.19
- Update & migrate kernel config
- Add recommended options from kconfig check
- Add options required for iwd

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8051>
2026-02-23 10:16:15 +00:00
Bart Ribbers db358258c8 systemd/kwin: build with gamecontroller support
Equivalent of b7b9e184fc8eff526e2de63f387078baa45b4fbe in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8061>
2026-02-23 09:47:57 +00:00
Antoine Martin 67255dbea0 linux-pine64-pinenote: upgrade to 6.19.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8054>
2026-02-23 09:33:22 +00:00
Sebastian Fleer 4e1c01921f linux-postmarketos-rockchip: upgrade to 6.18.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8059>
2026-02-23 09:00:27 +00:00
Aelin b8dcdf510f linux-postmarketos-mainline: Upgrade to 7.0-rc1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8060>
2026-02-23 00:30:55 +01:00
Ingo Reitz c38afea85e linux-postmarketos-gs101: fix kconfigcheck
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7598>
2026-02-22 16:05:41 +00:00
Ingo Reitz d89adbf7a4 linux-postmarketos-gs101: update to 6.18.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7598>
2026-02-22 16:05:41 +00:00
Achill Gilgenast f845de36a2 device-nothing-spacewar: add me as a co-maintainer
[ci:skip-vercheck]: just comments

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8057>
2026-02-22 15:41:19 +00:00
Aster Boese 5e3d65b2bd treewide: add !check to options of packages without tests
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8055>
2026-02-22 15:39:25 +00:00
Oliver Smith de0624fb53 systemd/networkmanager: upgrade to 1.52.2
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8024>
2026-02-22 15:38:09 +01:00
Achill Gilgenast 58af6f9a58 temp/msm-modem: copy from aports
Alpine builder died because there are weird shenangins going on with
coreutils testsuite. Build a version for postmarketOS until the builders
catched up again.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8050>
2026-02-21 23:44:45 +01:00
Aster Boese 9cdad06111 oneplus-fajita: disable quiet
This fixes a race condition between the panel initialization and the console.
I cannot reproduce it myself, but others report that this change fixes the
race condition for them, so add it anyways.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7953>
2026-02-21 16:03:10 +00:00
Aster Boese 5d8d840715 apple-idevice: enable deviceinfo_drm
With simpledrm, all devices that this device supports with a display can use drm now.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8049>
2026-02-21 11:24:24 +00:00
Aelin 7d0a463c0d linux-lynx-r1: Build with LLVM
See https://postmarketos.org/edge/2025/11/11/kernels-llvm/ for the
background behind this change and how we're handling these MRs.

[ci:skip-kconfigcheck]: bulk toolchain change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8033>
2026-02-20 23:47:06 +00:00
postmarketOS CI 705775d20e linux-next: upgrade to next-20260220 2026-02-20 16:38:39 +00:00
Achill Gilgenast 2db9aafe4c soc-qcom-msm89x7: enable msm-modem-wwan-port openrc service in -modem-openrc
[ci:skip-vercheck]: only changed non-checksums files, but in the end it
doenst even matter

Signed-off-by: Achill Gilgenast <achill@achill.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7677>
2026-02-20 15:34:56 +01:00
Achill Gilgenast 7b5f762899 soc-qcom: enable {rmtfs,msm-modem-uim-selection} openrc service in -modem-openrc
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7677>
2026-02-20 15:31:54 +01:00
Achill Gilgenast 539c681cf3 main/postmarketos-base-downstream: enable msm-modem-downstream openrc service on post-install
Moved from the now removed msm-modem, see HEAD~.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7677>
2026-02-20 15:31:54 +01:00
Achill Gilgenast 55eb68b586 modem/msm-modem{,-wwan-port}: remove
Moved them to a seperate repository with meson as buildsystem. That
makes it much more maintainable in a single repository, suitable for
upstreaming in Alpine, allows other distros to use it, and cleans up
A LOT of tech dept.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7677>
2026-02-20 15:30:05 +01:00
alk3pInjection 33062abaca linux-postmarketos-mediatek-mt81: upgrade to 6.18.13
stable kernel v6.18.13 has picked upstream commit
be0b304eeb8c5f77e4f98f64e58729d879195f2f
which is a proper fix for the mtk-drm regression introduced in v6.18-rc1

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8047>
2026-02-20 13:43:03 +00:00
Aelin 2fc319cf11 linux-postmarketos-lts: Upgrade to 6.18.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8044>
2026-02-20 13:03:29 +00:00
Aelin ad3b6f279c linux-postmarketos-stable: Upgrade to 6.19.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8043>
2026-02-20 12:59:49 +00:00
Aelin f96ae83d6a cross/grub-efi-x86: Upgrade to 2.12-r9
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8045>
2026-02-20 07:10:39 +00:00
Achill Gilgenast cf3aeb95dc systemd/gnome-shell: upgrade to 49.4
Signed-off-by: Achill Gilgenast <achill@achill.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8001>
2026-02-20 02:49:41 +01:00
Achill Gilgenast 3a532d9929 systemd/mutter: upgrade to 49.4
Signed-off-by: Achill Gilgenast <achill@achill.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8001>
2026-02-20 02:49:21 +01:00
Clayton Craft cb0d645970 soc-qcom: restart modem-gnss.service on failure
Apparently starting after MM isn't always enough time for the location
service to be up, so this adds a periodic restart of the systemd service
every 30 seconds for up to 5 minutes.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8041>
2026-02-20 01:19:12 +00:00
postmarketOS CI 689366112b linux-next: upgrade to next-20260219 2026-02-19 16:38:38 +00:00
Stefan Hansson 3d84d40699 deviceinfo_schema: Document zram_swap_algo
Data mostly taken from the wiki.

Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4352

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8042>
2026-02-19 15:56:01 +01:00
Clayton Craft ca40e89754 linux-postmarketos-asahi: upgrade to 6.18.10
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8037>
2026-02-19 06:39:54 +00:00
Aelin d72814deb4 linux-postmarketos-qcom-sm8150: Build with LLVM
See https://postmarketos.org/edge/2025/11/11/kernels-llvm/ for the
background behind this change and how we're handling these MRs.

[ci:skip-kconfigcheck]: only changing toolchain

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7597>
2026-02-19 06:10:04 +00:00
Stefan Hansson 7204f5fdf3 deviceinfo_schema.toml: Remove "Device" category and use "Device metadata"
I'm not sure how this happened, but I'm pretty sure it was
unintentional.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8039>
2026-02-19 06:03:57 +00:00
postmarketOS CI 1c2ece0ecf linux-next: upgrade to next-20260218 2026-02-19 05:38:50 +00:00
glats 348a61895f postmarketos-initramfs: load loop module before mount_subpartitions on combined initramfs
On devices using a combined initramfs, init_2nd.sh is exec'd directly
from the first stage without ever calling load_modules(). This means the
loop kernel module (CONFIG_BLK_DEV_LOOP=m) is not guaranteed to be
loaded before mount_subpartitions() runs, causing losetup to fail:

  losetup: /dev/sda13: failed to set up loop device: No such file or directory
  ERROR: failed to mount subpartitions!

On the split initramfs path (init.sh), load_modules is called explicitly
before jumping to init_2nd.sh, so this regression did not affect those
devices.

Fix by explicitly loading the loop module in mount_subpartitions(),
right before the loop that searches for partitions. This location was
suggested by Clayton Craft.

Regression introduced by: 86bdb82116 (use loop device for subpartitions)
Tested on: oneplus-cheeseburger (combined initramfs, msm8998, loop=m)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8034>
2026-02-19 00:19:39 -03:00
Luca Weiss 67bc6ac0d3 device/*: Drop redundant deviceinfo variable assignments
[Warning!] deviceinfo_append_dtb: Property is set to its default value (false) and can be removed.
[Warning!] deviceinfo_append_dtb_lts: Property is set to its default value (false) and can be removed.
[Warning!] deviceinfo_append_dtb_exynos4: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_append_dtb\(_.*\)\?="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_external_storage: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_external_storage="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_disable_dhcpd: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_disable_dhcpd="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_bootimg_qcdt: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_bootimg_qcdt="false"/d' device/*/*/deviceinfo

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8035>
2026-02-18 22:04:40 +01:00
Luca Weiss f9401ebf2e deviceinfo: Add default_value = false to all boolean variables
Make sure that dint can complain about some variables being redundant
because they're set to "false".

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8035>
2026-02-18 22:04:39 +01:00
Luca Weiss eecf3e2080 ci: check_devices_in_wiki: Skip packages in 'archived' category
Per definition, those are not available anymore, so stop trying to
validate them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8035>
2026-02-18 22:04:39 +01:00
WeirdTreeThing 55ee725200 device-google-{asurada,cherry,corsola}: move to community from testing
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7764>
2026-02-18 20:36:31 +01:00
bluebunny 7fc4a69a4f device-xiaomi-pipa: introduce a device-specific kernel
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8010>
2026-02-18 19:32:00 +00:00
Federico Amedeo Izzo e32dcc0320 device-nothing-spacewar: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8028>
2026-02-18 18:27:32 +00:00
Luca Weiss 4730ed6e4c device-qcom-msm8916: drop invalid deviceinfo_generate_systemd_boot_efi
This variable is not documented and I can't find any use of it. Drop it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8036>
2026-02-18 16:19:08 +00:00
Vladimir Muromskiy 7598b4405c google-flame: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7942>
2026-02-18 10:41:34 +00:00
Bart Ribbers a4bf49b8a1 systemd/plasma*: upgrade to 6.6.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8026>
2026-02-17 18:03:56 -08:00
Aster Boese b998e511fc oneplus-cheeseburger: use correct spitfunc for -udev
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8031>
2026-02-17 20:07:05 -05:00
Aster Boese e6e928feaa asus-flo: install udev config under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:57:07 -08:00
Aster Boese 0a96c2714a xiaomi-miatoll: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:34 -08:00
Aster Boese c9b774a0e7 powkiddy-x55-mapper: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:23 -08:00
Aster Boese 9040affe7f xiaomi-perseus: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:23 -08:00
Aster Boese 1860210bf8 samsung-p4note: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:11 -08:00
Aster Boese e424b1cd8f bluetooth-raspberry-pi: install udev configs under /usr/lib/ and update formatting
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:11 -08:00
Aster Boese 5900b3b6ee samsung-p4wifi: install udev configs and firmware files under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:11 -08:00
Aster Boese 459d860862 sony-sirius: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:55:11 -08:00
Aster Boese c5cd4c5439 oneplus-cheeseburger: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:54:55 -08:00
Aster Boese afc72eff80 pine64-pinetab: install udev configs under /usr/lib/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7540>
2026-02-17 16:54:24 -08:00
postmarketOS CI fa51c0461b linux-next: upgrade to next-20260217 2026-02-17 16:38:39 +00:00
Aelin a0d8d5ef8c linux-postmarketos-qcom-sc7280: Enable virtualization support
The Radxa Dragon Q6A can boot Linux in EL2 and make use of KVM.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7959>
2026-02-17 14:12:19 +01:00
Luca Weiss 8e5c197c0d linux-postmarketos-qcom-sc7280: upgrade to 6.19.0
Manual kconfig changes:
* REGULATOR_QCOM_REFGEN=y

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7992>
2026-02-17 11:21:36 +00:00
Alicja Michalska b2775ab1c3 linux-postmarketos-qcom-sc7180: Update to 6.18.9
Bumping the kernel to newest LTS, moves usb-storage to be a module
(instead of built-in).

Signed-off-by: Alicja Michalska <ellyqw@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7964>
2026-02-17 08:28:17 +01:00
WeirdTreeThing a3f0eee088 linux-postmarketos-mediatek-mt81: fix kconfig check errors
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7171>
2026-02-16 18:46:46 -05:00
WeirdTreeThing 447307db89 linux-postmarketos-mediatek-mt81: upgrade to 6.18.9
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7171>
2026-02-16 18:46:46 -05:00
Oliver Smith 76a9161063 docs/generic-kernels: add policy for patches
Aelin proposed this policy for patches in today's meeting and I think
this makes a lot of sense.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8022>
2026-02-16 21:50:28 +00:00
Aelin fe6a2795c0 linux-postmarketos-lts: Upgrade to 6.18.12
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8019>
2026-02-16 21:47:41 +00:00
Neil Armstrong c8dd9f6b58 linux-ayaneo-pocket-s2: refresh kernel on v6.19 and latest mainline patchset
Update to the latest development tree based on the final v6.19 kernel
and the v4 base Ayaneo Pocket S2 support patchset at [1].

[1] https://lore.kernel.org/all/20260216-topic-sm8650-ayaneo-pocket-s2-base-v4-0-802c82795431@linaro.org/

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8017>
2026-02-16 21:45:12 +00:00
Aelin 2a099fb177 linux-postmarketos-stable: Upgrade to 6.19.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8018>
2026-02-16 21:42:22 +00:00
Clayton Craft b32fe382a8 device-shift-axolotl: disable quiet in kernel cmdline
Console enabled to workaround a race condition with display init
See https://gitlab.freedesktop.org/drm/msm/-/issues/46

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7995>
2026-02-16 20:41:33 +00:00
Antoine Martin 2e3f5e7364 linux-pine64-pinenote: upgrade to 6.18.10
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8015>
2026-02-16 19:16:06 +00:00
postmarketOS CI d8e420d5e1 linux-next: upgrade to next-20260216 2026-02-16 16:38:56 +00:00
Aster Boese 30ff8226ad temp/iio-sensor-proxy: rebuild to use libssc.so.2
ERROR: unable to select packages:
  so:libssc.so.1 (no such package):
    required by: iio-sensor-proxy-99993.8-r5[so:libssc.so.1]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8006>
2026-02-16 14:50:10 +00:00
Victoria Brekenfeld 6a4cc6625e linux-ayaneo-pocket-s2: Enable framebuffer rotation
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7877>
2026-02-16 10:41:10 +00:00
Victoria Brekenfeld a55dcb4c26 device-ayaneo-pocket-s2: Support booting from UFS
Adds `qcom-ufs` to the initramfs to be able to boot
from UFS. Additionally it changes the boot partition
to `fat16`, which seems necessary for some reason for
the patched abl-efi to pick up the partition even
though this doesn't seem to be required booting from SD.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7877>
2026-02-16 10:41:10 +00:00
Cristian Cozzolino ed40b90ee7 firmware-qcom-msm8953: add Billion Capture+ gpu firmware
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7288>
2026-02-16 09:02:11 +00:00
Cristian Cozzolino 88065f67f1 device-qcom-msm8953: add panel_billion_rimob_nt35532_cs to modules-initfs
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7288>
2026-02-16 09:02:11 +00:00
Luca Weiss bc8f3b00ed linux-postmarketos-qcom-sm6350: upgrade to 6.19.0
Manual kconfig changes:
* MODULE_DECOMPRESS=y (category:default)
* SND_USB_AUDIO_MIDI_V2=y (category:usb)
* USB_UAS=m (category:usb)
* USB_USBNET=m (category:usb)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7971>
2026-02-16 08:05:54 +00:00
Stefan Hansson b586a6d949 docs: specify path to deviceinfo reference when generating it
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4333

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8011>
2026-02-14 20:05:28 +00:00
Nikita Travkin 2adf6c7c45 main/dtbloader: upgrade to 1.5.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8012>
2026-02-14 18:05:17 +05:00
postmarketOS CI 2a04dcf28e linux-next: upgrade to next-20260213 2026-02-14 05:38:46 +00:00
Stefan Hansson 8316a6260d main/dint: upgrade to 0.1.1
Helps https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4333

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8005>
2026-02-14 02:09:52 +00:00
Clayton Craft c40652c84b main/postmarketos-initramfs: fix subpartition counting with MBR
bb's fdisk prints the table in a different format when using MBR, this
fixes it to correctly count partitions in both cases.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8008>
2026-02-14 00:55:22 +00:00
Aelin 5ef966668f linux-postmarketos-lts: Upgrade to 6.18.10
[ci:skip-build]: already built in -stable

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8009>
2026-02-13 21:17:00 +00:00
Andreas Kemnade 3ae41f0abb device-{kobo,tolino}-*: enable drm for i.MX6 based ereaders
The near mainline kernel provides things in /dev/dri which can be used to
produce output on the screen. Of course these things are
quite dumb.
But the property is not named acceleration anymore.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8003>
2026-02-13 19:36:55 +00:00
Aster Boese 3ef8706a98 linux-samsung-a53x: set source to working git repository
The kernel source of linux-samsung-a53x is a mirror of the actual kernel
source. This mirror is down, so change the source to point the the kernel
repo instead of the mirror.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7994>
2026-02-13 11:36:53 -05:00
Scott C 39dc15dc4a linux-postmarketos-omap: panel-lg-ld070ws1: Mode, Orientation, Devicetree Updates, Many Cleanups
Many updates made throughout to bring this driver from the rough initial state
previously committed to something much more comprehensive and correct/ final.

Make various updates to allow setting the panel mode from the device tree:

- add functionality to be able to read a display mode / panel-timing from the
  device tree
  - wanted to add this to make explicit that nook color requires building
    kernel with a certain dss flag/value set also requiring
    that pixel clock to be <= functional clock / 4
- make bus_flags in device tree fail probe
- Allow setting panel orientation

Update spi init function to modernize bit handling and remove older redundant function

Facilitate apparent need for min FCK / PCK = 4 with Barnes & Noble Encore / Nook Color

- switch the default display mode to match the apparent
  need for min FCK / PCK = 4 with Barnes & Noble Encore / Nook Color
- tweak the modes array and remove the sizing since that is actually set elsewhere

Clean-Up All Over:

- Clean up logging to hopefully be close to kernel norms/ standards.
  - Driver now only generates logs when probe completes and when panel
    is powered off / on.
  - Some additional logging is generated when debug is enabled.
- Remove extra/unnecessary code from enable function that was added when
  initially developing
- Remove commented code and updated formatting
- Tweake mode names to not include @ sign
- remove some likely unnecessary bus flags

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7882>
2026-02-13 12:49:19 +00:00
Aelin ee7eefb2b6 linux-postmarketos-stable: Upgrade to 6.18.10
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7999>
2026-02-13 10:17:03 +00:00
Andreas Kemnade 88bad45453 linux-postmarketos-imx-ereader: update to 6.19
- several drivers are now upstream
    - configuration aligned
    - switch to clang

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7979>
2026-02-13 10:11:19 +00:00
Andreas Kemnade 6ba8c78578 device-kobo-clara: update module name
module name for epd regulator was changed in kernel

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7991>
2026-02-13 10:07:40 +00:00
Andreas Kemnade 7699cb6fe0 device-tolino-shine2hd: update module name
module name for epd regulator was changed in kernel

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7991>
2026-02-13 10:07:40 +00:00
Andreas Kemnade 6d2139e5bc device-tolino-shine3: update module name
module name for epd regulator was changed in kernel

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7991>
2026-02-13 10:07:40 +00:00
bluebunny c2dc312b92 device-xiaomi-pipa: remove deviceinfo_bootimg_qcdt
Since deviceinfo_bootimg_qcdt is already false, it is redundant and should be removed.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8000>
2026-02-13 12:55:53 +09:00
Clayton Craft c4832ed456 main/postmarketos-initramfs: fix subpartition mount on split initramfs
I shouldn't have used parted here... it's not available in the 1st stage
initramfs. Busybox's fdisk can also list subpartitions so let's use
that instead.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7998>
2026-02-12 15:04:48 -08:00
bluebunny 3fa7cb93fc device-xiaomi-pipa: add vendor firmware and config files
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7987>
2026-02-12 21:38:13 +00:00
Clayton Craft 6dfc392214 linux-postmarketos-qcom-sdm845: enable immutable config
[ci:skip-kconfigcheck] will be replaced by pma!7451 at some point

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7997>
2026-02-12 21:06:37 +00:00
Henrik Grimler 9cc6004f9b linux-postmarketos-exynos4: update to 6.18.9
Changes since 6.16.10 are:

* Add touchkey leds for kona (@jack_kekzoz)
* Add Wacom w9000 penabled touchscreen driver for kona (@f_,
  @eisenbahnfan)

Tested on samsung-i9305 and odroid-u2.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7996>
2026-02-12 18:51:05 +00:00
postmarketOS CI e9e5fa405c linux-next: upgrade to next-20260212 2026-02-12 16:55:55 +00:00
Clayton Craft 86bdb82116 main/postmarketos-initramfs: use loop device for subpartitions
This reworks the subpartition init to use loop devices instead of
kpartx/dm mappings. This allows us to use the same logic for resizing
as we do for other partitioning schemes (and refactors that code a bit).
This also helps duranium, because systemd tooling (repart, sysupdate,
gpt-auto-generator) can't properly handle GPT subpartitions exposed via
kpartx dm mappings, but works correctly with loop devices created with
partition scanning enabled.

After this change, subpartitions show up as loop devices, e.g.:

$ ls /dev/loop*
/dev/loop0p1
/dev/loop0p2

There *should* be no impact to existing installs.

This also drops the dependency on multipath-tools, which seems to have
been added years ago as a workaround for installing kpartx (like maybe
multipath-tools used to provide kpartx?), see 7573f5fce4. Anyways, we
don't use anything in this pkg in the initramfs AFAIK.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7932>
2026-02-11 19:22:40 +00:00
postmarketOS CI fd38701c35 linux-next: upgrade to next-20260211 2026-02-11 16:41:16 +00:00
Clayton Craft 47b975272a main/postmarketos-mkinitfs: upgrade to 2.9.0
Includes a fix for a regression in 2.8.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7986>
2026-02-11 14:55:16 +00:00
Clayton Craft 8341bcd3e3 main/boot-deploy: upgrade to 0.23.0
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7986>
2026-02-11 14:55:16 +00:00
Jakob Hauser 2a6af8101b main/swclock-offset: upgrade to 0.3.0
0.3.0 Changelog:
- Change behavior on missing RTC from "fail" to "skip"

0.2.9 Changelog:
- Restore failure on missing rtc sys node
- Remove quotation marks in shell scripts
- Allow customizing cache path by make
- systemd: break dependency cycle

0.2.8 Changelog:
- Gracefully handle absence of RTC and offset storage file

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7989>
2026-02-11 14:18:44 +00:00
Richard Acayan 10462ab8a7 linux-postmarketos-qcom-sdm670: backport q6asm-dai sound fix
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7981>
2026-02-11 10:21:26 +00:00
Luca Weiss 6abd70954c linux-postmarketos-qcom-milos: upgrade to 6.19.0
Manual kconfig changes:
* MODULE_COMPRESS=y (category:default)
* MODULE_COMPRESS_ZSTD=y (category:default)
* MODULE_DECOMPRESS=y (category:default)
* DRM_UDL=m (category:usb)
* SND_USB_AUDIO_MIDI_V2=y (category:usb)
* USB_SERIAL=m (category:usb)
* USB_SERIAL_CP210X=m (category:usb)
* USB_SERIAL_SIMPLE=m (category:usb)
* USB_STORAGE=m (category:usb)
* USB_UAS=m (category:usb)
* USB_USBNET=m (category:usb)
* USB_RTL8152=m (category:usb)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7968>
2026-02-11 08:19:40 +00:00
postmarketOS CI 6a9fdcb50b linux-next: upgrade to next-20260210 2026-02-11 05:39:05 +00:00
adamthiede 9cfc242140 linux-postmarketos-mediatek-mt8173: upgrade to 6.19,satisfy kconfig lint
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7975>
2026-02-11 01:30:19 +00:00
Luca Weiss c0047e39c1 linux-postmarketos-qcom-msm8974: upgrade to 6.15.11
No manual kconfig changes.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7978>
2026-02-11 01:04:09 +00:00
Stefan Hansson d6834e89f3 docs: raise exception if dint reports an error
Currently, even if dint fails for some reason, the documentation
generation continues on. This is not good as it hides problems until
someone manually discovers them. Fix this by checking the exit code of
dint and raising an exception if it isn't zero.

To facilitate this, also replace call() with run() since it's a more
modern and more flexible API.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7982>
2026-02-11 01:01:45 +00:00
Andreas Kemnade f859fe7ad0 device-kobo-clara2e: board revision autodetection and prepare for FDE
Everything is there, just use the autodetection, FDE was seen working
with revision b.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7984>
2026-02-11 00:59:06 +00:00
Bhushan Shah c2327f041d device-fairphone-fp5: force s32 on sinks only
S32 format is not supported on the microphones.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7880>
2026-02-10 23:39:05 +00:00
Bhushan Shah 6053df3ae1 alsa-ucm-conf-qcom-sc7280: update for Fairphone 5 mic support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7880>
2026-02-10 23:39:05 +00:00
Bhushan Shah ec6c857e09 linux-postmarketos-qcom-sc7280: upgrade to 6.18.8
This adds Fairphone 5 microphone support.

Manual kconfig changes:
* MODULE_DECOMPRESS=y (category:default)
* SND_USB_AUDIO_MIDI_V2=y (category:usb)
* USB_UAS=m (category:usb)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7880>
2026-02-10 23:39:05 +00:00
Aelin 53e3ce981d systemd/systemd: re-enable BTF support
This fixes unprivileged nspawn.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7898>
2026-02-10 14:10:08 -08:00
methanal db89dfde58 samsung-exynos7: new device
New device for all SoCs in the Exynos7 family. Currently tested with:
 - samsung-a2corelte (Galaxy A2 Core)
 - samsung-j6lte (Galaxy J6)
 - samsung-on7xelte (Galaxy J7 Prime)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7886>
2026-02-10 23:24:43 +05:30
methanal 0520b76b54 kconfig-generic: add graphics and input categories
Initial options include drivers required for Exynos 7870 devices.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7886>
2026-02-10 23:01:18 +05:30
Clayton Craft 4a4130e7a4 Revert "main/postmarketos-mkinitfs: upgrade to 2.8.0"
There's a bug that breaks booting on android devices, needs
investigation. In the meantime, revert this!

This reverts commit 0e7cc643c6.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7985>
2026-02-10 08:47:20 -08:00
Luca Weiss 5d16987596 linux-postmarketos-qcom-msm8974: build with LLVM & update config per kconfigcheck
Migrate the compiler to LLVM toolchain and update config as per required
and preferred config options by kconfigcheck.

Update the APKBUILD to follow some more recent standards as well.

Since the kernel image got too big (again) for msm8974, activate
CONFIG_CC_OPTIMIZE_FOR_SIZE and CONFIG_KERNEL_XZ to get the kernel a bit
smaller again to fit below the magical limit (see !5725).

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7538>
2026-02-10 15:37:16 +00:00
bluebunny 89b5544b9d device-xiaomi-pipa: add wifi and bluetooth firmware
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7976>
2026-02-10 15:03:59 +00:00
Clayton Craft 0e7cc643c6 main/postmarketos-mkinitfs: upgrade to 2.8.0
Fixes !7949

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7980>
2026-02-10 14:30:59 +00:00
Stefan Hansson 8145270334 CI: build docs on changes to build-docs.sh script
Otherwise we may end up with errors that aren't noticed until something
else triggers this.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7983>
2026-02-10 10:16:54 +01:00
Stefan Hansson b9db67e42d CI: build and deploy docs on deviceinfo schema change
The deviceinfo schema is used to generate the "Deviceinfo Reference"
page, so we should consider changes to it as part of changes to the
documentation.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7983>
2026-02-10 10:16:52 +01:00
Clayton Craft 550ca9908b deviceinfo: mark generate_systemd_boot as obsolete
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7949>
2026-02-09 14:25:54 -08:00
Clayton Craft b1ba6759d6 device/*: drop deviceinfo_generate_systemd_boot variable
fixes # 4299

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7949>
2026-02-09 14:22:57 -08:00
Aelin d6000514af systemd/gnome-desktop: upgrade to 44.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7977>
2026-02-09 21:29:04 +00:00
Achill Gilgenast cff469b89d systemd/systemd: convert sed commands to a patch file
sed's are rarely allowed in APKBUILDs, and in this case it should've
never been a sed in the first place.

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7969>
2026-02-09 19:12:14 +00:00
adamthiede c95e61d828 device-sqfmi-beepy: update module building and add patch
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7888>
2026-02-09 18:09:49 +00:00
Aster Boese 5be611a331 qualcomm-sdm845: add myself as Co-Maintainer
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7973>
2026-02-09 11:55:33 -05:00
Aster Boese a4ea6ee5dd oneplus-fajita: add myself as Co-Maintainer
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7973>
2026-02-09 11:41:51 -05:00
Achill Gilgenast 691194c26d device-lg-lenok-downstream: remove -asteroid subpkg
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7972>
2026-02-09 16:14:15 +00:00
Achill Gilgenast 3f0ff62df2 device-lg-dory: remove -asteroid subpkg
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7972>
2026-02-09 16:14:15 +00:00
Achill Gilgenast 0e7234ae34 device-lg-lenok: remove -asteroid subpkg
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7972>
2026-02-09 16:14:15 +00:00
Achill Gilgenast c91a823f37 systemd/postmarketos-base-systemd: remove asteroid presets
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7972>
2026-02-09 16:14:15 +00:00
Achill Gilgenast b615a7bd13 main/postmarketos-ui-asteroid: remove
Removed in Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/commit/cd6c73d27e6de078fd74bd0c0032ad84a4e0b5d2

> There seems to be no chance they move to Qt6 in the short term and they
> have already been disabled for a while. When it finally updates to Qt6
> this commit can simply be reverted, together with
> e4b455e8

Removing references of asteroid in  this MR, since it's no longer in any
use. Feel free to revert once they migrated to Qt6.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7972>
2026-02-09 16:14:15 +00:00
Achill Gilgenast be8ab16df2 cross/systemd-boot-x86: upgrade to 259.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7970>
2026-02-09 15:48:37 +00:00
Achill Gilgenast d78115753c systemd: upgrade to 259.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7970>
2026-02-09 15:48:37 +00:00
Achill Gilgenast a6e3db510a systemd/systemd-stage0: upgrade to 259.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7970>
2026-02-09 15:48:37 +00:00
Aelin b36d481ef9 linux-postmarketos-mainline: Upgrade to 6.19
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7966>
2026-02-09 10:54:06 +00:00
Daniel Kulesz 27b2613d1a samsung-expresso7: set deviceinfo_flash_sparse="true"
Fixes internal flashing.

Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4202

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7641>
2026-02-09 11:01:27 +01:00
Clayton Craft 5dea9f8b16 device-google-sargo: add support for u-boot
This allows booting pmOS from u-boot on existing and new installs.

Setting the boot partition to vfat isn't strictly necessary (ext2 seems
to work OK), but IIUC either FAT is in the EFI spec or it's what
everyone else uses. We made a similar patch to the OP6/OP6T previously.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
Clayton Craft 9e99265e87 linux-postmarketos-qcom-sdm670: sync kconfig with toml
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
Clayton Craft b796ff9322 linux-postmarketos-qcom-sdm670: add uefi kconfig
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
askiiart 4a09f7c445 hp-elitebook-ultra-g1q: set me as maintainer
hp-elitebook-ultra-g1q: bump pkgrel

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7962>
2026-02-08 12:59:41 -06:00
Robert Eckelmann a0549cd74e device-dell-ariel: new port
armv7, dual-core, mmp3 based thinclient w/ Gbit Ethernet, 2x DVI out,
4x USB-A, 4GB internal storage, 2GB RAM

port to mainline, depends on !7605

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7565>
2026-02-08 18:16:12 +00:00
Stefan Hansson 6b4e097ddc main/dint: upgrade to 0.1.0
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7958>
2026-02-08 18:13:51 +00:00
Clayton Craft e59123dde6 linux-postmarketos-asahi: upgrade to 6.18.8-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7954>
2026-02-08 17:28:44 +00:00
askiiart cb57de3975 hp-elitebook-ultra-g1q: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7270>
2026-02-08 12:24:18 -05:00
Stefan Hansson 367d72c17e deviceinfo_schema.toml: move from dint repository
In preparation for a future dint version that reads this file from the
current working directory with a fallback to reading it from the
repository root.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7951>
2026-02-08 15:36:50 +00:00
Aster Boese 4e56e76b91 linux-htc-flounder: build with LLVM
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7579>
2026-02-08 15:18:11 +00:00
Aelin 65885b2eeb device-qcom-qcs6490: New device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7699>
2026-02-08 03:11:16 +01:00
Aelin f1438ff1cb firmware-thundercomm-rubikpi3: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7699>
2026-02-08 03:11:16 +01:00
Clayton Craft 67ece34776 main/bootmac: upgrade to 0.7.1
This release fixes a race bug when setting wifi MAC addr on boot

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7944>
2026-02-07 23:56:13 +00:00
Aelin bebe107f52 kconfigcheck: Only require zstd module (de)compression on 6.2 or newer
The in-kernel zstd module decompression exists since kernel 6.2 [1], so
in order to accomodate split initramfs devices, we can only safely
require zstd module compression and decompression on 6.2 or newer.

[1]: https://github.com/torvalds/linux/commit/169a58ad824d896b9e291a27193342616e651b82

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7952>
2026-02-07 17:43:35 +01:00
Aelin 3838b98352 linux-postmarketos-lts: upgrade to 6.18.9
[ci:skip-build]: already built successfully in linux-postmarketos-stable

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7948>
2026-02-07 14:06:24 +00:00
bluebunny 3038864133 device-samsung-j7xelte: remove deviceinfo_screen_{width,height}
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7947>
2026-02-07 11:51:48 +00:00
Bart Ribbers a12caedc00 systemd/networkmanager: downgrade to 1.52.1
The 1.54 release broke hotspot (#4118), and downgrading back to 1.52.1
seems to solve the issue. This regression also got in stable sadly.

Upstream issue: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1798

[ci:skip-vercheck] We're downgrading, a lower pkgver is expected

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7929>
2026-02-07 11:32:45 +01:00
Aelin 3e285dd429 linux-postmarketos-stable: upgrade to 6.18.9
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7946>
2026-02-06 23:43:36 +01:00
Clayton Craft 067580ed29 ci/qcom-devicepkg-bootimg: configure job to only run manually, ignore failure
The hw CI isn't stable yet, if a platform is entirely offline (e.g.
because we only have 1 device in CI and it's down for maint.) then the
test job is "pending" for a verrrry long time (16hrs+). mrtest (for
example) is then unable to be used on the MR because the pipeline is
not "success."

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7943>
2026-02-06 19:27:12 +00:00
Clayton Craft 8d85538af3 device-oneplus-fajita: add support for u-boot
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7893>
2026-02-06 18:36:08 +00:00
Henrik Grimler 5d09be7c87 linux-postmarketos-exynos5: update config to pass kconfig check
Notable changes are that we switch to zstd module compression, and
enable MODULE_DECOMPRESS=y to let kernel handle decompression, as
busybox modprobe cannot handle zstd.

Also switch non /boot filesystem types to modules, and disable
MODULE_FORCE_UNLOAD as it is not really a good idea for non-testing
devices.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7921>
2026-02-06 17:16:21 +01:00
Val Packett 839d8035c4 kconfigcheck: add more USB peripherals
- ensure MIDI 2.0 is enabled in the USB audio driver
- ensure UASP is enabled for faster storage access
- ensure USBNET framework is enabled for more Ethernet drivers
  (many particular USB_NET_* drivers have default 'y' in kconfig)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7911>
2026-02-06 15:55:39 +00:00
Aelin f494c6f9b1 device-qcom-sm7150: Drop -openrc subpackage
I don't test OpenRC anymore and don't intend to. Users who want to use
OpenRC on this device are entirely on their own if they want to keep
using it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7928>
2026-02-06 04:51:36 +00:00
Scott C 7f37e14b69 device-barnesnoble-encore: Set xorg screen rotation with conf file
add xorg-rotate-monitor.conf file to set default xorg rotation to portrait mode,
  matching the 'native' orientation of the touchscreen. Add x11 subpackages
  entry to APKBUILD to install xorg conf file.

In deviceinfo, add deviceinfo_drm flag to match with other similar devices

bump pkgver of apkbuild and update checksums

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7939>
2026-02-06 01:34:04 +00:00
Aster Boese 2926f01afb oneplus-enchilada: disable quiet in kernel-cmdline.d
Before switching to kernel-cmdline.d, this device didn't have quiet because of
an issue causing a crash on boot. This patch re-disables quiet.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7923>
2026-02-06 01:28:46 +00:00
Aelin 922acd7373 firmware-asus-me176c: move to testing
This was missed in the move of device-asus-me176c to testing.

Fixes: c7c32a9e0f ("device-asus-me176c: move from community to testing")

[ci:skip-vercheck]: only moving between categories

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7941>
2026-02-05 21:36:32 +01:00
Aelin eec9a43cc1 device-generic-loongarch64: Set deviceinfo_disable_dhcpd
Currently, this is a package that will mostly be used on desktops,
laptops and servers, where enabling dhcpd does not really make sense.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7940>
2026-02-05 20:40:36 +01:00
Achill Gilgenast bce3ae7a06 device-generic-loongarch64: switch to generic pmOS kernels
* Also make stable the default

For: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4288>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7938>
2026-02-05 19:30:59 +00:00
Stefan Hansson 9727816848 main/dint: upgrade to 0.0.8
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7924>
2026-02-04 18:10:16 +00:00
Pablo Correa Gómez f31d40626a ci: update ci-common template
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7927>
2026-02-04 18:46:15 +01:00
Henrik Grimler d38b73fbdd main/postmarketos-initramfs: init_functions: return early in load_modules
If $modules is empty, then `modprobe -a` is run which gives an error
with full modprobe (i.e. not busybox variant):

  [pmOS-rd]: modprobe: ERROR: missing parameters. See -h.

Add a check and return early to avoid potentially printing the error
to users.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7916>
2026-02-04 15:29:25 +00:00
Henrik Grimler 8097acbe40 main/postmarketos-initramfs: mv iskey to base initramfs
It is used in init_functions.sh, and should hence be in base
initramfs.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7916>
2026-02-04 15:29:25 +00:00
Henrik Grimler f45319dc3b main/postmarketos-initramfs: mv some modules to modules-extra
Not all modules are strictly needed in 1st initramfs stage. Move some
of the ones that are not necessary for mounting /boot into
00-default-extra.modules.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7916>
2026-02-04 15:29:21 +00:00
Henrik Grimler b3cb907471 main/devicepkg-dev: add comment about modules-extra-initfs
The package currently handles only modules in modules-initfs, as
modules in modules-extra-initfs are handled automatically through
udev.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7916>
2026-02-04 15:29:18 +00:00
Henrik Grimler 70dbf41ef8 main/devicepkg-dev: use /usr/lib/ in more places
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7916>
2026-02-04 15:29:18 +00:00
Henrik Grimler dfc7fe9107 kconfigcheck: MODULE_DECOMPRESS should be set
We currently enforce MODULE_COMPRESS_ZSTD=y. In the 1st stage
initramfs we use busybox modprobe, and busybox modprobe cannot handle
zstd compression. Therefore, make sure MODULE_DECOMPRESS is enabled so
that kernel handles decompression instead.

See issue https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4305.

Co-developed-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7922>
2026-02-04 14:41:03 +01:00
Aelin 4b01acf1ec ci: Lint when LLVM is not used for a new or moved mainline kernel package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7920>
2026-02-04 13:35:24 +00:00
Ferass El Hafidi 2a39aeba5c device-samsung-herolte: add postmarketos-base-downstream to dependencies
Else lightdm does not load (reported in chat)

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7917>
2026-02-04 09:04:34 +00:00
Clayton Craft 5a8c39b558 linux-postmarketos-qcom-sc7280: enable uefi kconfig check
This also enables some stuff missed in the previous attempt to enable
UEFI support (!7906)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7914>
2026-02-03 21:03:45 +00:00
Clayton Craft 9ee1b6864d device-fairphone-fp5: add systemd-boot to support u-boot
This will make images built for the fp5 work with both android
bootloader and uboot.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7913>
2026-02-03 19:17:23 +00:00
Aelin c2c2c3868a linux-postmarketos-qcom-sc7280: Enable configs for QCS6490 boards and build EFI stub variant
Configs are for the Radxa Dragon Q6A and the Thundercomm Rubik Pi 3.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7906>
2026-02-03 14:41:04 +00:00
Clayton Craft 6d63aa2f1c main/boot-deploy: upgrade to 0.22.1
Changelog:

 Fixes:

 * sd-boot: Install drivers under upper-case path

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7912>
2026-02-03 12:10:00 +00:00
Marijn Suijten 05aabcc384 device/*: update firmware-qcom-adreno dependencies and add comments
[ci:skip-vercheck]: Only added TODOs to some packages that bundle
their own GMU (and some also SQE) or pull it from the larger
linux-firmware-qcom package.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7819>
2026-02-03 13:03:17 +01:00
Marijn Suijten aa443df78a firmware-qcom-adreno: Upgrade to latest release; split out GMU from SQE
While true for all currently-supported Adreno GPUs (according to
this `firmware-qcom-adreno` package, not the actual devices in this
repository) there are other GPU versions that have their own GMU
firmware (or no GMU at all) while reusing `a630_sqe.fw`.  The best
representation - one that allows all these firmware packages to be
installed concurrently - wraps that SQE firmware for A630 in a single
package, while creating GPU-specific packages that contain the matching
GMU firmware and depend on this `a630-sqe` package.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7819>
2026-02-03 13:02:59 +01:00
Luca Weiss 7d6e37fe6a device-fairphone-fp4: add ALSA UCM & firmware for speaker support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7866>
2026-02-03 10:07:07 +00:00
Luca Weiss 7d762d61c1 firmware-fairphone-fp4: package audio amplifier firmware
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7866>
2026-02-03 10:07:07 +00:00
Luca Weiss 96f026bbc1 linux-postmarketos-qcom-sm6350: add FP4 speaker patches
Manual kconfig changes:
* CLK_GFM_LPASS_SM8250=m
* PINCTRL_SM6350_LPASS_LPI=m
* SND_SMARTPA_AW882XX=m
* SND_SOC_LPASS_RX_MACRO=m
* SND_SOC_LPASS_TX_MACRO=m
* SND_SOC_LPASS_VA_MACRO=m
* SND_SOC_WCD938X=m
* SOUNDWIRE_QCOM=m

* DRM_UDL=m (category:usb)
* MODULE_COMPRESS=y (category:default)
* MODULE_COMPRESS_ZSTD=y (category:default)
* USB_SERIAL=m (category:usb)
* USB_SERIAL_CP210X=m (category:usb)
* USB_SERIAL_SIMPLE=m (category:usb)
* USB_STORAGE=m (category:usb)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7866>
2026-02-03 10:07:07 +00:00
Clayton Craft cee04caeaf linux-postmarketos-asahi: upgrade to 6.18.7-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7901>
2026-02-03 09:27:36 +00:00
Achill Gilgenast 69a1d76f94 device-qemu-*: update pkgdescs of kernel subpkgs
Now that we only have postmarketOS kernels we can give more information
about the differences between the specific choices.

	[19:48:02] Which kernel do you want to use with your device?
	[19:48:02] Available kernels (4):
	[19:48:02] * lts: Long-term maintainance kernel (most stability, not all security fixes & new features)
	[19:48:02] * mainline: Upstream development kernel (regular breakage, latest features)
	[19:48:02] * none: No kernel (does not boot! can be used during pmbootstrap testing to save time)
	[19:48:02] * stable: Stable kernel (recommended, best balance between stability and features)
	[19:48:02] Kernel [stable]:

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7869>
2026-02-02 18:55:53 +00:00
Bart Ribbers 27327a1447 extra-repos/systemd/kwin: rebuild against Qt 6.10.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7905>
2026-02-02 19:28:00 +01:00
Achill Gilgenast 5274f8c6eb systemd/dsme: upgrade to 0.84.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7903>
2026-02-02 17:01:49 +01:00
Aelin a007e73418 linux-postmarketos-mainline: Upgrade to 6.19-rc8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7900>
2026-02-02 11:39:33 +00:00
bluebunny d4b73792b8 device-xiaomi-pipa: remove deviceinfo_external_storage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7896>
2026-02-02 07:05:30 +09:00
Clayton Craft 84cac35407 main/postmarketos-base-ui: add ModemManager config override
We used to use this param when the MM systemd unit was vendored in
pmaports but it was dropped when we switched to the upstream unit. This
also sets the param in openrc installs.

Fixes #4194

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:40 -08:00
Clayton Craft 920c4a8478 soc-qcom: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:40 -08:00
Clayton Craft a042b2080d device-purism-librem5: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:39 -08:00
Clayton Craft ab80136a3e device-pine64-pinephonepro: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:39 -08:00
Clayton Craft 6975af2fe9 device-pine64-pinephone: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:15:28 -08:00
Pablo Correa Gómez bad5420f36 ci: fix typo and more printing in generate_build_jobs
There is usually a benefit of having CI jobs print properly what is
going on.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:25 +00:00
Pablo Correa Gómez ddb822187a ci: make removed=False the default for get_changed_files
Eventually we probably want this everywhere.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:25 +00:00
Pablo Correa Gómez 67045e0cbd ci: use more removed=False for get_changed_files
Most of the things don't really need it.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:22 +00:00
Pablo Correa Gómez 6fb42ecb3f ci: enable unused-import in ruff
This was not possible to remove while add_pmbootstrap_to_import_path
was in use, since that module wasn't actually used, but just
imported. As the previous commit shows, this was important to have
enabled.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez fe7af59c58 ci: remove unused imports
As detected and fixed by ruff

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez 41e2d23210 ci: remove add_pmbootstrap_to_import_path
Unused since the previous commit

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez 69e772d561 ci: remove unnecessary add_pmbootstrap_to_import_path
Since the previous commit we just set the PYTHONPATH globally, which
is saner than include this everywhere.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez e01c66bb46 ci: set PYTHONPATH for the pmb module globally
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez c38534993e ci: rename script run by kconfig.sh to be consistent with its name
This makes it easier to navigate the CI code

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez 32e058f2ea ci: rename commits ci script to check-changed-versions
So it actually explains what it does. In the process, make the name of
the Python file it executes also consistent.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez ba2237700a ci: update reasons for using 'native'
Just requiring pmbootstrap installed is no reason to run 'native', as
other tests show. Now the messages are also consistent.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:11 +00:00
Pablo Correa Gómez 5d8c30c8e9 ci: enable a few ruff checks
These are all already functional. The only one missing is unused
imports due to "add_pmbootstrap_to_import_path"

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868>
2026-02-01 21:06:07 +00:00
Aelin 3a5a8c47bb linux-postmarketos-lts: Fix dtbs install path
We have to install dtbs to /boot/dtbs, otherwise U-Boot cannot find
them.

[ci:skip-build]: trivial change, we already do this in linux-next

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7895>
2026-02-01 19:42:05 +01:00
Aelin d96379c4de linux-postmarketos-stable: Fix dtbs install path
We have to install dtbs to /boot/dtbs, otherwise U-Boot cannot find
them.

Also set replaces=linux-stable since the kernel.release file path
matches that of linux-stable in Alpine.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7895>
2026-02-01 19:42:05 +01:00
Clayton Craft e399d48234 systemd/pmos-base-systemd: update preset for pipewire/pipewire-pulse
With a recent aports patch[1], unit files are now in aports, however
socket activation is not enabled since that depends on libsystemd.
Instead, we'll just start the units on user session start. I think most
UIs/devices are going to want audio fairly early and often, so I think
it's fine to just start this stuff and is a reasonable price to pay for
being able to avoid having a package fork of pipewire in pmaports.

1. https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/96828

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7894>
2026-02-01 06:04:42 -08:00
Clayton Craft 5d96898b6c systemd/pipewire: drop aport
Unit files were added to the upstream aports pkg.

pw and pw-pulse are no longer socket activated with this change, because
that requires linking against libsystemd(which isn't enabled upstream),
but I think that's worth avoiding all of the packaging complexity of
having a pipewire pkg fork in pmaports.

Fixes #4279

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7894>
2026-02-01 06:03:50 -08:00
Jack d3c283226e device-microsoft-makepeace: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7876>
2026-02-01 06:42:11 +00:00
bluebunny 94b72797b3 device-xiaomi-pipa: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7887>
2026-02-01 13:58:51 +09:00
Sebastian Fleer 1251bfe781 linux-postmarketos-rockchip: upgrade to 6.18.8
and resolve all kconfigcheck warnings.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7890>
2026-01-31 20:54:24 +01:00
Aelin 596794764e linux-postmarketos-lts: upgrade to 6.18.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7883>
2026-01-30 23:39:55 +01:00
Aelin 7078360d3d linux-postmarketos-stable: upgrade to 6.18.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7879>
2026-01-30 17:58:36 +01:00
Aelin f1c933fb23 linux-postmarketos-qcom-msm8956: Use llvm-strip
Fixes: ad27c8a871 ("linux-postmarketos-qcom-msm8956: Upgrade to v6.18.7-r0")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7874>
2026-01-30 02:51:28 +01:00
Barnabás Czémán ad27c8a871 linux-postmarketos-qcom-msm8956: Upgrade to v6.18.7-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7621>
2026-01-30 01:40:09 +00:00
Clayton Craft 1720ed803b device-oneplus-enchilada: add systemd-boot, set fat32 for boot partition
This allows building images that support both Android bootloader and
u-boot/EFI bootloader.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7870>
2026-01-29 19:47:37 +00:00
Clayton Craft fe0e70f1dc main/boot-deploy: upgrade to 0.22.0
Changelog:

* sd-boot: install EFI app under upper-case path
* check linux.efi explicitly for bls spec
* Remove sd-boot deviceinfo var
* Always skip flashing boot when using EFI

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7872>
2026-01-29 11:17:55 -08:00
Aelin f4002c193c linux-postmarketos-lts: upgrade to 6.18.7
6.18 is the latest LTS release since the 3rd of December, but wasn't
added to the front page as such yet, which had me confused.

[ci:skip-build]: identical to linux-stable

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7871>
2026-01-29 18:15:13 +00:00
Yohan Boniface 13c3148f27 nokia-argon: enable drm
sxmo-de-sway has been proven to work, and even bananui was using
Wayland.
For a bit of context, see:

https://wiki.postmarketos.org/wiki/User:Ybon

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7863>
2026-01-29 16:21:48 +00:00
Robert Mader 619e649d52 systemd/pipewire: rebuild for libcamera 0.7.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7867>
2026-01-29 13:47:42 +01:00
Robert Mader cc9831c0a9 temp/libcamera: upgrade to 0.7.0
https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.7.0

This release notably comes with the long awaited GPU-ISP, improving
performance and quality in various ways.

Also:
1. Drop upstreamed or superseded patches.
2. Update entries in tuning files.
3. Sync dependencies to alpine package.
4. Enable the virtual pipeline for easier testing on devices without
   working cameras (see /usr/share/libcamera/pipeline/virtual/virtual.yaml.example).

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7867>
2026-01-29 13:47:42 +01:00
Clayton Craft 49ef561fcb systemd/polkit: fix permissions on rules.d
This is a downstream port of:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/96251

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7813>
2026-01-29 10:21:45 +00:00
Achill Gilgenast c7c32a9e0f device-asus-me176c: move from community to testing
No more has a maintainer

[ci:skip-vercheck]: moving packages between categories, removing
co-maintainers

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7849>
2026-01-29 10:19:19 +00:00
Achill Gilgenast 6ec4d39b0a device-google-x64cros: remove maintainership of Alper Nebi Yasak
inactive

Fixes: 65fa27d1fd ("*/*: remove maintainership by inactive maintainers")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7849>
2026-01-29 10:19:19 +00:00
Achill Gilgenast 2aa546f16c */*: remove maintainership of David Heidelberg
has been banned from the project

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7849>
2026-01-29 10:19:19 +00:00
Achill Gilgenast 140bcc1086 firmware-lenovo-yoga-5g: remove maintainership of Jennerson
somehow missed that package

Fixes: 65fa27d1fd ("*/*: remove maintainership by inactive maintainers")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7849>
2026-01-29 10:19:19 +00:00
Achill Gilgenast 56a0499ac2 device-asus-me176c: remove maintainership of Minecrell
somehow missed that package

Fixes: 65fa27d1fd ("*/*: remove maintainership by inactive maintainers")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7849>
2026-01-29 10:19:19 +00:00
Achill Gilgenast 18dd2db810 systemd/mutter: upgrade to 49.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7864>
2026-01-29 07:06:56 +00:00
Achill Gilgenast 0ad4dd7581 systemd/gnome-shell: upgrade to 49.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7864>
2026-01-29 07:06:56 +00:00
Achill Gilgenast f295d25180 systemd/pipewire: bump pkgrel
99991.4.10-r0 already existed and confused mirrors/apk/...

Fixes: 8887758245 ("systemd/pipewire: Re-upgrade to 1.4.10")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7862>
2026-01-29 01:10:47 +00:00
Achill Gilgenast 507d2b88e3 main/postmarketos-base-ui-plasma: remove kwayland-integration dependency
Was removed in Alpine because it was using KDE 5 dependencies

Ref: https://gitlab.alpinelinux.org/alpine/aports/-/commit/11fc5f00bc47614493aac209d4ed72cb12e8dea2
Ref: https://gitlab.alpinelinux.org/alpine/aports/-/commit/a175f3dffd17ef0f3a7ba5302ddc23465181c4bb
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7865>
2026-01-28 20:23:52 +01:00
yoxcu 116bbe54d8 extra-repos/systemd/kwin: adding libei-dev to enable libei support using kde, usefull for changing keyboards or remote desktop
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7834>
2026-01-28 14:15:39 +00:00
Stefan Hansson cc2725aa49 CI: remove pmb:gpu-accel from custom_valid_options
This is not used anywhere in pmaports any more and it has been
deprecated for a while, so let's finally get rid of it.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7847>
2026-01-28 13:21:45 +00:00
Stefan Hansson a5871722a1 main/postmarketos-base-ui-plasma: remove pmb:gpu-accel
The pmb:gpu-accel option is deprecated in favour of pmb:drm. However, it
doesn't do anything when applied to packages that aren't UI packages
(base-ui packages aren't UI packages), so just remove it instead of
replacing it with the proper option.

[ci:skip-vercheck]: Doesn't affect resulting package, only read by
pmbootstrap during `init`.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7847>
2026-01-28 13:21:45 +00:00
Clayton Craft a2de76572d linux-postmarketos-lts: replace linux-lts
fixes:

> ERROR: linux-postmarketos-lts-6.12.67-r0: trying to overwrite usr/share/kernel/lts/kernel.release owned by linux-lts-6.12.28-r0.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7861>
2026-01-27 13:55:48 -08:00
Clayton Craft 0648d45d76 device/*: migrate device packages to new kernel cmdline config system
This migrates all device package to the new system, which is documented
here: https://docs.postmarketos.org/pmaports/main/kernel-cmdline.html.

It also replaces old initramfs params (PMOS_NOSPLASH and
PMOS_FORCE_PARTITION_RESIZE) from the cmdlines with their modern
equivalents, so we can finally get rid of those.

Signed-off-by: default avatarClayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:34:40 -08:00
Clayton Craft f68c270d4d ci/deviceinfo_linting: only line deviceinfo files in the devices repo
If devicepkg-dev changes, we don't want to lint the test deviceinfo
files there...

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:06 -08:00
Clayton Craft 382cd1dee1 docs: kernel-cmdline: clarify handling of config for multiple kernels
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft ae000d30f8 main/devicepkg-utils: remove cmdline_append from example deviceinfo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft 5f04b534f7 main/devicepkg-dev: support installing kernel-specific cmdline config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft 43109bb7fd main/dint: upgrade to 0.0.7
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Aelin d94fdd0a31 systemd/plasma*: re-enable riscv64
The Alpine builder has finally finished building.

[ci:skip-vercheck]: enabling package for arch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7857>
2026-01-27 20:12:09 +00:00
Oliver Smith 862aef200e gitlab/issue_template: remove v25.06 (EOL) 2026-01-27 17:00:25 +01:00
Oliver Smith e42dbbd0cb channels.cfg: mark v25.06 as EOL 2026-01-27 16:59:34 +01:00
Achill Gilgenast 7f8facc9d8 main/postmarketos-release-upgrade-notification: new aport
Previously the process was that once a branch is EOL, the
notification-commit was cherry-picked from the branch before.

However that makes less sense, since the package then doesn't go
through the same mass updates as pmaports master does, e.g. it still
referenced gitlab.com & -gtk3, and doesn't allow changes by contributors
other than the one cherry-picking it.

Adapted from c088d806ea ("main/postmarketos-upgrade-gtk3: new aport")

See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4197.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7769>
2026-01-27 15:20:22 +00:00
Robert Mader 8887758245 systemd/pipewire: Re-upgrade to 1.4.10
The headset related crashes in Gnome that caused the previous downgrade
should all be fixed by upgrade libgnome-volume-control, see e.g.
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7851

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7860>
2026-01-27 12:25:12 +01:00
Robert Mader 89c567fbdb systemd/gnome-shell: Update libgnome-volume-control
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7860>
2026-01-27 12:25:12 +01:00
Luca Weiss b78c310e40 device-fairphone-fp4: start using soc-qcom
Replace some direct dependencies by soc-qcom plus some subpackages
instead. This will also pull in some extra packages and configs that
will be useful on fairphone-fp4.

Remove pd-mapper since the in-kernel pd-mapper has been in use for a
while so the user space service didn't do anything anymore.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7859>
2026-01-27 11:07:34 +01:00
Aelin 7ba641eeb9 {temp,systemd}/{mutter,gnome-shell}-mobile: re-enable riscv64
The bug referenced in the APKBUILDs is 3 years old and I cannot
reproduce it anymore when cross compiling from x86_64.

This syncs the enabled architectures with Alpine.

[ci:skip-vercheck]: enabling packages for arch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7858>
2026-01-27 08:14:35 +00:00
Luca Weiss cd44e0c4b6 device-fairphone-fp5: Set Wireplumber audio format for speaker
The S16LE format from soc-qcom package doesn't work, so override it from
the device package.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7700>
2026-01-27 07:52:37 +00:00
Luca Weiss f992a6619d alsa-ucm-conf-qcom-sc7280: update for Fairphone 5 speaker support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7700>
2026-01-27 07:52:37 +00:00
Luca Weiss 5585787606 linux-postmarketos-qcom-sc7280: upgrade to 6.18.7
Manual kconfig changes:
* SND_SOC_AW88261=m (Fairphone 5)

* DRM_UDL=m (category:usb)
* MODULE_COMPRESS=y (category:default)
* MODULE_COMPRESS_ZSTD=y (category:default)
* USB_RTL8152=m (category:usb)
* USB_SERIAL=m (category:usb)
* USB_SERIAL_CP210X=m (category:usb)
* USB_SERIAL_SIMPLE=m (category:usb)
* USB_STORAGE=m (category:usb)
* ZRAM_BACKEND_842=y (category:zram)
* ZRAM_BACKEND_DEFLATE=y (category:zram)
* ZRAM_BACKEND_LZ4=y (category:zram)
* ZRAM_BACKEND_LZ4HC=y (category:zram)
* ZRAM_BACKEND_LZO=y (category:zram)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7700>
2026-01-27 07:52:37 +00:00
Aelin 8dcb74d73a device-qemu-riscv64: add LTS kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin 665aeb865a device-qemu-ppc64le: add LTS kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin 9615b98a59 device-qemu-loongarch64: add LTS kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin beea2efb98 device-qemu-amd64: add LTS kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin b64b3277fa device-qemu-aarch64: add LTS kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin 9ebd1ee4d6 linux-postmarketos-lts: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
2026-01-27 07:36:44 +00:00
Aelin 778f31eed5 systemd/cups: upgrade to 2.4.16
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7852>
2026-01-27 00:20:22 +00:00
Aelin e9ff22e200 kconfigcheck: CPU_FREQ_GOV_SCHEDUTIL depends on CPU_FREQ
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7853>
2026-01-26 23:35:48 +01:00
Robert Mader 1fba9931e2 gnome: Update libgnome-volume-control
In order to fix crashes with new Pipewire releases like 1.4.10.

While on it, do some minor cleanups to make the files more similar.

See:
https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4048

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7851>
2026-01-26 20:12:45 +01:00
Aster Boese ef58926d5e apple-idevice: disable initramfs-extra
There were fears that initramfs-extra would take up too much ram and
cause booting Linux to fail, but that doesn't seem to be the case.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7846>
2026-01-26 15:59:51 +00:00
Aelin 8f5f696de5 docs: Add documentation on generic kernels
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7842>
2026-01-26 10:58:25 +01:00
Aelin 933414e7d1 ci: Add pmb:generic-kernel to custom valid options
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7844>
2026-01-26 09:37:54 +00:00
Clayton Craft 080500fffd linux-postmarketos-asahi: upgrade to 6.18.7-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7839>
2026-01-25 22:33:01 -08:00
Aelin 5864f58cff linux-postmarketos-mainline: upgrade to 6.19_rc7
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7843>
2026-01-26 00:49:16 +01:00
Achill Gilgenast ede045f67a device-generic-x86_64: fix post-install grep
grep writes to stdout and not stderr

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7841>
2026-01-25 22:46:09 +01:00
Aelin a3e9f29450 kconfigcheck: Compress modules with zstd
Since we already require firmware compression with zstd, it only makes
sense to also require modules to be compressed the same way.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7837>
2026-01-25 21:41:26 +00:00
Sebastian Fleer 24248e3f73 device-google-gru: remove deviceinfo_chassis
This information is provided by the respective devicetrees.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7320>
2026-01-25 10:04:50 +00:00
Aelin 39dc08786f device-qemu-riscv64: add stable kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin 322c155ada device-qemu-ppc64le: add stable kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin af261b95ce device-qemu-loongarch64: add stable kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin 045625180f device-qemu-amd64: add stable kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin 5573b77000 device-qemu-aarch64: add stable kernel variant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin c09de76a39 linux-postmarketos-stable: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7836>
2026-01-25 00:03:09 +01:00
Aelin 2056701d6c ci: Drop KERNEL_NAME
Only Alpine kernels use the vmlinuz-VARIANT naming scheme, postmarketOS
kernel images are always called vmlinuz.

Since we only use our own kernels now, we can completely get rid of the
variable and always look for vmlinuz.

[ci:skip-vercheck]: the checks can't handle bumping pkgver *and* pkgrel
[ci:skip-build]: takes a long time and already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin 94ba7aa037 device-qemu-riscv64: temporarily remove stable kernel
This will be replaced by linux-postmarketos-stable very soon.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin faded2d8ad device-qemu-ppc64le: temporarily remove LTS and stable kernels
These will be replaced by linux-postmarketos-lts and
linux-postmarketos-stable very soon.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin 31751359a0 device-qemu-loongarch64: temporarily remove LTS and stable kernels
These will be replaced by linux-postmarketos-lts and
linux-postmarketos-stable very soon.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin 29ad3db3a9 device-qemu-aarch64: temporarily remove LTS and stable kernels
These will be replaced by linux-postmarketos-lts and
linux-postmarketos-stable very soon.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin e73ebdb58d device-qemu-amd64: temporarily remove LTS and stable kernels
These will be replaced by linux-postmarketos-lts and
linux-postmarketos-stable very soon.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Aelin fa013dd6f9 device-qemu-riscv64: Add EFI boot support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:22 +00:00
Achill Gilgenast a4d924c256 device-qemu-riscv64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:18 +00:00
Achill Gilgenast ba4fc90807 device-qemu-ppc64le: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:15 +00:00
Achill Gilgenast d4564d956d device-qemu-loongarch64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:11 +00:00
Achill Gilgenast 84d7e5b085 device-qemu-aarch64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:08 +00:00
Achill Gilgenast b043a12459 device-qemu-amd64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:04 +00:00
Achill Gilgenast be4dcb68ef device-postmarketos-trailblazer: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:01 +00:00
Achill Gilgenast 6c95b42883 device-generic-loongarch64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:01 +00:00
Achill Gilgenast ad9f78ef8b device-generic-x86_64: add linux-postmarketos-mainline subpackage
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:01 +00:00
Aelin f4d85eee80 linux-postmarketos-mainline: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:01 +00:00
Aelin 409d2333be kconfig-generic: Add file with some initial options
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398>
2026-01-24 22:29:01 +00:00
Clayton Craft a3ee13fb36 device-alcatel-ttab: fix mtk_label_* deviceinfo vars
These variables were renamed and I guess this package was missed.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7835>
2026-01-24 22:23:35 +00:00
Clayton Craft 24bdbf5675 linux-postmarketos-asahi: upgrade to 6.18.6
And sync kconfig!

This also removes the .config fragments from sources= since they are not
actually used for building the kernel.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7831>
2026-01-24 22:15:37 +00:00
Pablo Correa Gómez af81f21fba ci: simplify local usage of generate_build_jobs
There's no need why we can't have a default value

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7725>
2026-01-24 22:09:38 +00:00
Aelin 6a1fe61bf7 kconfigcheck: Require framebuffer support
unl0kr is unusable without CONFIG_FB enabled. With DRM, we need
CONFIG_DRM_FBDEV_EMULATION=y to have /dev/fb* nodes.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7833>
2026-01-24 22:06:06 +00:00
Rudraksha Gupta 9249afb6c7 linux-next: expressatt: Add PWM Vibrator
https://lore.kernel.org/all/20251211-expressatt-vibrator-v1-1-41bdc47217b2@gmail.com/

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7545>
2026-01-24 21:45:20 +00:00
Juan Calzada dc83f3ae2e linux-postmarketos-qcom-sm8150: enable UFS for Xiaomi Mi 9
pkgrel version

gpio reset was incorrect

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7823>
2026-01-24 15:33:45 +00:00
bluebunny 049b4b605c device-samsung-j7xelte: use upstream brcm firmware
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7827>
2026-01-24 20:53:33 +09:00
Stefan Hansson f5a46e6847 device-generic-loongarch64: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree or ACPI.

[ci:ignore-count]

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 03be51673d device-apple-idevice: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson e34ce370a7 device-qualcomm-sdm845: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson ebb915c9eb device-qcom-msm89x7: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 35a146798b device-qcom-msm8956: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 91ac1dee94 device-qcom-msm8916: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 209614d0e7 device-qcom-msm8909: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 036119d7c6 device-qcom-msm8226: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 09440217eb device-postmarketos-trailblazer: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson f319ddd2df device-qcom-sm7150: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson 72d08a9d00 device-qcom-msm8953: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by Devicetree.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson d17f3b05e5 device-generic-x86_64: remove deviceinfo_chassis
Doesn't make sense for generic devices and is no longer required as it
should be provided by ACPI on x86-64 devices.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Stefan Hansson fd9d39153a pmaports.cfg: Bump pmbootstrap minimum version to 3.9.0
For pmbootstrap to not crash when it encounters a deviceinfo file that's
missing the deviceinfo_chassis line, we need pmbootstrap 3.9.0 or later.
Bump it as such.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
2026-01-24 10:30:46 +01:00
Clayton Craft b170f85c36 device-lenovo-lxf-p5100: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: build succeeded on all archs except riscv64, which is
failing because of an upstream/aports sync issue.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:07:15 -08:00
Clayton Craft b081d3a09d device-qemu-*: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:43 -08:00
Clayton Craft cbc7941d0c device-lenovo-21bx: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:41 -08:00
Clayton Craft 6b1450424c device-apple-mac-aarch64: drop kernel cmdline from deviceinfo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:20 -08:00
Clayton Craft 2d9bbc368d ci: hardcode ci-tron DUT kernel cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft dbc0b37449 main/boot-deploy: depend on generate-kernel-cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft a80206516e docs/kernel-cmdline: add docs for new kernel cmdline system
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft 51ed081129 main/postmarketos-base: install default kernel cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft 9a50e8fb55 main/devicepkg-dev: add support for installing kernel-cmdline.conf
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:04 -08:00
Achill Gilgenast cb468c0b75 main/postmarketos-mvcfg: remove
Deprecated. See
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3580,
lets remove it.

Removed the last users in the last commits.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7750>
2026-01-23 21:04:56 +00:00
Achill Gilgenast 9d52cf9550 device-nokia-n900: remove postmarketos-mvcfg dependency
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7750>
2026-01-23 21:04:56 +00:00
Achill Gilgenast e96de05e89 main/devicepkg-utils: remove postmarketos-mvcfg makedependency
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7750>
2026-01-23 21:04:56 +00:00
Achill Gilgenast ede1db894e main/postmarketos-base: remove postmarketos-mvcfg dependency
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7750>
2026-01-23 21:04:56 +00:00
Aelin 078a66a5b9 kconfigcheck: DRM_UDL requires DRM
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:19 +00:00
Aelin 4872005baf kconfigcheck: USB_SERIAL_* requires USB_SERIAL
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:19 +00:00
Aelin 4747f268cc kconfigcheck: Let community imply USB
I'm pretty sure this is an oversight and it was intended to make the USB
category part of the community checks.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7810>
2026-01-23 19:35:15 +00:00
Stefan Hansson 9cfa6b31d7 main/postmarketos-mkinitfs-hook-netboot: remove maintainer
I contacted Mark who confirmed that he is not likely to return to
contributing to postmarketOS any time soon and is okay with me
removing his maintainer line.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7825>
2026-01-23 17:33:02 +01:00
WrenIX 0c829feb0a device-fairphone-fp3: depend on unl0kr-fbforcerefresh
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7707>
2026-01-23 15:58:49 +00:00
Stefan Hansson 45c750a9fd CI: check for maintainer comments
We don't want to accidentally introduce these again since we
deliberately switched all packages to maintainer variables. While this
probably could be made part of apkbuild-lint eventually, the Alpine TSC
hasn't yet made a decision about whether to switch to maintainer
variables or not to the best of my knowledge so I don't think it can be
made upstream policy yet. Make it a clear downstream policy via this
check for now as such.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7824>
2026-01-23 15:47:49 +00:00
Luca Weiss 8a1e49a454 device-fairphone-fp5: UCM changes and audio firmware
Replace ucm with alsa-ucm-conf-qcom-sc7280 package. And add a dependency
for the audio amplifier firmware which we'll start using in the future.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7710>
2026-01-23 16:06:37 +01:00
Danila Tikhonov fe8c2fe1f0 alsa-ucm-conf-qcom-sc7280: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7710>
2026-01-23 16:06:37 +01:00
Luca Weiss 606109c58b firmware-fairphone-fp5: upgrade to 20250623
And start packaging the audio amplifier firmware.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7710>
2026-01-23 15:01:40 +00:00
Stefan Hansson ffbce2d731 docs: Mark [ci:ignore-count] as removed
Keeping it in the docs under a new section to reduce the risk of
confusion about its disappearance. It's also still relevant if you
target older branches where it hasn't been removed.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7822>
2026-01-23 13:47:00 +00:00
Stefan Hansson e331eb74f8 CI: remove package count check
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4278

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7822>
2026-01-23 13:47:00 +00:00
Clayton Craft 6e2db46651 linux-postmarketos-qcom-laptop: remove *.config fragments from sources
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: no build test needed for this change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7798>
2026-01-22 23:41:00 +00:00
Aster Boese d1dc06cd1f ci: pytest: test_provides: ignore kernel fragments
Kernel fragments are not packaged nor used for building the kernels, since only the full
config is used at build-time. As such, they shouldn't be included in the checksums.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7798>
2026-01-22 23:41:00 +00:00
Clayton Craft a99216d543 systemd/pipewire: re-sync apkbuild with upstream
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: all archs built successfully except riscv64 but that's
failing from an Alpine problem

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7809>
2026-01-22 18:54:47 +00:00
Neil Armstrong 9588ec951a device-ayaneo-pocket-s2: add the Ayaneo Pocket S2 device
The Ayaneo Pocket S2 is a Snapdragon 8 Gen 3 based gaming device,
it has a 2k 60fps LCD panel, internal UFS, complete keypad connected
via a PCIe USB Controller, SDCard slot, WiFi and Bluetooth.

Add the device package with the firmwares, alsa ucm conf and kernel
packages.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7803>
2026-01-22 16:49:03 +01:00
Neil Armstrong 01ca384240 linux-ayaneo-pocket-s2: add linux kernel for the Ayaneo Pocket S2
The Ayaneo Pocket S2 is a Snapdragon 8 Gen 3 based gaming device,
it has a 2k 60fps LCD panel, internal UFS, complete keypad connected
via a PCIe USB Controller, SDCard slot, WiFi and Bluetooth.

Add the linux kernel recipe based on a mainline based tree with
the LCD panel & regulator drivers, plus the device tree for the
Device. All config changes required for the device are already
in the arm64 defconfig. Simply disable all other arm64 vendors
to reduce build time, image size and modules count.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7803>
2026-01-22 16:49:03 +01:00
Neil Armstrong 74aac83a39 firmware-ayaneo-pocket: add the firmware files for the Ayaneo Pocket devices
The Ayaneo Pockets devices are a serie of gaming devices running with
a Snapdragon 8 Gen 2 and 3 SoCs.

Add the firmware files for the Pocket devices, for now only the
files for the Pocket S2 are adding into subpackages.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7803>
2026-01-22 16:49:03 +01:00
Neil Armstrong 66c7510658 alsa-ucm-conf-ayaneo-pocket-s2: add the alsa-ucm-conf for the Ayaneo Pocket S2
The Ayaneo Pocket S2 is a Snapdragon 8 Gen 3 based gaming device,
it has a 2k 60fps LCD panel, internal UFS, complete keypad connected
via a PCIe USB Controller, SDCard slot, WiFi and Bluetooth.

Add the ALSA UCM configuration designed to work on mainline based
kernels.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7803>
2026-01-22 16:49:03 +01:00
Stefan Hansson 12dfd7b452 main/dint: upgrade to 0.0.6
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7821>
2026-01-22 12:38:07 +01:00
Aelin 19b0b0af00 systemd/plasma*: re-enable x86
The Alpine builder has caught up.

[ci:skip-vercheck]: enabling package for arch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7820>
2026-01-22 01:38:51 +00:00
Achill Gilgenast 673a7c3a73 systemd: fix source= formatting
Is the common used way in Alpine, we don't have any style changes documented
in Alpine right now, but it is WIP and it would certainly documented be like that.
This then would also fix the nightly-builder replacing of source=.

[ci:skip-vercheck]: just a style change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7818>
2026-01-22 01:09:08 +01:00
Achill Gilgenast 7ecca710ca systemd/gdm: update url
already in alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7814>
2026-01-21 21:05:24 +00:00
Stanislav V 356dd9b398 semc-urushi: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7782>
2026-01-21 20:54:17 +01:00
Achill Gilgenast 4f00d4d96d systemd/gnome-keyring: update url
already in alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7812>
2026-01-21 19:44:18 +00:00
Achill Gilgenast 7754087388 systemd/upower: take over maintainership, sync with upstream
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7811>
2026-01-21 20:25:27 +01:00
Achill Gilgenast 6ded11cdaf systemd/gnome-desktop: fix versioning of self-dependency
$_pkgver is the alpine version, but we want to depend on this exact
package, which is $pkgver-r$pkgrel

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7808>
2026-01-21 16:45:41 +01:00
Bart Ribbers 1b1ac57afe systemd/plasma*: set myself as maintainer
Not sure why that wasn't the case before...

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7804>
2026-01-20 19:01:16 +01:00
Achill Gilgenast 0a089c12f1 */*: use consistent pkgver scheme for Alpine forks
Standardize the use of pkgver=9999$_pkgver, allowing easier upgrades but
also a single expected behaviour for users like nightly-builder.

[ci:skip-vercheck]: some package have the same $pkgver-r$pkgrel
[ci:ignore-count]: this is expected

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7802>
2026-01-20 15:53:13 +01:00
bluebunny bf7757cc06 device-samsung-j7xelte: fix partial fde
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7800>
2026-01-20 15:25:23 +09:00
Clayton Craft 1fd5acd9b3 Revert "device: oneplus-enchilada/fajita: mask alsa-restore"
This reverts commit d8a5e4622a.

It doesnt' actually work, `mask` is not a valid directive for preset
files.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7797>
2026-01-19 13:01:56 -08:00
tiel d8a5e4622a device: oneplus-enchilada/fajita: mask alsa-restore
disabling the service doesn't work, it needs to be masked to prevent it
from running.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7795>
2026-01-19 20:37:07 +01:00
Stefan Hansson ee18cf6b9c docs: cover some more edge cases in the approval rules
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4228

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7766>
2026-01-19 14:29:14 +00:00
Ferass El Hafidi 10bcd5c38c firmware-samsung-midas: add symlink to nvram file for samsung-kona
This is the missing piece to get working Wi-Fi on the Exynos4-based
samsung-kona tablet.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7787>
2026-01-19 14:27:04 +00:00
Ferass El Hafidi af04558fd9 device-samsung-kona: take over maintenance
There is no maintainer right now that is available to maintain this
port. I have this device, use it daily, and can commit to maintaining
this port. If someone wants to maintain it alongside me, that is
appreciated of course.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7787>
2026-01-19 14:27:04 +00:00
Aster Boese c81755fe7f testing/m1n1-apple-idevice: upgrade to 1.5.0_git20260114
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7785>
2026-01-19 12:01:42 +00:00
Aster Boese a0609e697e systemd/pipewire: fix pipewire-pulse install_if
Finishes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/25bb4d4ea1f94accbf35110b4a9ea21dcad8fa49

Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7793>
2026-01-18 21:51:50 -05:00
Aster Boese abe7221bc9 systemd/pipewire: downgrade to 1.4.9
Related to https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/890

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7793>
2026-01-18 21:39:39 -05:00
Clayton Craft c2c979c44a device-google-x64cros: add emmc/sdhci module for chromebook emmc
Some chromebooks (swanky) need this module when using mrchromebox fw for
emmc to work in the initramfs

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7792>
2026-01-19 00:42:44 +00:00
Aster Boese eb81cfaa98 linux-postmarketos-apple-{4,16}k: upgrade to 6.18.1, use kconfig fragments, and build with LLVM
1. Upgrades both kernels to 6.18.1.

2. Updates the kconfigs to follow the community kconfigcheck and use kconfig fragments.

3. Builds the kernels with LLVM and Clang.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7196>
2026-01-18 21:52:57 +00:00
Clayton Craft 4f2628f8bb main/postmarketos-ui-cosmic: update pmos-base-ui pw audio name
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: loongarch64 CI runner temporarily broken

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7786>
2026-01-18 12:20:33 +00:00
Clayton Craft 1ca5a1ad58 device/*: update pmos-base-ui-backend-audio-* dependency pkg names
These were changed in 3c2af74036

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7786>
2026-01-18 12:20:33 +00:00
Robert Eckelmann 7fe0f3b3be linux-postmarketos-marvell: fix kconfig related to zram
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:57 +00:00
Robert Eckelmann d74974278a linux-postmarketos-marvell: fix USB for wd-glacier
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:57 +00:00
Robert Eckelmann 8a255b11dd linux-postmarketos-marvell: WIP: patches for graphics on dell-ariel
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:54 +00:00
Robert Eckelmann 038609ad71 linux-postmarketos-marvell: upgrade to 6.18.5
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:50 +00:00
Robert Eckelmann d8afa93e26 linux-postmarketos-marvell: add mmp3 patches
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:46 +00:00
Robert Eckelmann e3da7a4e45 linux-postmarketos-marvell: upgrade to 6.18.2 and add mmp3/dell-ariel
specifics

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7605>
2026-01-18 07:26:43 +00:00
Aelin 7d4988813c systemd/plasma: re-enable on loongarch64
The builder has caught up.

[ci:skip-vercheck]: re-enabling package for arch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7784>
2026-01-18 01:09:38 +01:00
Achill Gilgenast 25bb4d4ea1 systemd/pipewire: lower preferance to install pipewire-pulse than pulseaudio
For some reason, apk preferred to satisfy g-s-d's pulseaudio dependency
by pipewire-pulse-9991.4.9-r1 (with k=1) and not pulseaudio-17.0-r7
(with k=10), and therefore didn't respect provider_priority but pkgver.

This then resulted in the apk solver preferring
pmos-base-ui-audio-pipewire over -pulseaudio, because the
!pipewire-pulse dep by -pulseaudio wasn't satisfiable.

[ci:skip-build]: alpine binary repos incomplete for some archs

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7776>
2026-01-17 14:31:51 -08:00
Clayton Craft 3c2af74036 main/postmarketos-base-ui: set defaults for pmb_select
This should fix cases where pw-pulse was being installed by default by
pmbootstrap despite not being selected.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7776>
2026-01-17 14:31:39 -08:00
Clayton Craft ed4088ae33 systemd/postmarketos-base-systemd: oomd: disable swap kill, raise app slice priority
This disables swap-based killing and sets a lower pressure threshold
for user apps in the app slice so they will get killed sooner than other
things (e..g the whole session slice).

Killing based on swap usage was resulting in some sudden kills from
oomd, and upon further investigation is seems like other distros
(ubuntu, fedora) either never enabled this or walked it back due to it
being confusing for users.

The override for app.slice and sets the pressure limit to a value less
than the other slices, in an attempt to fix situations where an app
(e.g. firefox) was creating a ton of pressure and systemd-oomd was
killing the entire UI/session.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7751>
2026-01-17 09:14:13 -08:00
Clayton Craft 8b4f66950c main/postmarketos-base: switch to pmos-zram
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 2b4650d9f3 systemd/postmarketos-base-systemd: add preset for zram-swap
And remove preset for zram-init's zram_swap

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 49b9e02ddf main/postmarketos-zram: increase default zram factor/size to 150%
This "size"/factor/percentage represents the total amount of
**uncompressed** data that is allowed to be written to the zram-backed
swap device. It is **not** the amount of RAM to use for zram swap (as I
had previously and erroneously thought.) What this means is that if we
set the percent to 50% on a device with 3GB of RAM then up to 1.5GB of
*uncompressed* data can be written to it, BUT since compression algos
usually do better than a ratio of 1:1... less than 1.5GB of RAM will
actually be occupied by this data when it is compressed.

A 1.5:1 compression ratio seems relatively safe to assume, even if we
use lz4 (which is less "good" at compressing than zstd), so I propose we
set the size to 150%. Some distros (PureOS) set this higher (200%), but
I think we should be somewhat conservative since we want to avoid any
thrashing in case the compression ratio at runtime ends up being less
than 2:1 for some reason.

This does set a limit of 50% for devices with >32GB of RAM, to
reduce overhead with using a larger amount of zram swap. The kernel
documentation for zram suggests there's a 0.1% overhead, so if we let
this amount get large then it could be tens or hundreds of MB of RAM
"wasted." The amount I chose is kinda arbitrary, I think this can be
improved later. At the very least, users can change this amount in the
deviceinfo variable.

Fixes #4250

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 7aee3f6f58 main/postmarketos-zram: new aport
This is meant to replace zram-init. It's much simpler, since it only
sets up zram swap and doesn't try to do all the things that zram-init
does. This also lets us add additional logic, such as selecting
different default algorithms based on the runtime CPU arch and
conditionally applying sysctl settings that might be inappropriate when
*not* using zram swap.

To create zramstart, I took the zram-configurator, which reads config
from deviceinfo vars, and extended it to create the zram swap device.

zramstart and zramstop were inspired by what Fedora does. The sysctl
config is from the work done here:
https://source.puri.sm/Librem5/librem5-base/-/merge_requests/381

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Francesco D'Alessano 352b03dde3 device-samsung-a50: remove calls to fbdebug
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7781>
2026-01-17 16:46:01 +01:00
Francesco D'Alessano 395b97d46d linux-samsung-a50: revert "build with LLVM" (bbbb3e052f)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7781>
2026-01-17 16:46:00 +01:00
Vasiliy Doylov 23ff88c2d6 device-apple-mac-aarch64: add hid modules to initfs
This allow to use touchpad and keyboard in initfs.
Fixes FDE unlock on apple-tonga

Signed-off-by: Vasiliy Doylov <nekocwd@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7780>
2026-01-17 15:42:14 +03:00
Achill Gilgenast 4cd0f4ac5c systemd/pipewire: upgrade to 1.4.10
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7775>
2026-01-17 11:14:31 +00:00
Luca Weiss be30fa4d1c linux-postmarketos-qcom-milos: upgrade to 6.18.5
Manual kconfig changes:
* INPUT_AW86927=m (Fairphone (Gen. 6) haptics)
* POWER_SEQUENCING_QCOM_WCN=m (Fairphone (Gen. 6) Bluetooth/WiFi)
* ZRAM_BACKEND_842=y (category:zram)
* ZRAM_BACKEND_DEFLATE=y (category:zram)
* ZRAM_BACKEND_LZ4=y (category:zram)
* ZRAM_BACKEND_LZ4HC=y (category:zram)
* ZRAM_BACKEND_LZO=y (category:zram)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7774>
2026-01-17 00:53:50 +00:00
Luca Weiss f18d15c598 device-fairphone-fp6: add dependency on ath11k firmware for WiFi
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7774>
2026-01-17 00:53:50 +00:00
Achill Gilgenast de6191ed00 cross/*: add empty maintainer= variables
non-"aportgen"erated packages in cross/

[ci:skip-vercheck]: same behaviour

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7765>
2026-01-17 00:51:36 +00:00
Stefan Hansson 73ea3570c8 main/devicepkg-dev: don't assume deviceinfo_chassis is set
The deviceinfo_chassis variable is not mandatory in the deviceinfo
schema, so we shouldn't treat it as always being there.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7762>
2026-01-17 00:49:33 +00:00
Clayton Craft 3dfbc72312 systemd/qemu-binfmt: drop aport
This config is packaged upstream:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95870

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7755>
2026-01-17 00:47:35 +00:00
Richard Acayan b953dc5d29 linux-postmarketos-qcom-sdm670: upgrade to v6.18.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7736>
2026-01-17 00:45:23 +00:00
Paul Sajna d33e421faa device-lg-judyln: Co-maintain
I'm doing significant kernel work for this device, including bringup of firmware, drm, and touchscreen.

I'd like to be added as a co-maintainer for this device.

https://lore.kernel.org/all/20251203-judyln-dts-v5-0-80c1ffca8487@postmarketos.org/

[ci:skip-vercheck]: Changing co-maintainers does not require increasing
pkgrel.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7773>
2026-01-16 09:13:14 +01:00
Joshua Murphy f1ad7eabad main/postmarketos-usb-moded: add support for openrc
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7673>
2026-01-15 16:52:13 +01:00
Bart Ribbers d4330a7129 systemd/plasma*: upgrade to 6.5.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7756>
2026-01-15 14:26:39 +00:00
Achill Gilgenast ce3b389edf device-google-snow: demote to testing
The device no longer fit the criteria of community, since Jenneron is no
longer an active maintainer.

[ci:skip-vercheck] # moving package from one category to another

Follow-Up from <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7748>

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7763>
2026-01-15 15:09:38 +01:00
Achill Gilgenast 2fbf3832d4 temp/akms: assign Antoine as maintainer
[skip ci]: too many false positives :p

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast c83cd42293 temp/iio-sensor-proxy: assign Dylan as maintainer
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast 323e9316f0 temp/usb-moded: assign Dylan & Clayton as maintainer
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast e148bf840f temp/libcamera: assign Robert as maintainer
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast 9d71f0affb extra-repos/systemd: copy maintainers of pmos-ui-gnome to GNOME packages
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast 586c68aa88 */*: copy maintainers of pmos-ui-gnome-mobile to GNOME Mobile packages
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast b444503d83 {temp,extra-repos/systemd}/*: add empty maintainer variables to forks
See https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2796

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:25 +00:00
Achill Gilgenast 20f5c75a1b device/testing: add empty maintainer variables
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:21 +00:00
Achill Gilgenast 43876a93ea */*: fix invalid maintainer comment
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7734>
2026-01-15 11:15:21 +00:00
Achill Gilgenast 65fa27d1fd */*: remove maintainership by inactive maintainers
* Set Co-Mainatiner as maintainer, if they exist
* Add me as co-maintainer of QEMU packages to fulfill main requirements
* Add people interested in maintainance to their packages
* device-google-snow now has no maintainer, if someone is interested,
  please add yourself as maintainer, otherwise it has to be dropped

As we all know they are inactive nowadays, the maintainer variables
should reflect the reality who cares/is responsible about a package, and
inactive members are not. And waiting for a inactive maintainer 2 weeks
is just staling the MR.

Thanks for all the work Minecrell & Jenneron, and feel free to add
yourself again if you're back again.

[skip ci]: too many false positives :p

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7748>
2026-01-15 11:05:38 +00:00
Achill Gilgenast 8d49e58fed main/postmarketos-release-upgrade: fix Ollie's email address
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7748>
2026-01-15 11:05:38 +00:00
Luca Weiss 073dd5c647 linux-postmarketos-qcom-sm6350: upgrade to 6.18.0
Manual kconfig changes:
* CONFIG_NTSYNC should be enabled and preferably set to 'm' (category:wine)
* CONFIG_ZRAM_BACKEND_842 should be enabled and preferably set to 'y' (category:zram)
* CONFIG_ZRAM_BACKEND_DEFLATE should be enabled and preferably set to 'y' (category:zram)
* CONFIG_ZRAM_BACKEND_LZ4 should be enabled and preferably set to 'y' (category:zram)
* CONFIG_ZRAM_BACKEND_LZ4HC should be enabled and preferably set to 'y' (category:zram)
* CONFIG_ZRAM_BACKEND_LZO should be enabled and preferably set to 'y' (category:zram)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7599>
2026-01-15 09:33:51 +01:00
Pablo Correa Gómez 3195aee54b device-oneplus-fajita: drop unnecessary systemd subpackage function
The default_systemd function already does what we want if we place the
files in the right directories

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:48 +00:00
Pablo Correa Gómez 5612550691 device-oneplus-fajita: remove nonfree-firmware subpackage
The device won't really work well without this firmware, and
simplifies and modernizes the packaging quite a bit.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:48 +00:00
Pablo Correa Gómez 241bfc2b42 main/devicepkg-dev: remove devicepkg_pmtest_post_install
This is no longer used, and we have better ways to do this now!

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:44 +00:00
Pablo Correa Gómez ef789fa35f device-*: remove all devicepkg_pmtest_post_install uses
As explained in the previous commit, this was initially envisioned to
be used in a different way, and with ci-tron the way to add the
console is different (just a gitlab variable), so this won't be needed
in the future.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:44 +00:00
Pablo Correa Gómez f8a7760f82 device-oneplus-fajita: enable on ci-tron, set the kernel console
To enable on ci-tron, just create the gitlab-ci.yml.j2 template. This
could be reused by most other sdm845, and probably qcom devices.  This
also allows dropping the devicepkg_pmtest_post_install hack, since
ci-tron will concatenate all the CI_TRON_KERNEL_CMDLINE__* variables
into a single kernel commandline.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:44 +00:00
Pablo Correa Gómez 55a97f8085 ci: fix generation of build-jobs.yaml on devices without kernel variants
The check in Python did not work with devices without kernel variants
due to it returning None and that breaking the has_kernel_variants
check. Fix that, and also adding the kernel variant to install
packages, which was missed. In the process, rename kernels to
kernel_variants. All devices have at least one kernel, but not all
have "variants" :)

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:41 +00:00
Pablo Correa Gómez b7de1b3108 ci: enable support for fastboot devices in ci-tron
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:41 +00:00
Pablo Correa Gómez 9695134893 main/postmarketos-mkinitfs-hook-ci: keep dmesg enabled
So we can read the complete output in the logs. This was initially
done to avoid the output from being interrupted, and therfore easier
to read. However, it avoids kernel logs to be collected, which is an
important part of the tests, and necessary for debugging. So let dmesg
be as default.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:41 +00:00
Pablo Correa Gómez 37ec13a7ee ci: update ci-tron vendored dependencies
This should fix missing logs on error like in
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/jobs/1465845

[ci:skip-vercheck]

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7761>
2026-01-14 15:26:51 -08:00
Clayton Craft d78576fadb main/boot-deploy: upgrade to 0.21.2
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.2

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7760>
2026-01-14 23:13:42 +00:00
Clayton Craft 3a74f3a1de kconfigcheck: enable all compression backends for zram
It doesn't seem like enabling these will "cost" us anything, and
making sure they are enabled will let us more easily change the default
compressor for zram swap in the future.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7753>
2026-01-14 21:59:26 +00:00
Clayton Craft 67e26581a9 main/boot-deploy: upgrade to 0.21.1
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.1

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7759>
2026-01-14 10:24:19 -08:00
Achill Gilgenast a534afac0a systemd/mutter: rename glycin-loaders-dev to libglycin-dev
Due to changes I did in Alpine

[ci:skip-vercheck]: no functional changes, just a makedep rename

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7758>
2026-01-14 17:04:45 +00:00
Pablo Correa Gómez 11e8136f44 ci: fetch ci-common files from "main" branch
Relates https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/issues/122

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7726>
2026-01-14 16:48:52 +00:00
Aster Boese bd5b620021 main/postmarketos-base: drop busybox-suid
Busybox su and login are not aware of PAM, so on a system
with linux-pam installed, they entirely ignore any rules.
These issues can be mitigated by removing the suid binary
that the symlinks point to and require, which is installed
by busybox-suid. Because busybox-suid handles more than su
and login, this commit replaces all the tools we use that
would be called through it.

Note that this does not remove Busybox su and login, as they
are in Busybox itself. This commit instead only removes the
suid interface that they would normally be called from.

See https://gitlab.alpinelinux.org/alpine/aports/-/issues/11730
for more information.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7724>
2026-01-14 16:30:30 +00:00
Aster Boese 410c83b578 google-x64cros: update maintainer variable
This device has so few issues that I haven't touched it since my name changed.
Update my name and email to match the latest version.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7757>
2026-01-14 10:38:44 -05:00
Achill Gilgenast 85610b1cf5 device-pine64-pinenote: split hrdl deps by line & sort them
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7746>
2026-01-13 20:25:39 +00:00
Achill Gilgenast ea76778f25 device-pine64-pinenote: remove postmarketos-theme dependency
See HEAD~

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7746>
2026-01-13 20:25:39 +00:00
Achill Gilgenast af5e1894a9 main/postmarketos-theme: remove
Repo archived & outdated in today's postmarketOS

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7746>
2026-01-13 20:25:36 +00:00
Clayton Craft 7eb29052fa main/postmarketos-base: add Achill and Clayton as maintainers
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7733>
2026-01-13 20:00:02 +00:00
Achill Gilgenast 84746afbd7 main/postmarketos-qemu-common: assign Clayton, Aelin, Oliver as maintainers
They are active within this + qemu packages and care probably the most
about them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7747>
2026-01-13 19:57:27 +00:00
Stefan Hansson f57634343a main/dint: upgrade to 0.0.5
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7745>
2026-01-13 19:01:16 +00:00
Aelin c9c88060f2 docs: Document kconfigcheck and process for changing requirements
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7382>
2026-01-13 18:00:57 +00:00
Antoine Martin 06864383c6 device-pine64-pinenote: drop pinenote-dbus-service depend
pinenote-dbus-service does not exist anymore

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7737>
2026-01-13 16:58:59 +00:00
adamthiede 86afd9f26c linux-postmarketos-mediatek-mt8173: upgrade to 6.18.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7739>
2026-01-13 16:25:20 +00:00
Sebastian Fleer 2703119835 linux-postmarketos-rockchip: upgrade to 6.18.5
and set CONFIG_USB_CONFIGFS_F_FS=y according to kconfigcheck.toml

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7740>
2026-01-13 15:58:33 +00:00
Aelin ccb005aa87 systemd/dbus: rebuild with proper deps for loongarch64
See 202f4ce025 and pmaports issue 4156.
I've yet to spend some more time debugging this, but this will fix the
dbus package for loongarch64 in the meantime.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7738>
2026-01-13 14:31:30 +00:00
Aelin 38acf0cfdd Build loongarch64 in CI and mark it as supported
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7738>
2026-01-13 14:31:30 +00:00
Aelin 47f342bfcb ci: Use base image from Alpine container registry
Docker does not support loongarch64 for official images yet. Alpine
publishes images for all architectures on their registry, so just use
that instead.

See also https://gitlab.alpinelinux.org/alpine/docker-abuild/-/merge_requests/71

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7738>
2026-01-13 14:31:30 +00:00
Stefan Hansson 8820408a8c htc-flounder: remove maintainer
While this is not my package, I emailed the maintainer as he hasn't made
a new account since we migrated to our self-hosted instance. Today he
replied with that he may return to it in the future but that it would be
best to remove his maintainer line in the meantime.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7742>
2026-01-13 12:21:48 +00:00
Clayton Craft 8326df65f8 main/boot-deploy: upgrade to 0.21.0
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7732>
2026-01-13 12:09:26 +00:00
Achill Gilgenast bb6ac2384c modem/pd-mapper: remove
Upstreamed in Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/e0a375bfdb60dbdcf783f45af7e319913f40fd54
(pmaports version + package upgrade)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7735>
2026-01-13 10:41:44 +00:00
Antoine Martin 010ba0b0d5 linux-pine64-pinenote: upgrade to 6.18.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7729>
2026-01-13 10:34:14 +00:00
Aelin c4ef29760f soc-qcom: Add myself as Co-Maintainer
[ci:skip-vercheck]: co-maintainer changes are not reflected in the APK

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7650>
2026-01-13 01:09:17 +01:00
Clayton Craft 96d714f167 main/postmarketos-base-ui: delay starting flatpak helper
This is a workaround for https://github.com/flatpak/flatpak/issues/6449

By requiring that system time is sync'd with NTP before the flatpak
helper is started, we can make sure that system time is always greater
than the flathub.org repo gpg key creation time, and prevent the
helper/flatpak from creating broken repo config that requires manual
intervention to fix.

Fixes #3816

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7711>
2026-01-12 19:41:19 +00:00
Clayton Craft 5e435f9669 systemd/postmarketos-base-systemd: add systemd-time-wait-sync preset
This unit will activate `time-sync.target` after system time is synced,
e.g. by NTP. We can use this target to delay starting some units until
we know that system time is correct. IIUC this shouldn't have any impact
on system startup otherwise, including existing units we enable, so
nothing should be slowed down by adding this.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7711>
2026-01-12 19:41:19 +00:00
Achill Gilgenast ecd710af96 */*: move to maintainer= variables
* Also move right above pkgname=
* Move Co-Maintainer lines above maintainer=
* Remove empty lines in the header

pmbootstrap 3.7+ & abuild supports maintainer= variables.

See also https://gitlab.alpinelinux.org/alpine/tsc/-/issues/88

[ci:skip-build]: no pkgver/pkgrel changes
[ci:ignore-count]: intended
[ci:skip-vercheck]: no functional changes
[skip ci]: false positives

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7723>
2026-01-12 17:01:35 +01:00
Antoine Martin d5ae5740f8 pinenote-dbus-service: remove due to incompatibility with current kernel
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7459>
2026-01-12 15:43:29 +00:00
Antoine Martin ec4c1d9bfd {linux,device,u-boot}-pine64-pinenote: move to community from testing
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7459>
2026-01-12 15:43:29 +00:00
Stefan Hansson 30c0eac857 device-samsung-a30: depend on postmarketos-base-downstream
This is a downstream device, and it was reported that this workaround
fixes LightDM on it.

Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2699

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7717>
2026-01-12 15:15:51 +00:00
Aster Boese b44f0fb509 linux-postmarketos-intel-medfield: move to archived
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7712>
2026-01-12 08:26:36 +00:00
Aster Boese 52d8bc02fa {device,petitboot}-motorola-smi: move to archived
This device does not build and builds both the kernel and bootloader
in one package. The last submitter/maintainer update to this package
was in 2023.

[ci:skip-vercheck]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7712>
2026-01-12 08:26:36 +00:00
Achill Gilgenast f883f7c464 main/postmarketos-base-ui-gnome: depend on glycin-thumbnailer & glycin-loaders-all
glycin will be split in https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95129.

thumbnailer for thumbnail generation in file browsers, and all loaders
to have the best file type coverage for all applications.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7701>
2026-01-12 00:40:00 +00:00
Achill Gilgenast eefbf8c0cb systemd/systemd-services: remove tqftpserv-systemd
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7431>
2026-01-11 18:50:56 +00:00
Achill Gilgenast a1233cf6e3 modem/tqftpserv: remove
Upstreamed in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7431>
2026-01-11 18:50:56 +00:00
Achill Gilgenast 3537f69f35 temp/81voltd: remove
Upstreamed in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7722>
2026-01-11 19:15:36 +01:00
Aelin 67f18e1fc0 */*: update my name and email
[ci:ignore-count]: intended
[ci:skip-build]: all patches still apply, no functional changes

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7721>
2026-01-11 18:52:28 +01:00
Aelin 878b203f52 main/f0rmz: upgrade to 3.4.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7720>
2026-01-11 17:47:52 +01:00
Antoine Martin c1b5c32f18 linux-pine64-pinenote: upgrade to 6.18.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7714>
2026-01-11 10:06:31 +00:00
Clayton Craft 04394b2337 linux-postmarketos-asahi: upgrade to 6.18.4
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7713>
2026-01-11 10:03:22 +00:00
Clayton Craft 4e712841d7 kconfigcheck: set USB_F_FS to =m
Setting it to =y requires also setting CONFIGFS=y, but since we have
CONFIGFS=m this needs to be adjusted or else config generated from this
toml will fail validation / kconfigcheck.

```
[09:25:01] Copy kernel config back to pmaports dir
[09:25:02] (native) generate checksums for linux-postmarketos-asahi
[09:25:03] INFO: config-postmarketos-asahi.aarch64: CONFIG_USB_F_FS is preferably y, but currently m (category:usb_gadgets)
[09:25:03] Fragment pmos.config: CONFIG_USB_F_FS expected to be 'y' but has different value in final config
[09:25:03] ERROR: Fragment validation failed: Some options from fragments did not make it to the final kernel config. This usually means missing dependencies.
```

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7713>
2026-01-11 10:03:22 +00:00
bluebunny 3139c36b86 device-samsung-j7xelte: switch to mainline port
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7651>
2026-01-11 10:00:47 +00:00
methanal 6b1824ed28 linux-postmarketos-exynos7870: add devicetree for j7xelte
[ci:skip-build]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7706>
2026-01-11 09:54:44 +00:00
Aster Boese 06b8e00382 lg-d285: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese fa65e4331c lenovo-karate: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 6285df1bff asus-z00t: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 02d879ad3f htc-vision: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 096184a9b0 htc-k2ul: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 12ca07cb2a motorola-titan: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 9e7fd89578 amazon-ford: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 165a7ef85e motorola-thea: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 511d5eb432 samsung-i747m: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese c792d2aab0 samsung-i9003: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 51807e0a38 samsung-crownlte: install udev configs under /usr/lib/ and split into subpackages
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 4da8b85cd2 jolla-sbj: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 52c204ab4d motorola-condor: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese e9e400058d sony-sumire: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese e56e2aaf09 sony-honami: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 415454cdcf sony-aries: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 81ef2398d3 lg-d855: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 321167b7c9 lg-dory: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 93871401cd samsung-gts210velte: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese dc2866710c samsung-gts210vewifi: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7544>
2026-01-10 18:23:19 +00:00
Aster Boese 6dbd933393 t2m-flame: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 245630a06d xiaomi-armani: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 6856f0bb1e raspberry-pi5: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 1bf628b78b raspberry-pi4: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 4fbd9a4fb2 raspberry-pi0: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese f65d2f6b6a raspberry-pi: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese c20ad9d6f0 cutiepi-tablet: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese d71d9b5c2f sony-suzuran: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese b476d9bef8 sony-ivy: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese dea8d1ea71 samsung-starlte: install udev configs under /usr/lib/ and split subpackages
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 762b830bd9 samsung-star2lte: install udev configs under /usr/lib/ and split subpackages
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese 8f5339e7ba soc-sprd-audio: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Aster Boese a3f77bd84e htc-ace: install udev configs under /usr/lib/ and split into $pkgname-udev subpackage
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7542>
2026-01-10 18:20:06 +00:00
Antoine Martin 4290c56dcd u-boot-pine64-pinenote: upgrade to 2026.01
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7702>
2026-01-10 18:17:10 +00:00
faveoled 08636e98af linux-realme-rmx2180: fix x86_64 build
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7709>
2026-01-10 02:05:43 +00:00
Sreeranj Krishna MandFerass El Hafidi db020e37a6 lenovo-tb3-710i: new device
Apply 1 suggestion(s) to 1 file(s)

Co-authored-by: Ferass El Hafidi <funderscore@postmarketos.org>

Edit APKBUILD

Changed deviceinfo

aport lint

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7687>
2026-01-09 15:15:22 +00:00
faveoled 2a080185b4 device-realme-rmx2180
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7623>
2026-01-09 05:39:37 +00:00
Stefan Hansson 491ef1cb5f main/postmarketos-ui-phosh: update pkgdesc
It is true that Phosh originally was developed for the Librem 5,
but at this point that is more of a "fun fact" than relevant
information with Purism no longer funding Phosh development and
the Librem 5 losing prominence. Replace it with something more
descriptive.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7704>
2026-01-08 11:40:27 +01:00
Stefan Hansson 8659b81479 main/postmarketos-ui-phosh: remove waked reference
We no longer use waked in postmarketOS.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7704>
2026-01-08 11:40:07 +01:00
Luca Weiss b88aedeb07 main/postmarketos-ui-phosh: run rc-update on post-upgrade as well
We need to run rc-update for greetd, otherwise after pma!6106 there's no
greeter/login manager service enabled anymore.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7703>
2026-01-08 09:42:24 +01:00
Achill Gilgenast 0dd3833131 main/columbiad: remove
It has no other packages depending on it and _if_ somebody has _some_
use of it, it should be in Alpine.

This package hasn't been touched since the initial inclusion in 2019,
and also the upstream repo had it's last activity in 2017.

Rel: 322cec513c ("main/columbiad: new package (full screen launcher) (!364)")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7695>
2026-01-07 06:17:54 +00:00
Clayton Craft ea2144bbaf linux-postmarketos-qcom-laptop: upgrade to 6.18
This also reverts venus support, to fix #4229

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7654>
2026-01-06 10:38:29 -08:00
Clayton Craft 481c2a8970 temp/iio-sensor-proxy: add patch to fix inverted rotation on sargo
The previous rule is too vague and would also tag /dev/fastrpc-cdsp
devices too. Sometimes iio-sensor-proxy would bind to this which
seemed to always produce inverted orientation values. If only
/dev/fastrpc-adsp* is tagged, then orientation always seems to be
correct.

fixes #3741

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7681>
2026-01-06 18:27:17 +00:00
Richard Acayan bce90fc1ec linux-postmarketos-qcom-sdm670: upgrade to v6.18.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7626>
2026-01-06 12:22:16 +00:00
Barnabás Czémán efdd4179ca device-qcom-msm89x7: Add qbootctl as a dependency
MSM8937 family also have some AB devices so lets add qbootctl
as dependency for make msm-firmware-loader able to load the firmwares.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7693>
2026-01-06 06:50:10 +00:00
Ingo Reitz 8a453cd2f5 linux-postmarketos-qcom-sc7180: fix kconfigcheck violations
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7680>
2026-01-05 23:13:03 +01:00
Arnav Singh 5201e1d9d6 linux-postmarketos-allwinner: upgrade to 6.18.3_git20260105
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7691>
2026-01-05 15:19:58 +00:00
Clayton CraftandDylan Van Assche 5971d0f226 main/postmarketos-usb-moded: use a generator to configure UID/GID for umtprd
MTP transfers write files to the home folder of the user.
If no GID and UID are specified, uMTP-responder will use the GID/UID
under which it is running at the time of the file transfer.
This causes users to not be able to access the files on the device after transfering.

This patch adds a systemd generator that:

1) reads /etc/default_user, and appends config to
   /etc/umtprd/umtprd.conf to set the MTP default user/group. If this
   file doesn't exist, 10000:10000 is the fallback uid:gid.
2) installs this config to /run/umtprd/umptrd.conf
3) adds a unit override to /run for umtprd.service that runs the daemon
   with this modified config

The generator is used instead of hardcoding a uid and gid in umtprd.conf
so that this can support immutable installs or situations where the
default UID/GID is not 10000.

Co-authored-by: Dylan Van Assche <dylan@postmarketos.org>
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7658>
2026-01-05 10:15:18 +00:00
Ingo Reitz 974f3165f9 soc-qcom-sc7180: change maintainers
[ci:ignore-count]
[ci:skip-build]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 2a71c8b63d soc-mediatek-mt8183: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz ad6b4cf273 linux-postmarketos-mediatek-mt81: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 022bfaeeb1 linux-postmarketos-qcom-sc7180: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 25702e2374 firmware-google-trogdor: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 84dc6a25f1 device-google-cherry: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 4e0ff94591 device-google-asurada: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 8bad680f0a device-google-kukui: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz f426dd23ab device-google-corsola: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz a339e3ab2f device-google-trogdor: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Ingo Reitz 4197876192 main/postmarketos-cros-common: change maintainers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7676>
2026-01-04 18:44:28 +00:00
Stefan Hansson 6020955850 main/postmarketos-base-ui-gnome-mobile: recommend postmarketos-tweaks-setting-definitions
postmarketos-tweaks has been replaced.

[ci:skip-vercheck]: Only changing recommends.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7678>
2026-01-04 16:53:47 +01:00
Stefan Hansson 27e46df277 main/postmarketos-tweaks-setting-definitions: new aport
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7678>
2026-01-04 16:53:47 +01:00
Stefan Hansson bae76c6a51 main/postmarketos-tweaks: remove
Unmaintained and re-implemented as part of Phosh Mobile Settings.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7678>
2026-01-04 16:53:47 +01:00
Antoine Martin 4d713c7133 linux-pine64-pinenote: upgrade to 6.18.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7688>
2026-01-03 19:46:10 +00:00
Achill Gilgenast 790ba424e7 {main,modem,device/community}: add missing maintainer lines
Ignored device/{archived,downstream,testing} + alpine forks + cross
packages

[ci:ignore-count]
[ci:skip-build]
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7679>
2026-01-03 18:36:33 +00:00
Ingo Reitz 546a2c16f2 Revert "device-google-{asurada,cherry,corsola,kukui,trogdor}: add systemd-boot"
This reverts commit 4960460b82.

This produces an invalid depthcharge payload on devices with kernel packages that install both a .efi kernel and vmlinuz. mkinitfs runs boot-deploy with the .efi kernel (because `deviceinfo_generate_systemd_boot=true`) and depthcharge can't boot a kernel in this format

pkgrels have been bumped

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7682>
2026-01-03 08:47:08 +01:00
ell1e 91bb1a6018 device-clockworkpi-uconsole-rpi: Try to fix the FDE black screen
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7312>
2026-01-02 13:10:29 +01:00
Hacker1245 a4803a404c firmware-qcom-msm89x7: Add motorola-cedric firmware
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7674>
2026-01-02 04:57:16 +00:00
Jane RachingerandClayton Craft 3bff0ec79a systemd/gdm: upgrade to 49.0.1
This notably disabled support for x11 backends. Let's see what breaks.

This also adds sysuser config for creating the gdm-greeter user (see
gdm@088c7c2).

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7169>
2026-01-01 19:46:43 -08:00
Jane Rachinger a49d91522d systemd/gnome-session: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7169>
2026-01-01 19:46:43 -08:00
Richard Acayan 934843e44c postmarketos-initramfs: probe subpartitions of device-mapper devices
The initramfs can sometimes use the device-mapper to open dynamic
partitions. Dynamic partitions are used for testing a full installation
without touching userdata (so testers can quickly revert to a working
phone at any time). Since subpartitions are still used on google-sargo,
do not skip device-mapper devices.

Fixes: 0268336968 ("main/postmarketos-initramfs: fix bug with booting from usb")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7675>
2026-01-01 19:53:30 -05:00
Ingo Reitz 4960460b82 device-google-{asurada,cherry,corsola,kukui,trogdor}: add systemd-boot
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7656>
2026-01-01 20:35:06 +00:00
Achill Gilgenast 12216b89f2 main/postmarketos-ui-kodi: move systemd-service from systemd-services
It's taken from the third-party kodi-standalone-service repo, which just ships
services & configs to be used with kodi. They seem opinionated enough
that they won't make sense in upstream Kodi. So I think vendoring it
downstream is fine.

Also adding me as a co-maintainer for kodi, as I'm the aports maintainer
and care enough about it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7672>
2026-01-01 01:21:33 +01:00
Achill Gilgenast f464f548b4 systemd/systemd-services: remove q6voiced.service
Packaged in modem/q6voiced see HEAD~

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7532>
2025-12-30 14:31:51 +01:00
Achill Gilgenast 7dd6f327f5 modem/q6voiced: remove
Upstreamed in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7532>
2025-12-30 14:31:43 +01:00
Stefan Hansson 187f27e5a3 pmaports.cfg: Bump pmbootstrap minimum version to 3.8.0
Since c957fa0c83, pmbootstrap versions
older than 3.8.0 crash during pmbootstrap init. Bump the minimum
required version communicate to users that they need to update.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7669>
2025-12-30 12:54:53 +00:00
Oliver Smith d8d8e19235 temp/usb-moded: use version schema from Alpine
Use the same version schema as in Alpine, so the upstream compat script
can compare them properly. Currently we have:

  master: usb-moded: 0.86.0+mer69 != 0.86.0.68 (downstream != upstream)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7665>
2025-12-30 12:34:07 +00:00
Stefan Hansson a652a6f334 CI: Set args.ccache in conftest.py
Fixes CI being broken everywhere:

      File "/builds/postmarketOS/pmaports/.ci/testcases/conftest.py", line 32, in args
        init_args(args)
      File "/tmp/pmbootstrap/pmb/helpers/args.py", line 94, in init
        context.ccache = args.ccache
                     ^^^^^^^^^^^
    AttributeError: 'PmbArgs' object has no attribute 'ccache'

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7670>
2025-12-29 23:37:03 +01:00
Achill Gilgenast 51cf7aa48b modem/rmtfs: remove
Upstreamed in Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/commit/44460207ea78ed20824782d258496976faac71d5

[ci skip]: pmbootstrap is broken

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7668>
2025-12-29 20:29:06 +01:00
moeenio 3dbf62377e systemd/postmarketos-base-systemd: add enabled systemd preset for Chatty
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7662>
2025-12-29 12:38:20 +01:00
Henrik Grimler b746630896 linux-postmarketos-exynos5: upgrade to 6.12.63
Changes are roughly:

- Rebase on-top of 6.12.63
- Disable not-needed ARM_ERRATA_643719
- Set ARM_ERRATA_798181=y and ARM_ERRATA_814220=y
- Modify config to make kernel and initramfs smaller:
  - Change some option to modules
  - Unset debug options, instead move them to new kernel fragment
    exynos_debug.config
  - Make all filesystems in initramfs built-in
  - Compress modules with xz
- Also change some options to make pmbootstrap kconfig check happy

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7663>
2025-12-29 01:22:17 +00:00
Mazzotti2 945f16bcc0 device/linux-samsung-a3y17lte: fixed build
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7642>
2025-12-28 22:58:55 +00:00
Duje Mihanović 9e1af0f117 linux-samsung-coreprimevelte: upgrade to 6.18.2
Device-specific improvements are as follows:

* Some of the SoC DTS stuff has been upstreamed and therefore dropped
  from here (the rest, which constitutes most of the aport patches, has
  been cleaned up and will land in 6.19)
* Dropped some unnecessary reserved memory (~65.5MiB)
* Power domain support added (fixes IOMMU probing and will be useful
  for some other stuff)
* Added a workaround for the WiFi firmware crashes
* Fixed `kconfig check` complaints

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7661>
2025-12-28 22:54:12 +00:00
Stefan Hansson 5136e99a67 linux-postmarketos-stericsson: upgrade to 6.18.2
Tested and works on samsung-skomer.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7660>
2025-12-28 22:49:29 +00:00
bluebunny 85a3bbfd5d linux-postmarketos-exynos7870: make kconfig happy and enable melfas mip4 touchscreen driver
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7652>
2025-12-28 13:43:57 +00:00
Clayton Craft 076b3f343d temp/iio-sensor-proxy: rebuild against libssc 0.3
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7657>
2025-12-28 13:41:39 +00:00
Dylan Van AsscheandClayton Craft dcf34e7e41 main/postmarketos-ui-{gnome-mobile,phosh,plasma-mobile}: depend on pmos-usb-moded
Let usb-moded handle the USB gadget in GNOME Mobile, Phosh and Plasma Mobile UIs.

OpenRC and systemd are both using the patches of usb-moded to allow
switching modes through a set of scripts. usb-moded supports also
activation of systemd services depending on the mode which is the
'normal' way. If this is used, the patches are not all needed for
usb-moded, but would create different code paths for systemd and OpenRC,
which is not good for maintenance.

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:46:16 -08:00
Clayton Craft c957fa0c83 main/postmarketos-usb-moded: new aport
This pkg contains usb-moded profile config and config for setting
default profile based on pmb_select.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:46:16 -08:00
Dylan Van Assche 7d35823389 kconfigcheck: add USB FunctionFS
[ci:ignore-count]
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:28 -08:00
Clayton Craft cf13a8a683 systemd/postmarketos-base-systemd: add preset for usb-moded-notify
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:28 -08:00
Dylan Van Assche b75d4fa94d main/postmarketos-mkinitfs-hook-netboot: mark conflict with usb-moded
In netboot mode, the USB connection must remain as is from the initramfs
to avoid breaking netboot mode. If usb-moded is started in netboot mode,
it will reconfigure the USB gadget, therefore mark it as conflict.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:27 -08:00
Dylan Van Assche c5a8b1b6cd CI: tethering script is removed
usb-moded takes over tethering from NM

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:27 -08:00
Dylan Van Assche f2f4cdd1e2 main/postmarketos-base-ui: remove tethering script
Tethering is now integrated within usb-moded.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:27 -08:00
Dylan Van AsscheandClayton Craft 002191af2b temp/usb-moded: fork from Alpine
Adjust with support for NCM gadget, generalize FunctionFS functionality,
and disabling rescue mode.

USB Moded modes contain:
- Tethering mode script
- Developer mode script
- umtprd daemon for MTP mode

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:27 -08:00
Stefan Hansson 7cc349a2b1 linux-purism-librem5: upgrade to 6.6.118 and enable CFI
And appease kconfig check.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7546>
2025-12-27 23:57:36 +01:00
Clayton Craft b9e6ca1211 device-google-sargo: remove modem-gnss from openrc post-install
This was moved to soc-qcom in 8d356e5056

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7655>
2025-12-27 10:46:05 -08:00
Aster Boese a859221da5 soc-qcom: install modem-gnss openrc service with executable permissions
Fixes service being installed 644 by 8d356e5056

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7653>
2025-12-27 12:37:58 -05:00
Pablo Correa Gómez cd5aaf8e9f ci: cache get_base_commit function calls
The commit shall not be updated during a CI run, and this calls git
fetch, which is considerably slow at times. This reduces the git fetch
calls down to 1 from 3 in the generate-build-jobs step.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7649>
2025-12-27 01:19:44 +00:00
Pablo Correa Gómez e41cce98e8 ci: use functools.cache instead of implementing custom cache global
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7649>
2025-12-27 01:19:44 +00:00
Antoine Martin 95be8c7b5a device-pine64-pinenote: set tinydm to sway only if hrdl is enabled, but not installed
`device-pine64-pinenote-sway.post-upgrade` should check if `sway_hrdl`
is enabled but not installed (like in the case of upgrading from v7-r0
to v8-r0) before setting default session back to `sway`. Else, every
upgrade will set the session back to sway.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7644>
2025-12-27 00:10:37 +00:00
Antoine Martin 28debb7530 device-pine64-pinenote: fix chroot install
`device-pine64-pinenote-systemd.post-install` checks if `tinydm-ebc` was
active via `is-active` systemctl command. This does not work in chroot
environment, and exits with exit code 0, thus acting as if `tinydm-ebc`
is active. Since this check is used for v7-r0 to v8-r0 upgrade, it can
be assumed that if output isn't `active`, then the check should not
pass. This commit reworks this by looking for that output rather than a
zero exit code.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7644>
2025-12-27 00:10:37 +00:00
Luca Weiss d567384f0d linux-postmarketos-qcom-sc7280: upgrade to 6.18.0
No manual kconfig changes.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7600>
2025-12-26 19:40:29 +00:00
Pablo Correa Gómez 51a7792aac ci: get supported arches from pmbootstrap instead of hard-coding
supported_binary reads the pmaports.cfg file, and if that is changed
in the future, we can be pretty sure we will get what we expect.

Fixes #4195

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7648>
2025-12-26 18:29:12 +00:00
Clayton Craft d07664abbb main/postmarketos-qemu-common: add usb modules to initramfs
Allows using qemu usb devices (keyboard/mouse) in the initramfs

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Clayton Craft 917ca066de device-qemu-*: drop initramfs module config
This is now in postmarketos-qemu-common

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Clayton Craft c739138510 main/postmarketos-qemu-common: add initramfs modules common to all qemu "devices"
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Pablo Correa Gómez 93dfbad7ba ci: remove unused imports
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7590>
2025-12-26 13:29:15 +00:00
Pablo Correa Gómez 41d7b0c4b7 ci: improve dependency resolution in build-jobs.yaml.j2
The gitlab issue is now resolved! Although we still need gitlab 18.6
to test it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7590>
2025-12-26 13:29:15 +00:00
Antoine Martin 2c08601858 linux-pine64-pinenote: set CONFIG_NLS_ASCII=y
Boot partition, when set as fat32, expects ASCII charset.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7622>
2025-12-25 21:49:40 -05:00
Antoine Martin 9107b52a31 linux-pine64-pinenote: upgrade to 6.18.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7622>
2025-12-25 21:49:31 -05:00
Pablo Correa Gómez 4e23818b18 docs: allow TCs to backport to stable releases
Relates https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/issues/131

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7625>
2025-12-25 23:32:43 +00:00
Clayton Craft 57c75db149 soc-qcom: delay starting modem-gnss on boot
modem-gnss / qmicli depends on qrtr being up, or it fails on boot and
GPS doesn't work on this device:

 sargo systemd[1]: Starting Google Sargo (Pixel 3a) GNSS Modem Setup...
 sargo qmicli[1080]: error: node with id 0 not found in QRTR bus

Ideally there would be a path in /dev or sysfs so we could add a
ConditionPathExists= in the unit, but I tried hard to find something and
was unable to. Making modem-gnss depend on ModemManager seems to work
around this issue, since qrtr seems to always (in my testing) be up by
then. IIUC in the future we may not have to run qmicli to enable GPS, so
this patch is a workaround to fix a workaround.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7636>
2025-12-25 23:19:41 +00:00
Clayton Craft 8d356e5056 community/soc-qcom: move modem-gnss service from google-sargo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7636>
2025-12-25 23:19:41 +00:00
Clayton Craft 5fe98f2476 modem/msm-modem: do not return non-zero if no SIM is detected
MM does other important things (like enable GPS) even if no SIM is
installed, but when this returns non-zero after timing out waiting for a
SIM then we lose the ability to have MM enable GPS (for example). Other
failures related to selecting SIMs should still trigger a non-zero exit
and block MM (I guess), but if we waited a while and no SIM shows up
then let MM start anyways.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7634>
2025-12-25 06:56:47 +00:00
Aster Boese e6852ed946 systemd/polkit: upgrade to 127
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7639>
2025-12-24 22:53:12 +01:00
Achill Gilgenast bb1f8cb515 systemd/wireplumber: upgrade to 0.5.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7638>
2025-12-24 13:17:27 +01:00
Oliver Smith d3366eb7e5 main/postmarketos-release-upgrade: upgrade to 1.11.1
Related: https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/-/tags/1.11.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7630>
2025-12-23 15:07:12 +00:00
Achill Gilgenast 026dd661b7 systemd/systemd-services: remove more services
[ci:skip-build]: CI fails upgrading, which will be fixed with this
commit

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7631>
2025-12-23 15:14:05 +01:00
Oliver Smith 6e9e1c8ee9 gitlab/issue_templates: mark v25.12 as released 2025-12-23 14:26:08 +01:00
Oliver Smith 8458d2a5d1 channels.cfg: mark v25.12 as released 2025-12-23 13:55:12 +01:00
Oliver Smith 93f91ed3c0 cross/systemd-boot-x86: fix build without libintl
Fix that the build aborts with:
  Checking for function "dgettext" : NO
  meson.build:1029:21: ERROR: C shared or static library 'intl' not found

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7604>
2025-12-23 12:10:05 +00:00
Achill Gilgenast 30546c9795 cross/systemd-boot-x86: upgrade to 259
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94895

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7604>
2025-12-23 12:10:05 +00:00
Alexandre Marquet 6eae90872b device-samsung-manta: switch boot partition to fat32
Now that samsung-manta uses EFI boot, its boot partition should be
formatted in FAT32.

Note that the current behaviour does not impair booting nor updating of
kernels and initramfs, but tools like bootctl do not like that.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7624>
2025-12-23 11:09:17 +00:00
Achill Gilgenast 32e9ca423e githooks/pre-commit: remove file size check
This still comes from the aports hook, where we want to avoid too large patches,
but in pmaports we have big kernel config files that might exceed the
configured 256 kiB limit.

Currently the following files exceed that limit and used git commit
--no-verify to overcome the error (or didn't configure git hooks):

	260K	./device/community/linux-postmarketos-qcom-laptop/config-postmarketos-qcom-laptop.aarch64
	268K	./main/postmarketos-bootsplash/OpenSans-Regular.svg
	336K	./device/downstream/linux-amazon-checkers/0003-Add-missing-kconfig-files.patch
	376K	./device/downstream/linux-amazon-austin/silence-power-logspam.patch

Alternatively we can increase the file limit, but i'm not sure what that
solves.

In future for Alpine, I want to move the check to abuild's internal
linting, which makes it visible for all APKBUILDs, consistent with
other of abuild's linters and also shows up on CI.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7603>
2025-12-22 23:53:09 +00:00
Sid Pranjale dd15329220 nokia-pl2: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7615>
2025-12-22 23:50:06 +00:00
Joel SelvarajandAchill Gilgenast e8f41bbd28 gain/postmarketos-ui-phosh: use greetd phrog to start phosh
Co-Authored-By: Achill Gilgenast <achill@achill.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6106>
2025-12-22 19:47:37 +00:00
adamthiede 30b58b3e48 linux-postmarketos-mediatek-mt8173: upgrade to 6.18.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7608>
2025-12-22 19:22:14 +00:00
user0-07161 4e6ed17a98 linux-postmarketos-qcom-msm8930: rename, upgrade to 6.19-rc1 and build with llvm
this also enables the new charging driver on samsung-loganrelte.
renaming the package to align with the mainlining org on github.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7618>
2025-12-22 11:18:01 +00:00
bluebunny d4ee2be519 device-samsung-jxelte: fix typo in codename and allow flashing via heimdall
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7617>
2025-12-22 17:48:02 +09:00
Oliver Smith 613c20c7e7 device-purism-librem5: disable pipewire
Calls are broken for the Librem 5 with pipewire. Switch to pulseaudio
again until this is resolved by depending on
postmarketosbase-ui-audio-pulseaudio and pulseaudio<9990. The later is
needed as otherwise we get a conflict with pipewire-pulse:

  ERROR: unable to select packages:
    pipewire-pulse-9991.4.9-r1:
      breaks: postmarketos-base-ui-audio-pulseaudio-42-r0[!pipewire-pulse]
      satisfies: device-purism-librem5-9-r6[pulseaudio>17]
                 gnome-settings-daemon-99948.1-r3[pulseaudio]
                 postmarketos-base-ui-audio-pulseaudio-42-r0[pulseaudio]

That pulseaudio<9990 is needed is not great, but doing it like this
inside the device package is the best way to ensure this doesn't affect
any other devices for now, with the intention to have this change
backported to v25.12 before we announce the release. I've created issue
4187 to discuss how to improve the pulseaudio/pipewire packaging in
general so this isn't necessary in the future.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7619>
2025-12-22 07:20:46 +00:00
Casey Connolly 481fb1948d linux-next: enable HIDRAW
specified in kconfigcheck and needed for yubikey fido to work.

Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7610>
2025-12-22 06:15:39 +00:00
Jakob Hauser b17dbf308f main/swclock-offset: upgrade to 0.2.7
Compatibility with distros like NixOS that do not use Filesystem
Hierarchy Standard was improved. This should not affect the behavior
in postmarketOS.

Additionally a systemd target file was added.

Changelog:
- openrc: Adopt customizable binary path
- systemd: add target file
- Improve compatibility with non-FHS systems

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7607>
2025-12-21 10:40:08 +00:00
Sebastian Fleer b1f4684fa9 linux-postmarketos-rockchip: upgrade to 6.18.2
and add NTSYNC module according to kconfigcheck

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7602>
2025-12-21 03:00:11 +00:00
Achill Gilgenast 29f27e4b55 systemd/postmarketos-base-systemd: fix xdg-user-dirs preset
systemd.preset(5) expects the unit suffix which was missing and
resulted in not enabling.

Fixes: bbc4d2c9c7 ("systemd/postmarketos-base-systemd: enable xdg-user-dirs by default")
Ref: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4169#note_522422
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7611>
2025-12-20 23:21:49 +00:00
Achill Gilgenast c2d7194b22 main/postmarketos-mkinitfs-hook-debug-shell: update fbdebug bin path
meson buildsystem installs it to /usr/bin instead of /usr/sbin

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7503>
2025-12-19 22:52:53 +00:00
Pablo Correa Gómez 12541c1a6e main/fbdebug: drop
Upstreamed in Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/commit/0ad0f346192132bae89857a03e995acf2bb42b3d

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7503>
2025-12-19 22:52:53 +00:00
dominduchami d5460000aa device-nokia-tesla: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7568>
2025-12-19 22:06:10 +00:00
Luca Weiss 22a792fbe6 linux-postmarketos-qcom-milos: upgrade to 6.18.0
Manual kconfig changes:
* CONFIG_NTSYNC should be enabled and preferably set to 'm' (category:wine)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7601>
2025-12-19 10:04:25 +01:00
Clayton Craft 794bce75b6 systemd/systemd-stage0: sync pkgrel with systemd pkg
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
2025-12-18 20:02:59 -08:00
Clayton Craft a5dcb7b61b systemd: explicitly disable vmlinux-h
Else systemd/meson may try to generate it at build time, which doesn't
work when the host kernel is a different arch than the target.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
2025-12-18 19:41:38 -08:00
Clayton Craft 8b302ee6ce systemd/systemd{,-stage0}: upgrade to 259
This builds from upstream now.

- tests are re-enabled
- disable BTF support / drop vmlinux.h dependency, enabling bpf is
  enough for mkosi/testing stuff, and getting a sane vmlinux.h that
  systemd can compile with seems to be "complicated."
- armhf is re-enabled since we don't enable BTF anymore
- workaround stage0 linking failing on riscv64 by enabling tests
- increase test timeout for main pkg, because running in qemu is slow
- a lot more dependencies are explicitly listed now, because they are
  dlopened and abuild doesn't know how to detect these
- meson build options re-arranged / cleaned up (some of these are
  implicitly disabled by using -Dlibc=musl)
- tests are skipped for archs that we build in CI/bpo that don't have
  native hw, since ~13 of them fail for unknown (or timeout) reasons. 2
  of them time out after >1200 seconds and 11 fail for mysterious
  reasons.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7584>
2025-12-18 23:38:24 +00:00
Clayton Craft b6489d85e2 linux-postmarketos-asahi: upgrade to 6.17.12
- Sync kconfig
- Enables compressed modules

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7586>
2025-12-18 23:32:30 +00:00
C-VD 432691cf41 device-samsung-chagalllte: add audio support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7561>
2025-12-18 21:18:42 +00:00
Luca Weiss ee0545d7ae main/postmarketos-ui-lomiri: fix wallpaper - yet again
Just pull in postmarketos-artwork-wallpapers-gnome which provides a
gschema override that is updated when the artwork package gets updated -
and won't break every so often.

Usually that package is pulled in via an "install_if" with
postmarketos-base-ui-gnome but since we just want the artwork
subpackage, depending on base-ui-gnome would be quite much and probably
not what we want for Lomiri.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7593>
2025-12-18 21:15:40 +00:00
Aster Boese 174c7fc713 pmaports.cfg: declare XFS as a supported filesystem type
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7585>
2025-12-18 21:02:32 +00:00
Aster Boese 9119922edf main/postmarketos-initramfs: add XFS partition support
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7585>
2025-12-18 21:02:32 +00:00
user0-07161 51719c59b0 linux-bananapi-bpi-m2-zero: add myself as a maintainer
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7591>
2025-12-17 17:53:49 +01:00
Pablo Correa Gómez 4e071ba624 main/keepfileopen: drop
Its only consumer is now vendoring it

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7495>
2025-12-17 16:20:53 +00:00
Pablo Correa Gómez 7e145bad88 modem/msm-modem: embed keepfileopen utility
This is only used in this program, so we can have one less package

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7495>
2025-12-17 16:20:53 +00:00
Pablo Correa Gómez 5781f22c48 main/unl0kr: drop pmtest subpackage
This has been made unnecessary since the latest changes

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez f048d723f5 device-qemu-amd64: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 52e3daf0d3 device-qemu-aarch64: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 78700ba2c9 device-shift-axolotl: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future. In the process, also remove the
unnecessary postmarketos-test dependency in makedepends. That is just
an empty package.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 18817063ee device-xiaomi-perseus: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 7df5d62494 device-oneplus-fajita: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez d6db12f1f4 device-oneplus-enchilada: use postmarketos-test-unl0kr for pmtest
This is device-agnostic, and allows to not depend on a package that
might end up in alpine in the future

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 2cefeddf7e main/postmarketos-test: add generic unl0kr test
This will be removed from unl0kr in the following commits, since at
some point it might be that unl0kr is not packaged in postmarketOS,
and this is a completely device-agnostic test, which is what this
package is for.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez 8733e062ac main/postmarketos-test: drop depends="postmarketos-mkinitfs-hook-ci"
It's actually the other way around

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:54 +00:00
Pablo Correa Gómez e039d54678 main/unl0kr: do not copy initramfs files during tests a second time
Since this was introduced, we no longer create "initramfs-extra"
unconditionally. So the "extra" files will be included in the
initramfs anyway. In addition, to be able to test the initramfs-extra
split for devices that need it, we require:

* To have one of those devices available for test.
* To modify our test setup to pass a rootfs that can be mounted.

Both are long into the future, if they will ever materialize. So let's
remove this, reducing the complexity.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7553>
2025-12-17 16:11:51 +00:00
Henrik Grimler 8cbef98839 linux-postmarketos-exynos5: upgrade to 6.12.62
Changes are roughly:

- Rebase on-top of 6.12.62
- Add isa1200 driver (from exynos4), and use it on manta (@lat3st)
- Add camera flash for manta (@lat3st)
- Improve manta audio driver to decrease CPU load (@alexmrqt)
- Fix wacom w9000 pen being always active unless inserted (@eisenbahnfan)
- Drop a pm_domain hack, and instead make exynos5 subcmu driver wait
  for pm_domain to probe first (@eisenbahnfan)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7582>
2025-12-17 13:47:56 +00:00
Eisenbahnfan e88f56d618 device-samsung-{n1awifi,n2awifi,v1awifi}: disable gsd-color
Disable gsd-color that uses a whole CPU at 100% doing nothing.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7558>
2025-12-17 13:45:16 +00:00
Bart Ribbers 221596151e systemd/kwin: backport upstream requested patch
Fixes https://bugs.kde.org/513151

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7587>
2025-12-17 08:30:05 +01:00
Achill Gilgenast 45acd6449d main/postmarketos-ui-niri: configure greetd.service to use niri's wlgreetd config
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7557>
2025-12-16 21:54:20 +01:00
Achill Gilgenast d1284775df systemd/postmarketos-base-systemd: switch from wlgreet.service to greetd.service
We're switchitung to the upstream greetd service from wlgreet

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7557>
2025-12-16 21:54:18 +01:00
Achill Gilgenast 98ffffadc4 systemd/systemd-services: remove wlgreet.service
Superseeded by greetd.service in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7557>
2025-12-16 21:53:51 +01:00
Clayton Craft 7de0485651 main/postmarketos-ui-cosmic: use pw for audio
COSMIC can't even control pulseaudio, which means no volume control or
output/input device selection in the UI, so make sure pipewire is used
for audio.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7580>
2025-12-15 22:46:14 -08:00
Affe Null 5ede52a87c alsa-ucm-conf-unisoc-ums9230: upgrade to 1.2.9_git20251211
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7571>
2025-12-15 23:47:03 +00:00
Affe Null 7f30afdb7b linux-postmarketos-unisoc-ums9230: upgrade to 6.19-rc1 release 0
Upgrade kernel to the v6.19-rc1-ums9230-0 tag and change the
configuration to satisfy community requirements.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7571>
2025-12-15 23:47:03 +00:00
user0-07161 7d4a439821 linux-bananapi-bpi-m2-zero: upgrade to 6.19.0_rc1, build with llvm
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7576>
2025-12-15 23:43:10 +00:00
Jens Reidel 7d3b8e05df kconfigcheck: Don't require LTO_CLANG_THIN for CFI
This is only required on kernels prior to 6.1 and not even supported on
some architectures like ARMv7.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7537>
2025-12-15 23:32:12 +00:00
Duje Mihanović 93cc790a9d linux-samsung-coreprimevelte: Fix touchscreen
Add a patch increasing the touchscreen voltage to fix some
newly-discovered touchscreen issues.

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7577>
2025-12-15 20:29:45 +00:00
Ferass El Hafidi 9e07e317fb device-amlogic-aarch64-tvbox: fix ugoos-am3 build
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7573>
2025-12-15 19:39:31 +00:00
Clayton Craft 1fd1396385 systemd/postmarketos-base-systemd: fix user and root slice oomd config
Apparently the user slice and root slice weren't being configured
correctly and oomd was not stepping in during high swap pressure events
before the kernel oom killer showed up to the party. This (hopefully)
properly configures systemd-oomd now... The configuration was inspired
by Fedora.
https://fedoraproject.org/wiki/Changes/EnableSystemdOomd

I used the test in that wiki page to confirm it's now properly configured:

$ systemd-run --user tail /dev/zero
$ journalctl -f
...
systemd[1081]: Started [systemd-run] /usr/bin/tail /dev/zero.
systemd-oomd[517]: Considered 79 cgroups for killing, top candidates were:
systemd-oomd[517]:         Path: /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service
systemd-oomd[517]:                 Swap Usage: 4.6G
systemd-oomd[517]: Killed /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service due to memory used (2458>
systemd[1081]: run-p5146-i5147.service: systemd-oomd killed 1 process(es) in this unit.
systemd[1081]: run-p5146-i5147.service: Main process exited, code=killed, status=9/KILL
systemd[1081]: run-p5146-i5147.service: Failed with result 'oom-kill'.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7556>
2025-12-15 19:33:41 +01:00
Achill Gilgenast de51296af2 cross/systemd-boot-x86: upgrade to 258.3
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/94695

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7575>
2025-12-15 18:22:55 +00:00
Luca Weiss 2f8b24651a linux-postmarketos-qcom-sc7280: build with LLVM & update config per kconfigcheck
Migrate the compiler to LLVM toolchain and update config as per required
and preferred config options by kconfigcheck.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7536>
2025-12-15 16:00:51 +00:00
Antoine Martin d34a040357 systemd/postmarketos-base-systemd: add pinenote systemd units to base preset
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7515>
2025-12-15 15:56:11 +00:00
Antoine Martin b5256b5f3d device-pine64-pinenote: fix waybar icons by being unicode compliant
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7515>
2025-12-15 15:56:11 +00:00
Antoine Martin d7229de9d4 device-pine64-pinenote: rename sway,sway-systemd subpackage to sway-hrdl, systemd
In an effort to have the option to start with a vanilla sway experience,
the sway subpackage is renamed to sway-hrdl to allow for a vanilla sway
config by default, but give the option for hrdl's opiniated
configuration if desired. Non-opiniated eink optimizations will be added to
the now empty sway subpackage as they are developped. A post-install
script was added to move back to vanilla sway.

In favor of using the more automated systemd subpkg. `tinydm-ebc.service` is
removed in favor of an override file for `tinydm.service` packaged in a
device-wide systemd subpackage. A post-install script was added to
disable `tinydm-ebc.service` and enable `tinydm.service` is tinydm is
in-use at time of upgrade.

Enabling systemd units is now handled by postmarketos-base-systemd's
90-base.preset.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7515>
2025-12-15 15:56:11 +00:00
Achill Gilgenast 72d41b909f systemd/networkmanager: upgrade to 1.54.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7560>
2025-12-15 09:04:54 +01:00
postmarketOS CI f90f431e2c linux-next: upgrade to next-20251215 2025-12-15 05:52:19 +00:00
Oliver Smith 5f73aa27ac main/postmarketos-release-upgrade: upgrade to 1.11.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7570>
2025-12-14 21:21:35 +00:00
Achill Gilgenast ea1d611657 main/postmarketos-base-ui-gnome: switch from ffmpegthumbnailer to gst-thumbnailers
See https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/1206

Signed-off-by: Achill Gilgenast <achill@achill.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7555>
2025-12-14 21:11:01 +00:00
Oliver Smith 58017a20fc gitlab/issue_templates/Default: add v25.12 2025-12-14 21:55:48 +01:00
WeirdTreeThing 750a5e44c6 modem/msm-cros-efs-loader: upgrade to 1.2.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7567>
2025-12-14 11:28:33 -05:00
Bart Ribbers a042ba345b purism-librem5: always install wys rather than only for GNOME
All UI's use ModemManager nowadays and without this calling is broken.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7564>
2025-12-14 11:55:37 +01:00
Clayton Craft ff66f0bd69 main/postmarketos-ui-cosmic: depend on gst-thumbnailers
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7562>
2025-12-14 01:00:30 +00:00
Antoine Martin a7cb07b4bc linux-pine64-pinenote: upgrade to 6.18.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7559>
2025-12-13 09:51:45 -05:00
Bart Ribbers 5a7562eff0 systemd/plasma*: upgrade to 6.5.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7551>
2025-12-13 11:56:13 +00:00
Clayton Craft 5c7d664d88 main/postmarketos-initramfs: add crc32c_cryptoapi to default modules list
In some kernels, this may be =m, so we need to include this module so we
can mount BTRFS.

Also see: https://gitlab.alpinelinux.org/alpine/aports/-/issues/17787

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7554>
2025-12-12 13:26:02 -08:00
Alexandre Marquet 48aa6d9b84 firmware-samsung-manta: change maintainership
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7552>
2025-12-12 19:37:34 +00:00
Alexandre Marquet 7032c65834 device-samsung-manta: change maintainership
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7552>
2025-12-12 19:37:34 +00:00
Aster Boese 06712bae4b qcom-msm8953: install udev configs under /usr/lib/ and split subpackages
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7534>
2025-12-12 15:48:09 +00:00
Aster Boese 58017f46b2 xiaomi-beryllium: install udev configs under /usr/lib/ and split subpackages
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7534>
2025-12-12 15:48:09 +00:00
Clayton Craft 1c26be5ffe kconfigcheck: add 'wine' category for community kernels
This category can be used to collect kconfig that improve Wine/Proton
support on devices. NTSYNC is Win NT sync primatives that improve
performance of things running under Wine.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7157>
2025-12-12 16:07:54 +01:00
postmarketOS CI 16653132a5 linux-next: upgrade to next-20251212 2025-12-12 05:43:41 +00:00
Aster Boese ec33981ed5 linux-amazon-checkers: build with LLVM
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7483>
2025-12-11 19:38:22 +00:00
Igor Belwon 543cc6296a linux-postmarketos-mediatek-mt6878: upgrade to v6.18
Besides that, a lot (over 150) config options were moved to modules, which lets the
Kconfig check pass without any info/warnings. The kernel is also now built with LLVM.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7388>
2025-12-11 05:46:29 +00:00
Clayton Craft bd75bd2184 device-apple-mac-aarch64: drop dependency on asahi-fwextract
This isn't being used in the device port, so we don't need to depend
on it.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7528>
2025-12-11 01:20:42 +00:00
Oliver Smith 202f4ce025 systemd/dbus: rebuild with proper deps
The dbus-dev package in ppc64le does not depend on systemd-dev yet, as
it was not rebuilt after the initial bootstrap of the repository.

See depends here:
* https://pkgs.postmarketos.org/package/master/postmarketos:systemd/ppc64le/dbus-dev
* https://pkgs.postmarketos.org/package/master/postmarketos:systemd/riscv64/dbus-dev

Rebuild it to fix that packages building against dbus-dev fail with:
  Package 'libsystemd', required by 'dbus-1', not found

All arches in v25.12 have the same problem, so this patch will be
backported there. Long-term we will want to fix this properly, but given
that the release is close, this is a good enough workaround with low
risk of breaking anything.

Related: pmaports issue 4156
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7543>
2025-12-10 20:23:39 +01:00
Luca Weiss 1d68379692 linux-postmarketos-qcom-sm6350: update config per kconfigcheck
Update config as per required and preferred config options by
kconfigcheck.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7535>
2025-12-10 19:10:06 +00:00
postmarketOS CI 30b82eebb9 linux-next: upgrade to next-20251210 2025-12-10 05:42:29 +00:00
Rudraksha Gupta 2f14c44b7b linux-next: expressatt: Add Touchkey
Add touchkey driver to expressatt. Relies on this patch being upstreamed:
https://lore.kernel.org/all/20251205-expressatt-touchkey-v1-1-1444b927c9f3@gmail.com/

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7487>
2025-12-10 02:07:11 +01:00
Achill Gilgenast f5a9093e73 systemd/systemd-services: remove a few more upstreamed services
Just like before with b4c55cbd90 ("systemd/systemd-services:
remove a few upstreamed services")

Also reflect the maintainers to the people actually reviewing
systemd-services MRs and replace the "how-to package serives"-guide to a
message to upstream them instead.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7522>
2025-12-09 16:32:57 +00:00
Achill Gilgenast c847234ee9 device-lenovo-21bx: remove redundant fractional scaling override
Recently added in postmarketos-base-ui-gnome.

See bb5686f152 ("main/postmarketos-base-ui-gnome: enable fractional scaling")

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7531>
2025-12-09 14:09:16 +01:00
postmarketOS CI 035934c785 linux-next: upgrade to next-20251209 2025-12-09 05:49:39 +00:00
Luca Weiss 8d348d43f2 device-fairphone-fp5: Remove outdated hexagonrpcd config
The firmware paths were changed by pma!6966[0], so this is just wrong
config now. Remove it.

[0] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7404>
2025-12-09 02:36:23 +00:00
Luca Weiss 94fab838ee device-fairphone-fp4: Remove outdated hexagonrpcd config
The firmware paths were changed by pma!6966[0], so this is just wrong
config now. Remove it.

[0] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7404>
2025-12-09 02:36:23 +00:00
Achill Gilgenast bb5686f152 main/postmarketos-base-ui-gnome: enable fractional scaling
Makes it much easier to use plain gnome-shell on tablets or even phones
and is already enabled on GNOME Mobile.

@rmader remebers upstream not enabling this by default because of bugs
with XWayland, but since XWayland applications are much more rare on
mobile phones, plus it's still 100% by default and a fractional scale
has to be enabled manually.

> Makes mutter default to layout logical monitors in a logical pixel
> coordinate space, while scaling monitor framebuffers instead of window
> content, to manage HiDPI monitors. Does not require a restart.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7529>
2025-12-08 22:27:29 +00:00
Jens Reidel a6fc5a6a34 main/postmarketos-ui-plasma-desktop: enable on ppc64le
[ci:skip-vercheck]: enabling package on architecture

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7530>
2025-12-08 22:24:33 +00:00
Jens Reidel 93885e9498 docs: approval-rules: Allow merging without maintainer approval after 2 weeks
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7526>
2025-12-08 22:19:33 +00:00
Bart Ribbers 7b9c17483f main/postmarketos-ui-plasma-mobile: fix typo in systemd user override
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7478>
2025-12-08 18:17:31 +00:00
Clayton Craft 884aa853dd linux-postmarketos-asahi: upgrade to 6.17.11
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7524>
2025-12-08 17:02:00 +00:00
postmarketOS CI 759500847f linux-next: upgrade to next-20251208 2025-12-08 16:42:59 +00:00
Pablo Correa Gómez 6e99b38fc8 kconfigcheck.toml: add missing "all" arch to category:rust
This makes the whole thing more consistent, and allows to verify
architectures in pmb

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7527>
2025-12-08 16:04:43 +01:00
Antoine Martin affdf01c15 linux-pine64-pinenote: upgrade to 6.18.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7518>
2025-12-08 13:31:43 +00:00
Pablo Correa Gómez 7bbac7dea6 kconfigcheck.toml: fix architecture typo
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7523>
2025-12-08 01:01:19 +01:00
Richard Acayan 0f5258d3ba modem/rmtfs: reference new executable path in OpenRC service
In version 1.1.1, the new install target in the Makefile was used to
install rmtfs. This installs rmtfs to /usr/bin instead of the expected
/usr/sbin. Use the new /usr/bin directory for the OpenRC service file so
rmtfs can keep working under OpenRC.

Fixes: f7052461da ("modem/rmtfs: subpackage -systemd")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7517>
2025-12-07 15:48:00 -05:00
Achill Gilgenast a75026ff3a main/mobile-config-firefox: remove
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7514>
2025-12-07 19:59:48 +00:00
Oliver Smith 4bf8b82a1b modem/unisoc-timesync-daemon: fix build
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7511>
2025-12-07 17:49:34 +01:00
Oliver Smith 0b4c804bfc modem/unisoc-nvitem-daemon: fix build
Fix for:
  >>> unisoc-nvitem-daemon-systemd*: Running split function systemd...
  install: can't stat '90-unisoc-nvitem-daemon.preset': No such file or directory

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7511>
2025-12-07 17:49:34 +01:00
Oliver Smith a60830d3cb temp/mesa-dri-simpledrm: set builddir to fix build
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7511>
2025-12-07 17:49:34 +01:00
Oliver Smith 7203fa22b0 device/testing: set builddir to fix builds
With recent abuild changes, these packages don't build anymore. Set
builddir="$srcdir" for these packages to get the previous behavior and
have the builds fixed.

[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7511>
2025-12-07 17:49:27 +01:00
Oliver Smith 6ad93a1713 soc-qcom-msm8916: fix build
Fix for:
  >>> soc-qcom-msm8916-rproc*: Running split function rproc...
  install: can't stat 'q6voiced.conf': No such file or directory

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7511>
2025-12-07 17:49:00 +01:00
Stefan Hansson 26a458efc0 main/postmarketos-artwork: fix wallpaper paths
These should've been updated in the earlier commit.

Fixes 78952f195e

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7510>
2025-12-07 16:06:04 +01:00
Luca Weiss 108b5f846c linux-postmarketos-qcom-milos: upgrade to 6.17.0
Update kconfig as per following "pmbootstrap kconfig check" messages.

* CONFIG_BTRFS_FS is preferably y, but currently m (category:filesystems)
* CONFIG_BTRFS_FS_POSIX_ACL should be enabled and preferably set to 'y' (category:filesystems)
* CONFIG_CFI_CLANG should be enabled and preferably set to 'y' (category:hardening)
* CONFIG_CFI_ICALL_NORMALIZE_INTEGERS should be enabled and preferably set to 'y' (category:hardening)
* CONFIG_CRYPTO_CMAC is preferably m, but currently y (category:iwd)
* CONFIG_DM_CRYPT is preferably y, but currently m (category:default)
* CONFIG_DM_VERITY should be enabled and preferably set to 'm' (category:immutable)
* CONFIG_EFIVAR_FS is preferably m, but currently y (category:immutable)
* CONFIG_EROFS_FS should be enabled and preferably set to 'y' (category:immutable)
* CONFIG_EROFS_FS_ZIP should be enabled and preferably set to 'y' (category:immutable)
* CONFIG_F2FS_FS is preferably y, but currently m (category:filesystems)
* CONFIG_HID_GENERIC is preferably m, but currently y (category:input)
* CONFIG_INPUT_EVDEV is preferably m, but currently y (category:default)
* CONFIG_INPUT_UINPUT is preferably y, but currently m (category:input)
* CONFIG_IP6_NF_FILTER should be enabled and preferably set to 'm' (category:nftables)
* CONFIG_IP6_NF_IPTABLES_LEGACY should be enabled and preferably set to 'm' (category:nftables)
* CONFIG_IP6_NF_NAT should be enabled and preferably set to 'm' (category:nftables)
* CONFIG_IP6_NF_TARGET_MASQUERADE should be enabled and preferably set to 'm' (category:containers)
* CONFIG_IP_NF_FILTER should be enabled and preferably set to 'm' (category:nftables)
* CONFIG_IP_NF_IPTABLES_LEGACY should be enabled and preferably set to 'm' (category:waydroid)
* CONFIG_IP_NF_MANGLE should be enabled and preferably set to 'm' (category:waydroid)
* CONFIG_IP_NF_NAT should be enabled and preferably set to 'm' (category:nftables)
* CONFIG_IP_NF_TARGET_MASQUERADE should be enabled and preferably set to 'm' (category:containers)
* CONFIG_IP_NF_TARGET_REDIRECT should be enabled and preferably set to 'm' (category:containers)
* CONFIG_LEDS_CLASS_MULTICOLOR is preferably m, but currently y (category:input)
* CONFIG_LEDS_TRIGGER_PATTERN is preferably m, but currently y (category:community_various)
* CONFIG_LEDS_TRIGGER_TIMER is preferably m, but currently y (category:community_various)
* CONFIG_LTO_CLANG_THIN should be enabled and preferably set to 'y' (category:hardening)
* CONFIG_NETFILTER_XTABLES_LEGACY should be enabled and preferably set to 'y' (category:waydroid)
* CONFIG_NULL_TTY is preferably m, but currently y (category:default)
* CONFIG_SHADOW_CALL_STACK should be enabled and preferably set to 'y' (category:hardening)
* CONFIG_SYN_COOKIES should be enabled and preferably set to 'y' (category:default)
* CONFIG_TUN is preferably m, but currently y (category:waydroid)
* CONFIG_USB_CONFIGFS is preferably m, but currently y (category:usb_gadgets)
* CONFIG_ZRAM is preferably y, but currently m (category:zram)
* CONFIG_ZSMALLOC is preferably y, but currently m (category:zram)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7368>
2025-12-07 14:07:27 +00:00
Luca Weiss 5ca5542111 linux-postmarketos-qcom-milos: Build with LLVM
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7368>
2025-12-07 14:07:27 +00:00
Luca Weiss 1e7f2ed2e7 device-fairphone-fp6: update kernel package name & remove append_dtb
The kernel package has been renamed, so update the dependency
accordingly.

And remove append_dtb, this was actually used with boot-deploy < 0.20.0
because deviceinfo_header_version="2" was ignored and therefore v0 was
used, which requires appended dtb. Now that boot-deploy is actually
passing this parameter, we do not have to append the dtb to the kernel
image anymore, because the dtb is passed in a separate field.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7368>
2025-12-07 14:07:24 +00:00
Luca Weiss d16bac3335 linux-postmarketos-qcom-milos: rename from linux-postmarketos-qcom-sm7635
Rename the kernel package to follow updated naming conventions in the
upstream kernel.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7368>
2025-12-07 14:07:24 +00:00
Oliver Smith e6eed8f376 channels.cfg: v25.12: update branch_aports
Alpine 3.23 has been branched, adjust this config.
2025-12-07 14:33:53 +01:00
Jens Reidel 8473c7a59c device-qcom-sm7150: Disable splash and serial console for now
On systemd installs, pbsplash causes the device to hang during init and
reset. OpenRC does not exhibit this behavior. Let's disable the splash
screen for now to get the devices working out of the box again and look
into this again after 25.12 when we have plymouth.

The serial getty setup is broken on some devices. Not all of them have
the UART TX/RX connected in hardware, so the ttyMSM0 does not exist on
all devices. On those that have it, it works, on those that don't, it
causes logspam.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7509>
2025-12-07 12:49:11 +00:00
Stefan Hansson 213f0eccac main/postmarketos-artwork: remove use of deprecated "convert"
The "convert" command and subcommand is deprecated. Use "magick"
instead.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7502>
2025-12-07 12:25:47 +00:00
Stefan Hansson 78952f195e main/postmarketos-artwork: set v25.12 wallpaper
This time "Sward" by Dikasp won[1].

 [1]: https://social.treehouse.systems/@postmarketOS/115640026538543141

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7502>
2025-12-07 12:25:47 +00:00
Clayton Craft 7513001408 systemd/systemd-services: drop speakersafetyd unit file
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7508>
2025-12-07 12:12:33 +00:00
Pablo Correa Gómez 54a80d1d04 main/cros-keyboard-map: move maintainership
Jenneron is not available for a while, and WeirdTreeThing is the
maintainer upstream.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7505>
2025-12-07 12:10:04 +00:00
Abdullah AL Shohag 7b5d78d4b4 device-xiaomi-lancelot: initial mainline port for redmi 9 (lancelot) [linux-postmarketos-mediatek-mt6768]
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7292
2025-12-06 15:24:51 -08:00
Abdullah AL Shohag 832843238b linux-postmarketos-mediatek-mt6768: update to kernel 6.16.0 from github/mt6768-mainline
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7292
2025-12-06 15:24:51 -08:00
Liam Hurwitz 85bc7bf959 device-postmarketos-trailblazer: add T14s Gen 6 boot support (MR 6306!)
Add modules required to successfully boot the Lenovo Thinkpad T14s Gen 6 (Snapdragon X Elite).

Changes:
- Add rtc_pm8xxx module to initfs for RTC support
- Add pinctrl_sm8550, as this is required for boot and the keyboard to work

Tested-on: Lenovo Thinkpad T14s Gen 6 (21N1)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6306
2025-12-06 15:17:27 -08:00
Pablo Correa Gómez 017e8ea414 device/*: update maintainer email from Joel Selvaraj
See
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7235#note_510126

[ci:skip-vercheck] Co-Maintainer lines do not require pkgbump

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7507>
2025-12-06 22:55:12 +01:00
Pablo Correa Gómez 3e9288e447 */*: fix Co-maintainer lines having wrong capitalization
And resulting in the bot not pinging people

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7507>
2025-12-06 22:47:22 +01:00
Pablo Correa Gómez a9c8157e38 device-google-bonito: install hexagonrpcd script under /usr
This is the right path for distro-provided configs

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7303
2025-12-06 13:31:48 -08:00
Pablo Correa Gómez 94e59d71e4 device-google-sargo: install hexagonrpcd script under /usr
This is the right path for distro-provided configs

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7303
2025-12-06 13:31:48 -08:00
Pablo Correa Gómez cb914b669a main/bootchart2: drop
This is packaged in alpine since the beginning of the year

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7504>
2025-12-06 21:20:09 +00:00
Achill Gilgenast ad7f71fb30 systemd/multipath-tools: remove
not needed anymore. eudev is provided by systemd.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7497>
2025-12-06 21:17:07 +00:00
Stefan Hansson e8e61a4f9f main/postmarketos-base-ui-gnome: use gvfs-full
This provides the same thing but more concisely and also will stay
up-to-date with upstream.

Fixes 6b30198263

[ci:skip-vercheck]: Only changes recommends.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7500>
2025-12-06 18:57:11 +01:00
Pablo Correa Gómez 939405962d ci: fix test_ui failing on removing UI packages
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7498>
2025-12-06 16:50:50 +00:00
Pablo Correa Gómez bdefd2fb18 main/postmarketos-ui-bananui: drop
As per the maintainer in
https://gitlab.alpinelinux.org/alpine/aports/-/issues/17221

"I am not planning to work on bananui anymore, so unless somebody else
is ready to take over these packages, it would make more sense to drop
them than to keep them. I'm not even sure if they still work."

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7498>
2025-12-06 16:50:50 +00:00
Stefan Hansson 954b75f585 main/postmarketos-ui-gnome-mobile: remove redundant dependency
GVFS should get pulled in by whatever backends the system has
anyway, no need to explicitly depend on it here.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7496>
2025-12-06 17:20:00 +01:00
Stefan Hansson 6b30198263 main/postmarketos-base-ui-gnome: recommend all GVFS backends
Our priority is to have an intuitive user experience, not
minimalism. So, let's include every GVFS backend by default.

Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4126

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>

[ci:skip-vercheck]: Only changing recommends.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7496>
2025-12-06 17:19:35 +01:00
Achill Gilgenast 15d376dbe7 systemd/systemd-services: remove hexagonrpcd-systemd
Services upstream in hexagonrpcd and backported in Alpine upstream,
override in HEAD~.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7494>
2025-12-06 16:07:41 +01:00
Achill Gilgenast bb63df7fca temp/iio-sensor-proxy: start hexagonrpcd before in systemd
Moved from systemd-services, our iio-sensor-proxy are the ones depending
on hexagonrpcd being started before because of the libssc patches.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7494>
2025-12-06 15:25:28 +01:00
Clayton Craft db35abcce4 modem/msm-modem: add systemd override for rmtfs.service
To make systemd start it before msm-modem-uim-selection. The upstream
rmtfs unit doesn't include this, so we package it here as an override.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7393>
2025-12-06 14:07:26 +00:00
Achill Gilgenast 7b6fe18469 systemd/systemd-services: remove rmtfs.service
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7393>
2025-12-06 14:07:26 +00:00
Achill Gilgenast c3872e764e modem/rmtfs: split -udev
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7393>
2025-12-06 14:07:26 +00:00
Achill Gilgenast f7052461da modem/rmtfs: subpackage -systemd
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7393>
2025-12-06 14:07:26 +00:00
bengris32 562b120a92 device-sony-redwood: new aport
Based on the linux-postmarketos-mediatek-mt6757 kernel.

Signed-off-by: bengris32 <bengris32@protonmail.ch>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7476>
2025-12-06 14:03:52 +00:00
bengris32 a1df9420b3 soc-mediatek-mt6757: new aport
Signed-off-by: bengris32 <bengris32@protonmail.ch>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7476>
2025-12-06 14:03:52 +00:00
bengris32 fdc0eccc87 linux-postmarketos-mediatek-mt6757: new aport
Mainline port for the MediaTek MT6757 Helio P20/P25.

Signed-off-by: bengris32 <bengris32@protonmail.ch>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7476>
2025-12-06 14:03:52 +00:00
Aster Boese bbbb3e052f linux-samsung-a50: build with LLVM
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7485>
2025-12-06 13:54:49 +00:00
adamthiede 71c7ef6132 device-sqfmi-beepy: fix kernel module building again
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7492>
2025-12-06 06:58:16 +00:00
Aster Boese fee62a4781 linux-samsung-a53x: build with LLVM
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7486>
2025-12-06 06:48:43 +00:00
Clayton Craftandbinarycraft007 069a69569d linux-postmarketos-qcom-laptop: upgrade to 6.17
The repo for this kernel is changed to linaro's gitlab, where they are
maintaining it. Johan no longer maintains this kernel at the original
location.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Co-authored-by: binarycraft007 <elliot.huang.signed@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6648>
2025-12-05 13:19:13 -08:00
Clayton Craft e535c50ddf device-lenovo-21bx: add more modules to initramfs
The kernel this device uses builds more things as modules now, so we
need to make sure they're in the initramfs

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6648>
2025-12-05 13:19:12 -08:00
Clayton Craft be64ae2610 linux-postmarketos-qcom-laptop: store full config generated from fragments
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6648>
2025-12-05 13:02:33 -08:00
Antoine Martin a948683136 device-pine64-pinenote: drop phosh subpackage as not needed
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7470>
2025-12-05 17:56:39 +00:00
Luca Weiss 8624b297e6 device/*: Resolve deviceinfo errors highlighted by dint
A large scripted cleanup to fix the errors, each with the sed command
used.

**Renamed variables**

[Error!!!] deviceinfo_gpu_accelerated: gpu_accelerated was renamed to drm: More accurately describes its function; see pmaports#1481 for the reasoning.
sed -i 's/^deviceinfo_gpu_accelerated=/deviceinfo_drm=/' device/*/*/deviceinfo

[Error!!!] deviceinfo_flash_heimdall_partition_system: flash_heimdall_partition_system was renamed to flash_heimdall_partition_rootfs: Renamed to avoid confusion
sed -i 's/^deviceinfo_flash_heimdall_partition_system=/deviceinfo_flash_heimdall_partition_rootfs=/' device/*/*/deviceinfo

[Error!!!] deviceinfo_flash_fastboot_partition_system: flash_fastboot_partition_system was renamed to flash_fastboot_partition_rootfs: Renamed to avoid confusion
sed -i 's/^deviceinfo_flash_fastboot_partition_system=/deviceinfo_flash_fastboot_partition_rootfs=/' device/*/*/deviceinfo

**Obsolete variables**

[Error!!!] deviceinfo_keyboard: This property is obsolete: Programs should automatically detect if the device currently has a keyboard or not (often it can be hotplugged anyway).
sed -i '/^deviceinfo_keyboard=/d' device/*/*/deviceinfo

[Error!!!] deviceinfo_framebuffer_landscape: This property is obsolete: Removed by the switch to pbsplash with no apparent replacement
sed -i '/^deviceinfo_framebuffer_landscape=/d' device/*/*/deviceinfo

[Error!!!] deviceinfo_mesa_driver: This property is obsolete: This was used by osk-sdl, which has been replaced by unl0kr.
sed -i '/^deviceinfo_mesa_driver=/d' device/*/*/deviceinfo

**Default values**

[Warning!] deviceinfo_flash_method: Property is set to its default value ("none") and can be removed.
sed -i '/^deviceinfo_flash_method="none"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_drm: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_drm="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_bootimg_dtb_second: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_bootimg_dtb_second="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_generate_bootimg: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_generate_bootimg="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_heimdall_partition_rootfs: Property is set to its default value ("SYSTEM") and can be removed.
sed -i '/^deviceinfo_flash_heimdall_partition_rootfs="SYSTEM"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_heimdall_partition_kernel: Property is set to its default value ("KERNEL") and can be removed.
sed -i '/^deviceinfo_flash_heimdall_partition_kernel="KERNEL"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_heimdall_partition_initfs: Property is set to its default value ("RECOVERY") and can be removed.
sed -i '/^deviceinfo_flash_heimdall_partition_initfs="RECOVERY"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_offset_base: Property is set to its default value ("0x10000000") and can be removed.
sed -i '/^deviceinfo_flash_offset_base="0x10000000"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_kernel_on_update: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_flash_kernel_on_update="false"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_fastboot_partition_rootfs: Property is set to its default value ("userdata") and can be removed.
sed -i '/^deviceinfo_flash_fastboot_partition_rootfs="userdata"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_flash_fastboot_partition_kernel: Property is set to its default value ("boot") and can be removed.
sed -i '/^deviceinfo_flash_fastboot_partition_kernel="boot"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_partition_type: Property is set to its default value ("gpt") and can be removed.
sed -i '/^deviceinfo_partition_type="gpt"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_sd_embed_firmware_step_size: Property is set to its default value (1024) and can be removed.
sed -i '/^deviceinfo_sd_embed_firmware_step_size="1024"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_boot_part_start: Property is set to its default value (2048) and can be removed.
sed -i '/^deviceinfo_boot_part_start="2048"/d' device/*/*/deviceinfo

[Warning!] deviceinfo_generate_legacy_uboot_initfs: Property is set to its default value (false) and can be removed.
sed -i '/^deviceinfo_generate_legacy_uboot_initfs="false"/d' device/*/*/deviceinfo

All were bumped using "pmbootstrap pkgver_bump".

[ci:ignore-count]

[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7403>
2025-12-05 16:57:35 +00:00
Achill Gilgenast ace38b27b6 temp/xkeyboard-config: include fork reason
[ci:skip-vercheck]: just comments

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7490>
2025-12-05 16:42:54 +00:00
Achill Gilgenast cac5710561 temp/81voltd: include package reason
Fixes: 5f68d24452 ("temp/81voltd: new aport (MR 5387)")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7490>
2025-12-05 16:42:54 +00:00
Achill Gilgenast 260f82a84a temp/libvdpau-tegra: remove
Merged in
<https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/57900>

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7488>
2025-12-05 16:16:30 +00:00
Luca Weiss 3251144858 device/*: Add deviceinfo_year where missing
Take where available from the "Released" field from the postmarketOS
wiki page.

For others:
* https://en.wikipedia.org/wiki/RISC-V Introduced: 2014
* https://en.wikipedia.org/wiki/Loongson "Loongson moved to their own
  processor instruction set architecture (ISA) in 2021 [...]"
* https://en.wikipedia.org/wiki/AArch64 Introduced: 2011
* https://en.wikipedia.org/wiki/Chromebook "The first Chromebooks were
  shipped on June 15, 2011."
* https://en.wikipedia.org/wiki/POWER8 Launched: 2014

[ci:ignore-count]
[ci:skip-dint] # remaining occurances fixed in pma!7403

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-05 16:13:36 +00:00
Luca Weiss 05c4cd8e06 device/*: Remove invalid deviceinfo variables
* deviceinfo_flash_heimdall_partition_boot was likely supposed to be
  deviceinfo_flash_heimdall_partition_kernel, but drop it because it
  might just be wrong

* deviceinfo_partition_table was likely supposed to be
  deviceinfo_partition_type, but drop it because it might just be wrong

* deviceinfo_disable_usb_gadget is used in
  https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6166
  but that MR has been open for 9 months, so remove the variable for
  now.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-05 16:13:36 +00:00
Luca Weiss 9968990d0b device/*: Remove 0x prefix from deviceinfo_legacy_uboot_load_address
While mkimage seems to also accept the address with a 0x prefix, remove
it to satisfy 'dint' and ensure consistency.

[Error!!!] deviceinfo_legacy_uboot_load_address: Failed to parse "0x1080000" as integer: invalid digit found in string

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-05 16:13:36 +00:00
Jens Reidel 99996db6f0 linux-postmarketos-qcom-sm6350: Build with LLVM
[ci:skip-kconfigcheck]: bulk toolchain change

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7306>
2025-12-05 13:57:08 +01:00
Pablo Correa Gómez fbd0ab3bd7 device-qemu-aarch64: run unl0kr tests under ci-tron
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7481>
2025-12-05 07:26:24 +01:00
Pablo Correa Gómez c2c19a85d6 device-qemu-amd64: run unl0kr tests under ci-tron
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7481>
2025-12-05 07:26:24 +01:00
postmarketOS CI 1662a4fa29 linux-next: upgrade to next-20251205 2025-12-05 05:50:36 +00:00
postmarketOS CI 4d7c295af2 linux-next: upgrade to next-20251204 2025-12-04 22:41:01 +00:00
adamthiede 8c7412aa98 device-sqfmi-beepy: fix kernel module builds on updates
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7475>
2025-12-04 14:41:56 +00:00
Luca Weiss 70c0a00926 device/*: Bring remaining device packages to integer pkgver
We switched to using integer pkgver versions a long time ago. Bring the
remaining 4 packages in line so that "pmbootstrap pkgver_bump" can also
work properly on these (and not fail with these, given they're not
integers).

[ci:ignore-count]
[ci:skip-dint] # remaining occurances fixed in pma!7403
[ci:skip-vercheck] # intentionally bumping pkgver when not needed

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:36:48 +09:00
Luca Weiss 627ba80058 device/*: Remove leftover _mainline / _downstream deviceinfo variables
They were forgotten during the testing/downstream split it seems. Clean
them up.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:36:48 +09:00
Luca Weiss 13f234e09b device-samsung-janice: Rename kernel_cmdline deviceinfo variable
While this package doesn't have a mainline kernel subpackage, it looks
like this cmdline should indeed be used. Remove the suffix.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:36:48 +09:00
Luca Weiss b21fe7ad23 device-motorola-maserati: Remove invalid deviceinfo variables
Move one that's used through 10-safestrap-maserati.sh to the script
itself.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:36:48 +09:00
Luca Weiss 28548ba440 device-clockworkpi-uconsole-radxa-cm5: move to archived
linux-radxa-dev packages x86_64 binaries in aarch64 package which makes
akms part of this device fail when built on aarch64.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:36:48 +09:00
Luca Weiss 486a726a2d device-clockworkpi-uconsole-radxa-cm5: Align deviceinfo header comment
Bring this file in line with the expected style, and fix a 'dint'
failure. There's no Maintainer line in deviceinfo either, just in the
APKBUILD.

[Error!!!]: Second comment was not an instruction to only use double quotes:

Actual: "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
Expected: "# Please use double quotes only. You can source this file in shell scripts."
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:10:55 +09:00
Luca Weiss 210b56e4d9 device-samsung-loganrelte: Don't add comment after property in deviceinfo
There shouldn't be a comment in the same line as a variable.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:01:17 +09:00
Luca Weiss cabfabb88c ci: build_changed_aports: Skip packages in 'archived' category
Per definition, those might not be buildable anymore, so stop trying to
validate building them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:00:29 +09:00
6698 changed files with 1955168 additions and 54818 deletions

No files matched your search

+1 -1
View File
@@ -89,7 +89,7 @@ update_linux_next() {
git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.postmarketos.org/postmarketOS/pmaports.git
git fetch gitlab
git checkout --track gitlab/main
git checkout --track gitlab/master
for pkg in $PKGS; do
case "$pkg" in
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1 -1
View File
@@ -11,7 +11,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add py3-pip make git
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/main
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/master
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
+22 -17
View File
@@ -1,4 +1,4 @@
image: alpine:latest
image: registry.alpinelinux.org/img/alpine:latest
stages:
- build
- hardware tests
@@ -6,7 +6,7 @@ stages:
variables:
CI_TRON_TEMPLATE_PROJECT: &ci-tron-template-project postmarketOS/ci-common
CI_TRON_JOB_TEMPLATE_PROJECT_URL: $CI_SERVER_URL/$CI_TRON_TEMPLATE_PROJECT
CI_TRON_JOB_TEMPLATE_COMMIT: &ci-tron-template-commit 7c95b5f2d53533e8722abf57c73e558168e811f3
CI_TRON_JOB_TEMPLATE_COMMIT: &ci-tron-template-commit 1c70e34b7a610cda1d7f048f6b50ca9c10f52995
include:
- project: *ci-tron-template-project
@@ -68,18 +68,17 @@ build:
# Define here all the gitlab-ci snippets that could be common between the
# different packages
# Extends from this job if the the build job generates a kernel and initramfs
# artifact for your target device. This will not work if your device generates
# boot images.
# Extends from this job if the target device needs a kernel and initramfs to
# boot. This will not work if your device uses boot images.
.device-boot-flow-separate-artifacts:
variables:
CI_TRON_KERNEL__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/${KERNEL_NAME}"
CI_TRON_KERNEL__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/vmlinuz"
CI_TRON_INITRAMFS__INITRAMFS__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/initramfs"
# NOTE: For fastboot devices, we will need to use something like this
# .ci-tron-device-boot-flow-fastboot-image:
# variables:
# CI_TRON_FASTBOOT__BOOT_IMAGE: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/bootimg"
# Extends from this job if the target device boots using fastboot and boot images
.device-boot-flow-fastboot-image:
variables:
CI_TRON_FASTBOOT__BOOT_IMAGE__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/boot.img"
# Include all the devices that need and can to be tested
@@ -89,13 +88,13 @@ prepare-{{ device.name }}:
extends:
.pmos-ci-tron-build-boot-artifacts
{%- if device.has_kernel_variants %}
# Let's build all the boot artifacts for all the supported kernels in
# Let's build all the boot artifacts for all the supported kernel variants in
# different jobs, but hide them behind a single job name so as not to pollute
# the pipeline.
parallel:
matrix:
- KERNEL_VARIANT:
{%- for kernel in device.kernels %}
{%- for kernel in device.kernel_variants %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
@@ -109,7 +108,7 @@ prepare-{{ device.name }}:
DEVICE_NAME: {{ device.name }}
# NOTE: All the packages that may influence testing should have an
# `install-if postmarketos-mkinitfs-hook-ci`, so no need to add them here
INSTALL_PACKAGES: {{ device.pkgname }} {{ device.pkgname }}-kernel-${KERNEL_VARIANT} postmarketos-mkinitfs-hook-ci
INSTALL_PACKAGES: {{ device.pkgname }} {% if device.has_kernel_variants %}{{ device.pkgname }}-kernel-${KERNEL_VARIANT} {% endif %}postmarketos-mkinitfs-hook-ci
.test-{{ device.name }}:
stage: hardware tests
@@ -121,7 +120,7 @@ prepare-{{ device.name }}:
parallel:
matrix:
- KERNEL_VARIANT:
{%- for kernel in device.kernels %}
{%- for kernel in device.kernel_variants %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
@@ -129,11 +128,17 @@ prepare-{{ device.name }}:
needs:
- job: 'prepare-{{ device.name }}'
artifacts: false
# NOTE: We can't wait for a particular job in the matrix until GitLab implements support for it:
# https://gitlab.com/gitlab-org/gitlab/-/issues/423553
{%- if device.has_kernel_variants %}
parallel:
matrix:
- KERNEL_VARIANT: $[[ matrix.KERNEL_VARIANT ]]
{%- endif %}
variables:
CI_TRON__PMB_BUILD_JOB: "prepare-{{ device.name }}{% if device.has_kernel_variants %}: [$KERNEL_VARIANT]{% endif %}"
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: '{{ device.deviceinfo.kernel_cmdline }}'
# FIXME: cmdline is hardcoded here, but ideally would be built from
# fragments using generate-kernel-cmdline...
# See: https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/issues/317
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: 'console=tty1 console=ttyS0,115200 PMOS_FORCE_PARTITION_RESIZE psi=1'
# Include the gitlab ci yml fragment, as found in
# `device/$category/device-$devicename/gitlab-ci.yml.j2` which defines the jobs
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh -e
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: check pkgver/pkgrel bumps, amount of changed pkgs etc
# Options: native
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
.ci/lib/check_changed_versions.py
-20
View File
@@ -1,20 +0,0 @@
#!/bin/sh -e
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: check pkgver/pkgrel bumps, amount of changed pkgs etc
# Options: native
# Use 'native' because it requires git commit history.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
.ci/lib/check_changed_aports_versions.py
+1 -1
View File
@@ -6,7 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
apk add git python3
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/main
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/master
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
+22 -1
View File
@@ -6,7 +6,7 @@ exit_code=0
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add grep
apk -q add git grep
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
@@ -110,4 +110,25 @@ if grep -qr '/etc/modprobe.d' --exclude-dir='archived' \
exit_code=1
fi
# Disallow maintainer comments.
if grep -qr '# Maintainer:' -- *; then
echo 'ERROR: Please use maintainer variables of the form maintainer="..." instead of maintainer comments of the form # Maintainer: ...'
grep --color=always -r '# Maintainer:' -- *
exit_code=1
fi
if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
# Find all moved or new kernel APKBUILDs in main, community or testing
MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES=$(git show --pretty="" --name-only --diff-filter=AR "$CI_MERGE_REQUEST_DIFF_BASE_SHA"..HEAD | grep "device/\(main\|community\|testing\)/linux-.*/APKBUILD" || true)
if [ -n "$MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES" ]; then
if [ -n "$(grep -L LLVM=1 $MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES || true)" ]; then
echo "ERROR: An added or moved close-to-mainline kernel package is not being built with LLVM."
echo "See https://postmarketos.org/edge/2025/11/11/kernels-llvm/ for more details"
grep --color=always -L LLVM=1 $MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES
exit_code=1
fi
fi
fi
exit "$exit_code"
+1 -1
View File
@@ -13,4 +13,4 @@ fi
export PYTHONUNBUFFERED=1
.ci/lib/check_changed_kernels.py
.ci/lib/kconfig.py
-1
View File
@@ -1 +0,0 @@
../testcases/add_pmbootstrap_to_import_path
+2 -2
View File
@@ -14,7 +14,7 @@ custom_valid_options = [
"pmb:cross-native",
"pmb:cross-native2",
"pmb:drm",
"pmb:gpu-accel", # deprecated
"pmb:generic-kernel",
"pmb:strict",
"pmb:systemd",
"pmb:systemd-never",
@@ -42,7 +42,7 @@ if __name__ == "__main__":
custom_valid_options += kconfigcheck_categories
os.environ["CUSTOM_VALID_OPTIONS"] = " ".join(custom_valid_options)
apkbuilds = {file for file in common.get_changed_files(removed=False)
apkbuilds = {file for file in common.get_changed_files()
if os.path.basename(file) == "APKBUILD"}
if len(apkbuilds) < 1:
print("No APKBUILDs to lint")
+1 -2
View File
@@ -9,7 +9,6 @@ import pathlib
import common
# pmbootstrap
import add_pmbootstrap_to_import_path
import pmb.core
import pmb.parse
import pmb.parse._apkbuild
@@ -36,7 +35,7 @@ if __name__ == "__main__":
arch = sys.argv[1]
# Get and print modified packages
packages = common.get_changed_packages()
packages = common.get_changed_packages(skip_archived=True)
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
+1
View File
@@ -1,6 +1,7 @@
#!/bin/sh -e
# Description: build modified packages for this architecture
# Options: native slow
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
-247
View File
@@ -1,247 +0,0 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pathlib
import tempfile
import sys
import subprocess
# Same dir
import common
# pmbootstrap
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.parse.version
import pmb.helpers.logging
from pmb.core.context import get_context
def get_package_contents(package, revision, check=True):
# Redirect stderr to /dev/null, so git doesn't complain about files not
# existing in upstream branch for new packages
stderr = None
if not check:
stderr = subprocess.DEVNULL
# Run something like "git show upstream/main:main/hello-world/APKBUILD"
pmaports_dir = common.get_pmaports_dir()
pattern = pmaports_dir + "/**/" + package + "/APKBUILD"
path = glob.glob(pattern, recursive=True)[0][len(pmaports_dir + "/"):]
apkbuild_content = common.run_git(["show", revision + ":" + path], check,
stderr)
if not apkbuild_content:
return None
# Save APKBUILD to a temporary path and parse it from there. (Not the best
# way to do things, but good enough for this CI script.)
with tempfile.TemporaryDirectory() as tempdir:
with open(tempdir + "/APKBUILD", "w", encoding="utf-8") as handle:
handle.write(apkbuild_content)
parsed = pmb.parse.apkbuild(pathlib.Path(tempdir, "APKBUILD"),
False, False)
return parsed
def get_package_version(package, revision, check=True):
""" returns version in the format "{pkgver}-r{pkgrel}", or None if no
matching package is found """
parsed = get_package_contents(package, revision, check)
if parsed is None:
return None
return parsed["pkgver"] + "-r" + parsed["pkgrel"]
def version_compare_operator(result):
""" :param result: return value from pmb.parse.version.compare() """
if result == -1:
return "<"
elif result == 0:
return "=="
elif result == 1:
return ">"
raise RuntimeError("Unexpected version_compare_operator input: " + result)
def exit_with_error_message():
branch = common.get_upstream_branch()
print()
print("ERROR: Modified package(s) don't have an increased version or a")
print("new package has a nonzero pkgrel!")
print()
print("This can happen if you added a new package with a nonzero")
print("pkgrel, or if you did not change the pkgver/pkgrel")
print("variables in the APKBUILDs. Or you did change them, but the")
print(f"packages have been updated in the official '{branch}' branch, and")
print("now your versions are not higher anymore.")
print()
print("Your options:")
print("a) If you made changes to the packages, and did not increase the")
print(" pkgrel/pkgver: increase them now, and force push your branch.")
print(" => https://postmarketos.org/howto-bump-pkgrel-pkgver")
print("b) If you had already increased the package versions, rebase on")
print(f" '{branch}', increase the versions again and then force push:")
print(" => https://postmarketos.org/rebase")
print("c) If you made a change, that does not require rebuilding the")
print(" packages, such as only changing the arch=... line: you can")
print(" disable this check by adding '[ci:skip-vercheck]' to the")
print(" latest commit message, then force push.")
print()
print("Thank you and sorry for the inconvenience.")
exit(1)
def check_versions(packages):
error = False
# Get relevant commits: compare HEAD against upstream branch or HEAD~1
# (the latter if this CI check is running on upstream branch). Note that
# for the common.get_changed_files() code, we don't check against
# upstream branch HEAD, but against the latest common ancestor. This is not
# desired here, since we already know what packages changed, and really
# want to check if the version was increased towards *current* upstream
# branch HEAD.
common.run_git(["remote", "add", "upstream",
"https://gitlab.postmarketos.org/postmarketOS/pmaports.git"], False)
common.run_git(["fetch", "-q", "upstream"])
commit = f"upstream/{common.get_upstream_branch()}"
if common.run_git(["rev-parse", "HEAD"]) == common.run_git(["rev-parse",
commit]):
print(f"NOTE: {commit} is on same commit as HEAD, comparing"
" HEAD against HEAD~1.")
commit = "HEAD~1"
# Exclude linux-next from pkgrel checks, as it is updated automatically.
#
# Without this, .ci/commits.sh complains about the following:
# ERROR: Modified package(s) don't have an increased version or a new
# package has a nonzero pkgrel!
if "linux-next" in packages:
packages.remove("linux-next")
for package in packages:
# Get versions, skip new packages
head = get_package_version(package, "HEAD")
upstream = get_package_version(package, commit, False)
if not upstream:
if head.rpartition('r')[2] != "0":
print(f"- {package}: {head} (HEAD) (new package) [ERROR]")
error = True
else:
print(f"- {package}: {head} (HEAD) (new package)")
continue
# Check pkgver follows expected format for device packages
pkgver = head.rpartition('-r')[0]
if package.startswith('device-') and not pkgver.isdigit():
print(f" - {package}: invalid pkgver \"{pkgver}\""
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Additional checks for device packages
if package.startswith('device-'):
head_parsed = get_package_contents(package, "HEAD", False)
upstream_parsed = get_package_contents(package, commit, False)
# checksums did not change
if head_parsed["sha512sums"] == upstream_parsed["sha512sums"]:
# Check that pkgver did not change
if head_parsed["pkgver"] != upstream_parsed["pkgver"]:
print(f" - {package}: pkgver should not change when package source checksums did not change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# We do not check for a bumped pkgrel, because not everything
# needs it, e.g: pmb_recommends
# checksums changed
else:
# Check that pkgrel was reset to 0
if head_parsed["pkgrel"] != "0":
print(f" - {package}: pkgrel should be 0 when package source checksums change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Check that pkgver was changed
if head_parsed["pkgver"] == upstream_parsed["pkgver"]:
print(f" - {package}: pkgver should change when package source checksums change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Compare head and upstream versions
result = pmb.parse.version.compare(head, upstream)
if result != 1:
error = True
# Print result line ("- hello-world: 1-r2 (HEAD) > 1-r1 (HEAD~1)")
formatstr = "- {}: {} (HEAD) {} {} ({})"
if result != 1:
formatstr += " [ERROR]"
operator = version_compare_operator(result)
print(formatstr.format(package, head, operator, upstream, commit))
if error:
exit_with_error_message()
def check_package_count(count):
for mark in ["[ci:ignore-count]", "[ci:skip-build]"]:
if common.commit_message_has_string(mark):
print("NOTE: package count sanity check skipped (" + mark + ").")
return
if count <= 10:
return
branch = common.get_upstream_branch()
print(f"""
ERROR: Too many packages have changed!
This is a sanity check, so we don't end up building packages that
have not been modified. CI won't run for more than three hours
anyway.
Your options:
a) If you *did not* modify everything listed above, then rebase
your branch on the official postmarketOS/pmaports.git {branch}
branch. Feel free to ask in the chat for help if you need any.
b) If you *did* modify all these packages, and you assume that
they will build within one hour: skip this sanity check by
adding '[ci:ignore-count]' to the commit message of the last
commit in the merge request (then force push).
c) If you *did* modify all these packages, and you are sure that
they won't build in time, please add '[ci:skip-build]' to the
commit message (then force push). Make sure that all packages
build with 'pmbootstrap build --strict'!
Thank you and sorry for the inconvenience.
""")
exit(1)
if __name__ == "__main__":
# Get and print modified packages
packages = common.get_changed_packages()
if len(packages) == 0:
print("no aports changed in this branch")
exit(0)
print(f"Changed packages: {packages}")
check_package_count(len(packages))
# Potentially skip this check
if common.commit_message_has_string("[ci:skip-vercheck]"):
print("WARNING: not checking for changed package versions"
" ([ci:skip-vercheck])!")
exit(0)
# Initialize args (so we can use pmbootstrap's APKBUILD parsing)
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
context = get_context()
# pmb.helpers.logging.init(args)
pmb.helpers.logging.init(context.log, args.verbose, context.details_to_stdout)
# Verify package versions
print("checking changed package versions...")
check_versions(packages)
-99
View File
@@ -1,99 +0,0 @@
#!/usr/bin/env python3
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import tempfile
import sys
import subprocess
# Same dir
import common
def check_kconfig(pkgnames):
last_failed = None
for i in range(len(pkgnames)):
pkgname = pkgnames[i]
print(f" ({i+1}/{len(pkgnames)}) {pkgname}")
p = subprocess.run(["pmbootstrap", "kconfig", "check", "--keep-going", pkgname],
check=False)
if p.returncode:
last_failed = pkgname
return last_failed
def check_kconfig_all():
p = subprocess.run(["pmbootstrap", "kconfig", "check", "--keep-going"], check=False)
return p.returncode == 0
def show_error(last_failed):
print("")
print("---")
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
print("")
print("Edit your kernel config:")
print(f" pmbootstrap kconfig edit {last_failed}")
print("")
print("Test this kernel config again:")
print(f" pmbootstrap kconfig check {last_failed}")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
def show_error_all():
print("")
print("---")
print("")
print("Please adjust the failed kernel configs. This is required for")
print("getting your patch merged.")
print("")
print("If a kernel in the testing category failed, and fixing is too much")
print("effort, remove 'pmb:kconfigcheck-community' from the APKBUILD.")
print("")
print("Edit a kernel config:")
print(" pmbootstrap kconfig edit <PACKAGE NAME>")
print("")
print("Test a specific kernel config again:")
print(" pmbootstrap kconfig check <PACKAGE NAME>")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
if __name__ == "__main__":
if "kconfigcheck.toml" in common.get_changed_files():
print("kconfigcheck.toml changed -> checking all kernels")
if not check_kconfig_all():
show_error_all()
exit(1)
exit(0)
pkgnames = common.get_changed_kernels(skip_archived=True)
print(f"Changed kernels: {pkgnames}")
if len(pkgnames) == 0:
print("No kernels changed in this branch")
exit(0)
elif common.commit_message_has_string("[ci:skip-kconfigcheck]"):
print("WARNING: not checking kernel configs ([ci:skip-kconfigcheck])")
exit(0)
last_failed = check_kconfig(pkgnames)
if last_failed:
show_error(last_failed)
exit(1)
+212
View File
@@ -0,0 +1,212 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pathlib
import tempfile
import sys
import subprocess
# Same dir
import common
# pmbootstrap
import pmb.parse
import pmb.parse.version
import pmb.helpers.logging
from pmb.core.context import get_context
def get_package_contents(package, revision, check=True):
# Redirect stderr to /dev/null, so git doesn't complain about files not
# existing in upstream branch for new packages
stderr = None
if not check:
stderr = subprocess.DEVNULL
# Run something like "git show upstream/master:main/hello-world/APKBUILD"
pmaports_dir = common.get_pmaports_dir()
pattern = pmaports_dir + "/**/" + package + "/APKBUILD"
path = glob.glob(pattern, recursive=True)[0][len(pmaports_dir + "/"):]
apkbuild_content = common.run_git(["show", revision + ":" + path], check,
stderr)
if not apkbuild_content:
return None
# Save APKBUILD to a temporary path and parse it from there. (Not the best
# way to do things, but good enough for this CI script.)
with tempfile.TemporaryDirectory() as tempdir:
with open(tempdir + "/APKBUILD", "w", encoding="utf-8") as handle:
handle.write(apkbuild_content)
parsed = pmb.parse.apkbuild(pathlib.Path(tempdir, "APKBUILD"),
False, False)
return parsed
def get_package_version(package, revision, check=True):
""" returns version in the format "{pkgver}-r{pkgrel}", or None if no
matching package is found """
parsed = get_package_contents(package, revision, check)
if parsed is None:
return None
return parsed["pkgver"] + "-r" + parsed["pkgrel"]
def version_compare_operator(result):
""" :param result: return value from pmb.parse.version.compare() """
if result == -1:
return "<"
elif result == 0:
return "=="
elif result == 1:
return ">"
raise RuntimeError("Unexpected version_compare_operator input: " + result)
def exit_with_error_message():
branch = common.get_upstream_branch()
print()
print("ERROR: Modified package(s) don't have an increased version or a")
print("new package has a nonzero pkgrel!")
print()
print("This can happen if you added a new package with a nonzero")
print("pkgrel, or if you did not change the pkgver/pkgrel")
print("variables in the APKBUILDs. Or you did change them, but the")
print(f"packages have been updated in the official '{branch}' branch, and")
print("now your versions are not higher anymore.")
print()
print("Your options:")
print("a) If you made changes to the packages, and did not increase the")
print(" pkgrel/pkgver: increase them now, and force push your branch.")
print(" => https://postmarketos.org/howto-bump-pkgrel-pkgver")
print("b) If you had already increased the package versions, rebase on")
print(f" '{branch}', increase the versions again and then force push:")
print(" => https://postmarketos.org/rebase")
print("c) If you made a change, that does not require rebuilding the")
print(" packages, such as only changing the arch=... line: you can")
print(" disable this check by adding '[ci:skip-vercheck]' to the")
print(" latest commit message, then force push.")
print()
print("Thank you and sorry for the inconvenience.")
exit(1)
def check_versions(packages):
error = False
# Get relevant commits: compare HEAD against upstream branch or HEAD~1
# (the latter if this CI check is running on upstream branch). Note that
# for the common.get_changed_files() code, we don't check against
# upstream branch HEAD, but against the latest common ancestor. This is not
# desired here, since we already know what packages changed, and really
# want to check if the version was increased towards *current* upstream
# branch HEAD.
common.run_git(["remote", "add", "upstream",
"https://gitlab.postmarketos.org/postmarketOS/pmaports.git"], False)
common.run_git(["fetch", "-q", "upstream"])
commit = f"upstream/{common.get_upstream_branch()}"
if common.run_git(["rev-parse", "HEAD"]) == common.run_git(["rev-parse",
commit]):
print(f"NOTE: {commit} is on same commit as HEAD, comparing"
" HEAD against HEAD~1.")
commit = "HEAD~1"
# Exclude linux-next from pkgrel checks, as it is updated automatically.
#
# Without this, .ci/commits.sh complains about the following:
# ERROR: Modified package(s) don't have an increased version or a new
# package has a nonzero pkgrel!
if "linux-next" in packages:
packages.remove("linux-next")
for package in packages:
# Get versions, skip new packages
head = get_package_version(package, "HEAD")
upstream = get_package_version(package, commit, False)
if not upstream:
if head.rpartition('r')[2] != "0":
print(f"- {package}: {head} (HEAD) (new package) [ERROR]")
error = True
else:
print(f"- {package}: {head} (HEAD) (new package)")
continue
# Check pkgver follows expected format for device packages
pkgver = head.rpartition('-r')[0]
if package.startswith('device-') and not pkgver.isdigit():
print(f" - {package}: invalid pkgver \"{pkgver}\""
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Additional checks for device packages
if package.startswith('device-'):
head_parsed = get_package_contents(package, "HEAD", False)
upstream_parsed = get_package_contents(package, commit, False)
# checksums did not change
if head_parsed["sha512sums"] == upstream_parsed["sha512sums"]:
# Check that pkgver did not change
if head_parsed["pkgver"] != upstream_parsed["pkgver"]:
print(f" - {package}: pkgver should not change when package source checksums did not change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# We do not check for a bumped pkgrel, because not everything
# needs it, e.g: pmb_recommends
# checksums changed
else:
# Check that pkgrel was reset to 0
if head_parsed["pkgrel"] != "0":
print(f" - {package}: pkgrel should be 0 when package source checksums change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Check that pkgver was changed
if head_parsed["pkgver"] == upstream_parsed["pkgver"]:
print(f" - {package}: pkgver should change when package source checksums change."
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
error = True
# Compare head and upstream versions
result = pmb.parse.version.compare(head, upstream)
if result != 1:
error = True
# Print result line ("- hello-world: 1-r2 (HEAD) > 1-r1 (HEAD~1)")
formatstr = "- {}: {} (HEAD) {} {} ({})"
if result != 1:
formatstr += " [ERROR]"
operator = version_compare_operator(result)
print(formatstr.format(package, head, operator, upstream, commit))
if error:
exit_with_error_message()
if __name__ == "__main__":
# Get and print modified packages
packages = common.get_changed_packages()
if len(packages) == 0:
print("no aports changed in this branch")
exit(0)
print(f"Changed packages: {packages}")
# Potentially skip this check
if common.commit_message_has_string("[ci:skip-vercheck]"):
print("WARNING: not checking for changed package versions"
" ([ci:skip-vercheck])!")
exit(0)
# Initialize args (so we can use pmbootstrap's APKBUILD parsing)
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
context = get_context()
# pmb.helpers.logging.init(args)
pmb.helpers.logging.init(context.log, args.verbose, context.details_to_stdout)
# Verify package versions
print("checking changed package versions...")
check_versions(packages)
+2 -2
View File
@@ -90,7 +90,7 @@ def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--booting", help="devices must be in the upper table,"
" being in the 'not booting' table below is not"
" enough (all devices in pmaports main and stable"
" enough (all devices in pmaports master and stable"
" branches and should be in the upper table)",
action="store_true")
parser.add_argument("--path", help="instead of downloading the devices"
@@ -108,7 +108,7 @@ def main() -> int:
if args.all:
devices = get_devices()
else:
devices = common.get_changed_devices()
devices = common.get_changed_devices(skip_archived=True)
# remove 'device-' prefix
devices = [d[7:] for d in devices]
devices = [d.removesuffix("-downstream") for d in devices]
+13 -23
View File
@@ -7,18 +7,12 @@
import configparser
import os
import subprocess
from functools import cache
cache = {}
@cache
def get_pmaports_dir():
global cache
if "pmaports_dir" in cache:
return cache["pmaports_dir"]
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
cache["pmaports_dir"] = ret
return ret
return os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
def run_git(parameters, check=True, stderr=None):
@@ -51,9 +45,10 @@ def run_pmbootstrap(parameters):
subprocess.run(cmd, universal_newlines=True, check=True)
@cache
def get_upstream_branch():
""" Use pmaports.cfg from current branch (e.g. "v20.05_fix-ci") and
channels.cfg from main to retrieve the upstream branch.
channels.cfg from master to retrieve the upstream branch.
:returns: branch name, e.g. "v20.05" """
@@ -61,10 +56,6 @@ def get_upstream_branch():
if target_branch := os.environ.get("CI_MERGE_REQUEST_TARGET_BRANCH_NAME"):
return target_branch
global cache
if "upstream_branch" in cache:
return cache["upstream_branch"]
# Get channel (e.g. "stable") from pmaports.cfg
# https://postmarketos.org/pmaports.cfg
pmaports_dir = get_pmaports_dir()
@@ -74,19 +65,18 @@ def get_upstream_branch():
# Get branch_pmaports (e.g. "v20.05") from channels.cfg
# https://postmarketos.org/channels.cfg
channels_cfg_str = run_git(["show", "upstream/main:channels.cfg"])
channels_cfg_str = run_git(["show", "upstream/master:channels.cfg"])
channels_cfg = configparser.ConfigParser()
channels_cfg.read_string(channels_cfg_str)
assert channel in channels_cfg, \
f"Channel '{channel}' from pmaports.cfg in your branch is unknown." \
" This appears to be an old branch, consider recreating your change" \
" on top of main."
" on top of master."
ret = channels_cfg[channel]["branch_pmaports"]
cache["upstream_branch"] = ret
return ret
return channels_cfg[channel]["branch_pmaports"]
@cache
def get_base_commit() -> str:
"""Get the base commit that can be compared with HEAD to get all commits in the
given branch/merge request."""
@@ -118,7 +108,7 @@ def get_base_commit() -> str:
return commit
def get_changed_files(removed=True):
def get_changed_files(removed=False):
""" Get all changed files and print them, as well as the branch and the
commit that was used for the diff.
:param removed: also return removed files (default: True)
@@ -143,7 +133,7 @@ def get_changed_files(removed=True):
def get_changed_packages(skip_archived: bool = False):
ret = set()
for file in get_changed_files():
for file in get_changed_files(removed=True):
dirname, filename = os.path.split(file)
# Skip files:
@@ -185,9 +175,9 @@ def get_changed_kernels(skip_archived: bool = False):
ret += [pkgname]
return ret
def get_changed_devices():
def get_changed_devices(skip_archived: bool = False):
ret = []
for pkgname in get_changed_packages():
for pkgname in get_changed_packages(skip_archived):
if pkgname.startswith("device-"):
ret += [pkgname]
return ret
+3 -2
View File
@@ -11,8 +11,9 @@ if __name__ == "__main__":
if common.commit_message_has_string("[ci:skip-dint]"):
print("WARNING: not linting deviceinfo files ([ci:skip-dint])")
exit(0)
deviceinfo_files = {file for file in common.get_changed_files(removed=False)
if os.path.basename(file) == "deviceinfo"}
# only lint deviceinfo files in the devices repo
deviceinfo_files = {file for file in common.get_changed_files()
if os.path.basename(file) == "deviceinfo" and file.startswith("device/")}
try:
subprocess.run(["dint", "check", *deviceinfo_files], text=True, check=True)
+19 -27
View File
@@ -2,6 +2,7 @@
# Copyright 2025 Pablo Correa Gomez
# SPDX-License-Identifier: GPL-3.0-or-later
import argparse
from functools import cached_property
from pathlib import Path
from typing import Self
@@ -72,7 +73,7 @@ class Device:
@property
def testing_dependencies(self) -> set[str]:
# TODO: Source this from the APKGBUILD
# TODO: Source this from the APKBUILD
return {"postmarketos-mkinitfs-hook-ci"}
@cached_property
@@ -88,7 +89,7 @@ class Device:
return self.package_dependencies | self.testing_dependencies
@cached_property
def kernels(self) -> list[str] | None:
def kernel_variants(self) -> list[str]:
kernels = []
subpackage_prefix = f"device-{self.codename}-kernel-"
@@ -101,10 +102,7 @@ class Device:
if kernel_name != "none":
kernels.append(kernel_name)
if kernels:
return kernels
else:
return None
return kernels
@cached_property
def deviceinfo(self) -> dict[str, Deviceinfo] | Deviceinfo:
@@ -117,7 +115,7 @@ class Device:
@property
def has_kernel_variants(self):
return len(self.kernels) > 0
return len(self.kernel_variants) > 0
@classmethod
def supported_devices(cls) -> dict[Path, Self]:
@@ -142,27 +140,21 @@ class Device:
class ArchTagSet(set):
supported_arches = [
Arch.x86_64,
Arch.aarch64,
Arch.armv7,
]
def update(self, iterable):
supported_arches = Arch.supported_binary()
# This ignores things like !armv7, that could be a follow-up optimization
if 'noarch' in iterable or 'all' in iterable:
iterable = [arch for arch in self.supported_arches]
super().update([Arch(arch) for arch in iterable if Arch(arch) in self.supported_arches])
iterable = [arch for arch in supported_arches]
super().update([Arch(arch) for arch in iterable if Arch(arch) in supported_arches])
if __name__ == "__main__":
# Needs input to output if we should create the jobs
if len(sys.argv) != 3:
print("usage: generate_build_jobs.py TEMPLATE CHILD_PIPELINE")
print(sys.argv)
sys.exit(1)
template = sys.argv[1]
child_pipeline = sys.argv[2]
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument("--template", default=".ci/build-jobs.yaml.j2", help="Jinja2 input template")
parser.add_argument("--output", default=".ci/build-jobs.yaml", help="output pipeline")
args = parser.parse_args()
# pmb logging has to be initialized for later pmb commands to work, setting
# to /dev/null since we don't care about the output. Later this could
@@ -172,10 +164,11 @@ if __name__ == "__main__":
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
_ = pmb.parse.arguments()
# Get the list of supported devices
supported_devices = Device.supported_devices()
print(f"Supported devices: {[d for d in supported_devices.values()]}")
archs = ArchTagSet()
devices_under_test = set()
@@ -190,8 +183,6 @@ if __name__ == "__main__":
if path.name != "APKBUILD":
continue
elif not path.exists():
continue # APKBUILD was deleted
apkbuild = pmb.parse.apkbuild(path)
packages_modified.add(apkbuild['pkgname'])
archs.update(apkbuild["arch"])
@@ -216,7 +207,7 @@ if __name__ == "__main__":
print(f"Architectures to build: {archs}")
print(f"Devices under test: {devices_under_test}")
with open(template) as f:
with open(args.template) as f:
rendered = Template(f.read()).render(
archs=archs,
devices_under_test=devices_under_test,
@@ -229,7 +220,8 @@ if __name__ == "__main__":
Arch.armhf: "qemu",
Arch.riscv64: "qemu",
Arch.ppc64le: "ppc64le",
Arch.loongarch64: "loongarch64",
},
)
with open(child_pipeline, "w") as fw:
with open(args.output, "w") as fw:
fw.write(rendered)
+96
View File
@@ -0,0 +1,96 @@
#!/usr/bin/env python3
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import subprocess
# Same dir
import common
def check_kconfig(pkgnames):
last_failed = None
for i in range(len(pkgnames)):
pkgname = pkgnames[i]
print(f" ({i+1}/{len(pkgnames)}) {pkgname}")
p = subprocess.run(["pmbootstrap", "kconfig", "check", "--keep-going", pkgname],
check=False)
if p.returncode:
last_failed = pkgname
return last_failed
def check_kconfig_all():
p = subprocess.run(["pmbootstrap", "kconfig", "check", "--keep-going"], check=False)
return p.returncode == 0
def show_error(last_failed):
print("")
print("---")
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
print("")
print("Edit your kernel config:")
print(f" pmbootstrap kconfig edit {last_failed}")
print("")
print("Test this kernel config again:")
print(f" pmbootstrap kconfig check {last_failed}")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
def show_error_all():
print("")
print("---")
print("")
print("Please adjust the failed kernel configs. This is required for")
print("getting your patch merged.")
print("")
print("If a kernel in the testing category failed, and fixing is too much")
print("effort, remove 'pmb:kconfigcheck-community' from the APKBUILD.")
print("")
print("Edit a kernel config:")
print(" pmbootstrap kconfig edit <PACKAGE NAME>")
print("")
print("Test a specific kernel config again:")
print(" pmbootstrap kconfig check <PACKAGE NAME>")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
if __name__ == "__main__":
if "kconfigcheck.toml" in common.get_changed_files():
print("kconfigcheck.toml changed -> checking all kernels")
if not check_kconfig_all():
show_error_all()
exit(1)
exit(0)
pkgnames = common.get_changed_kernels(skip_archived=True)
print(f"Changed kernels: {pkgnames}")
if len(pkgnames) == 0:
print("No kernels changed in this branch")
exit(0)
elif common.commit_message_has_string("[ci:skip-kconfigcheck]"):
print("WARNING: not checking kernel configs ([ci:skip-kconfigcheck])")
exit(0)
last_failed = check_kconfig(pkgnames)
if last_failed:
show_error(last_failed)
exit(1)
-1
View File
@@ -8,7 +8,6 @@ import sys
import common
# pmbootstrap
import add_pmbootstrap_to_import_path
import pmb.core
from pmb.core.context import get_context
+2 -2
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint with various python tests
# Options: native
# Use 'native' because it requires pmbootstrap.
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
@@ -27,6 +27,6 @@ pmbootstrap config aports "$pmaports"
pmbootstrap -q shutdown
# Needed to import "common"
export PYTHONPATH=".ci/lib"
export PYTHONPATH="$PYTHONPATH:.ci/lib"
# Run testcases
pytest -vv --tb=native "$pmaports/.ci/testcases" "$@"
+1 -1
View File
@@ -11,4 +11,4 @@ fi
set -x
# shellcheck disable=SC2046
ruff check --ignore E501,F401,E722,W605 $(find .ci -name '*.py')
ruff check $(find .ci -name '*.py')
+1 -2
View File
@@ -16,12 +16,12 @@ fi
sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-dns-filter.sh
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-tethering.sh
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-ui-os-installer/rootfs-usr-bin-pmos_setup.sh
./main/postmarketos-usb-moded/rootfs-usr-lib-systemd-system-generators-umtprd-config-generator
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./device/community/soc-qcom/call_audio_idle_suspend_workaround.sh
@@ -38,7 +38,6 @@ sh_files="
$(find . -name '*.trigger')
$(find . -path './main/devicepkg-dev/*.sh')
$(find . -path './main/postmarketos-mvcfg/*.sh')
$(find . -path './.ci/**.sh')
$(find . -path '**/tests/*.sh')
@@ -1,44 +0,0 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import shutil
import sys
import os
import importlib
import importlib.util
from site import getsitepackages
def path_pmbootstrap():
""" Find the pmbootstrap installation folder, so we can import the Python
code from there.
returns: pmbootstrap installation folder
"""
# This variable is set by pmbootstrap 1.52 and later
# If it's undefined, try to find 'pmbootstrap' in path
bin = os.environ.get("PMBOOTSTRAP_CMD") or shutil.which("pmbootstrap")
if not bin:
print("ERROR: 'pmbootstrap' not found in $PATH")
sys.exit(1)
# Resolve the symlink and verify the folder
directory = os.path.dirname(os.path.realpath(bin))
if os.path.exists(directory + "/pmb/__init__.py"):
return directory
directories = getsitepackages()
for directory in directories:
if os.path.exists(directory + "/pmb/__init__.py"):
return directory
# Symlink not set up properly
print("ERROR: unable to find path to pmbootstrap.py. Try setting 'PMBOOTSTRAP_CMD'.")
sys.exit(1)
# Check if pmb module can be imported
if importlib.util.find_spec("pmb") is None:
# Add pmbootstrap dir to import path
sys.path.append(os.path.realpath(path_pmbootstrap()))
-3
View File
@@ -3,14 +3,11 @@
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
import add_pmbootstrap_to_import_path
import pmb.parse
from pmb.helpers.args import init as init_args
from pmb.types import PmbArgs
import pmb.config
from pmb.core.pkgrepo import pkgrepo_default_path
import pytest
import sys
import os
@pytest.fixture(scope="session", autouse=True)
+1 -7
View File
@@ -2,16 +2,10 @@
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import fnmatch
import glob
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob, pkgrepo_relative_path
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob
from pmb.core.arch import Arch
# Don't complain if these nicknames are the only maintainers of an APKBUILD,
-5
View File
@@ -2,13 +2,8 @@
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import os
import pytest
import re
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
from pmb.core.pkgrepo import pkgrepo_iglob
+1 -3
View File
@@ -2,12 +2,10 @@
# Copyright 2021 Johannes Marbach
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import os
import add_pmbootstrap_to_import_path
import pmb.parse
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob
from pmb.core.pkgrepo import pkgrepo_iglob
def test_aports_firmware():
-5
View File
@@ -6,13 +6,8 @@
version in all packages. We scan all packages, categorize them by URL
and then compare the versions of all packages in each category. """
import glob
import logging
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.config
import pmb.parse
from pmb.core.pkgrepo import pkgrepo_iter_package_dirs
-5
View File
@@ -2,14 +2,9 @@
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pytest
import sys
import os
import re
from pathlib import Path
import add_pmbootstrap_to_import_path
import pmb.parse
from pmb.core.pkgrepo import pkgrepo_iglob, pkgrepo_relative_path
-5
View File
@@ -1,14 +1,9 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import logging
import os
import pytest
import sys
import re
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
from pmb.core.pkgrepo import pkgrepo_iter_package_dirs, pkgrepo_relative_path
+3 -3
View File
@@ -6,10 +6,7 @@
import glob
import logging
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
import pmb.parse.apkindex
@@ -101,6 +98,9 @@ def test_aports_unreferenced_files():
# Skip APKBUILDs and directories
if rel_file_path in ["APKBUILD", "gitlab-ci.yml.j2"] or os.path.isdir(file):
continue
# Skip kernel fragments in linux-* packages
if os.path.basename(rel_file_path).endswith(".config") and apkbuild["pkgname"].startswith("linux-"):
continue
if os.path.basename(rel_file_path) not in sources_chk \
and rel_file_path not in apkbuild["install"] \
-22
View File
@@ -5,10 +5,6 @@
#
set -eu
# Maximal allowed size (in bytes) of a file.
FILE_SIZE_LIMIT=262144 # 256 kiB
if ! command -v sha512sum >/dev/null; then
# macOS / BSDs (?) don't have sha512sum, but shasum.
alias sha512sum='shasum -a 512'
@@ -95,20 +91,6 @@ check_local_sources() {
return $status
}
# Checks if the file ($1) being committed is not bigger than FILE_SIZE_LIMIT.
check_file_size() {
local path="$1"
local size
size=$(git cat-file -s ":$path")
if [ $size -gt $FILE_SIZE_LIMIT ]; then
local size_kb=$(( size / 1024 ))
error "file \"$path\" is quite big ($(( size / 1024 )) kiB), better put a remote url in source="
return 1
fi
}
cleanup() {
[ -f "$_staged" ] && rm "$_staged"
}
@@ -122,8 +104,4 @@ for apkbuild in $(changed_files '**/APKBUILD'); do
cleanup
done
for path in $(changed_files); do
check_file_size "$path"
done
trap - EXIT
+8 -2
View File
@@ -16,6 +16,9 @@ variables:
# seems like a reasonable balance. If this is too low, git merge-base (from ci/
# common.py) can fail
GIT_DEPTH: 100
# So that anything that runs install_pmbootstrap and tries to import pmb module
# can find it.
PYTHONPATH: "/tmp/pmbootstrap"
# This defines the rules for when a pipeline should run.
workflow:
@@ -85,7 +88,7 @@ pytest-commits:
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/pytest.sh
- .ci/commits.sh
- .ci/check-changed-versions.sh
artifacts:
when: on_failure
paths:
@@ -178,7 +181,7 @@ generate-build-jobs:
# HACK: Make the pmb library happy to use the currently-cloned pmaports repo
- mkdir -p /root/.local/var/pmbootstrap/cache_git/ && ln -s $PWD /root/.local/var/pmbootstrap/cache_git/pmaports
- PYTHONPATH=/tmp/pmbootstrap/ .ci/lib/generate_build_jobs.py .ci/build-jobs.yaml.j2 .ci/build-jobs.yaml
- .ci/lib/generate_build_jobs.py
artifacts:
paths:
@@ -208,6 +211,8 @@ build-docs:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- .ci/build-docs.sh
- deviceinfo_schema.toml
- docs/**
deploy-docs:
@@ -218,6 +223,7 @@ deploy-docs:
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "postmarketOS"
changes:
- deviceinfo_schema.toml
- docs/**
- if: $CI_PIPELINE_SOURCE == "schedule"
when: never
+2 -2
View File
@@ -26,8 +26,8 @@
<!--
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`main` branch)
* [ ] `v25.06`
* [ ] edge (`master` branch)
* [ ] `v25.12`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -0,0 +1,11 @@
<!-- Use this template to kick off the discussion for a package with (presumably)
inactive maintainers and the future for the maintainership of the package.
-->
### Information
* Package name:
* Maintainers of the package:
* MR that had no maintainer response, if applicable:
/label ~maintainership-status
+2
View File
@@ -1,3 +1,5 @@
Casey Connolly <casey.connolly@linaro.org> <caleb.connolly@linaro.org>
Casey Connolly <kcxt@postmarketos.org> <caleb@postmarketos.org>
Achill Gilgenast <achill@achill.org> <fossdd@pwned.life>
Aelin <aelin@postmarketos.org> <adrian@postmarketos.org>
Aelin <aelin@postmarketos.org> <adrian@travitia.xyz>
+81
View File
@@ -0,0 +1,81 @@
# Reference: https://postmarketos.org/channels.cfg
[channels.cfg]
recommended=edge
[edge]
description=Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge
branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v25.12]
description=Latest release / Recommended for best stability
branch_pmaports=v25.12
branch_aports=3.23-stable
mirrordir_alpine=v3.23
[v25.06]
description=Old release (unsupported)
branch_pmaports=v25.06
branch_aports=3.22-stable
mirrordir_alpine=v3.22
[v24.12]
description=Old release (unsupported)
branch_pmaports=v24.12
branch_aports=3.21-stable
mirrordir_alpine=v3.21
[v24.06]
description=Old release (unsupported)
branch_pmaports=v24.06
branch_aports=3.20-stable
mirrordir_alpine=v3.20
[v23.12]
description=Old release (unsupported)
branch_pmaports=v23.12
branch_aports=3.19-stable
mirrordir_alpine=v3.19
[v23.06]
description=Old release (unsupported)
branch_pmaports=v23.06
branch_aports=3.18-stable
mirrordir_alpine=v3.18
[v22.12]
description=Old release (unsupported)
branch_pmaports=v22.12
branch_aports=3.17-stable
mirrordir_alpine=v3.17
[v22.06]
description=Old release (unsupported)
branch_pmaports=v22.06
branch_aports=3.16-stable
mirrordir_alpine=v3.16
[v21.12]
description=Old release (unsupported)
branch_pmaports=v21.12
branch_aports=3.15-stable
mirrordir_alpine=v3.15
[v21.06]
description=Old release (unsupported)
branch_pmaports=v21.06
branch_aports=3.14-stable
mirrordir_alpine=v3.14
[v21.03]
description=Old release (unsupported)
branch_pmaports=v21.03
branch_aports=3.13-stable
mirrordir_alpine=v3.13
[v20.05]
description=Old release (unsupported)
branch_pmaports=v20.05
branch_aports=3.12-stable
mirrordir_alpine=v3.12
+1 -1
View File
@@ -4,7 +4,7 @@
# armhf chroot to /usr/bin/gcc. That way compilation works fine, even
# when distcc gets the absolute path to the compiler passed (ccache does
# that).
maintainer=""
pkgname=arch-bin-masquerade
pkgver=2
pkgrel=0
+1 -1
View File
@@ -2,7 +2,7 @@
# compiling packages in the native chroot (e.g. kernel packages), the
# cross-compiler does not get called directly, but wrapped through
# ccache, which can then cache the results.
maintainer=""
pkgname=ccache-cross-symlinks
pkgver=3
pkgrel=3
+1 -2
View File
@@ -1,4 +1,3 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# https://docs.postmarketos.org/pmbootstrap/cross_compiling.html
#
# Wrapper for the "crossdirect" compilation method.
@@ -18,7 +17,7 @@
# chroot. See crossdirect.c for implementation details of the C version (llvm,
# fakeroot, rpath). The rust version and redirect for archivers are implemented
# as simple shell wrappers.
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
pkgname=crossdirect
pkgver=5.3.1
pkgrel=1
@@ -0,0 +1,130 @@
From 824eae920f0f64dd7687c969a2436b129161fdc9 Mon Sep 17 00:00:00 2001
From: Jinyang He <hejinyang@loongson.cn>
Date: Wed, 29 Oct 2025 16:07:35 +0800
Subject: [PATCH] LoongArch: Only allow valid binary op when optimize
conditional move
It is wrong that optimize from `if (cond) dest op= 1 << shift` to
`dest op= (cond ? 1 : 0) << shift` when `dest op 0 != dest`.
Like `and`, `mul` or `div`.
And in this optimization `mul` and `div` is optimized to shift.
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_expand_conditional_move): Only allow valid binary
op when optimize conditional move.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/conditional-move-opt-1.c: Remove mul.
* gcc.target/loongarch/conditional-move-opt-2.c: Remove and.
* gcc.target/loongarch/conditional-move-opt-3.c: New test.
Co-Authored-By: Peng Fan <fanpeng@loongson.cn>
---
gcc/config/loongarch/loongarch.cc | 26 ++++++++++++++++---
.../loongarch/conditional-move-opt-1.c | 4 +--
.../loongarch/conditional-move-opt-2.c | 2 +-
.../loongarch/conditional-move-opt-3.c | 14 ++++++++++
4 files changed, 40 insertions(+), 6 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc
index bdf290654..740c8611a 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -5533,12 +5533,32 @@ loongarch_expand_conditional_move (rtx *operands)
}
}
+ auto is_binary_op_0_keep_orig = [](enum rtx_code code)
+ {
+ switch (code)
+ {
+ case PLUS:
+ case MINUS:
+ case IOR:
+ case XOR:
+ case ROTATE:
+ case ROTATERT:
+ case ASHIFT:
+ case ASHIFTRT:
+ case LSHIFTRT:
+ return true;
+ default:
+ return false;
+ }
+ };
+
/* Check if the optimization conditions are met. */
if (value_if_true_insn
&& value_if_false_insn
- /* Make sure that value_if_false and var are the same. */
- && BINARY_P (value_if_true_insn_src
- = SET_SRC (single_set (value_if_true_insn)))
+ /* Make sure that the orig value OP 0 keep orig. */
+ && (value_if_true_insn_src
+ = SET_SRC (single_set (value_if_true_insn)))
+ && is_binary_op_0_keep_orig ( GET_CODE (value_if_true_insn_src))
/* Make sure that both value_if_true and value_if_false
has the same var. */
&& rtx_equal_p (XEXP (value_if_true_insn_src, 0),
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
index ed13471aa..47802aa96 100644
--- a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
@@ -27,7 +27,7 @@ void
test_lt ()
{
if (lm < ln)
- lr *= (1 << 16);
+ lr += (1 << 16);
lr += lm;
}
@@ -35,7 +35,7 @@ void
test_le ()
{
if (lm <= ln)
- lr = lm * ((long)1 << 32);
+ lr = lm + ((long)1 << 32);
else
lr = lm;
lr += lm;
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
index ac72d4d93..743fd5e67 100644
--- a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
@@ -29,7 +29,7 @@ void
test_lez ()
{
if (lm <= 0)
- lr &= (1 << 16);
+ lr |= (1 << 16);
lr += lm;
}
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
new file mode 100644
index 000000000..95887980c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler "maskeqz" } } */
+/* { dg-final { scan-assembler "masknez" } } */
+
+extern long lm, ln, lr;
+
+void
+test_and ()
+{
+ if (lm < 0)
+ lr &= (1 << 16);
+ lr += lm;
+}
--
2.51.1
+42
View File
@@ -0,0 +1,42 @@
From 94cf7d2b3514ed3a4401861a519ead450e022afc Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index d1d79a32fc9..069c3bb8324 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
#include <stdlib.h>
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
- may not be visible. */
+ may not be visible and we can't pollute the namespace either. */
#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
+extern int _mm_posix_memalign (void **, size_t, size_t)
#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
#endif
+__asm__("posix_memalign");
static __inline void *
_mm_malloc (size_t __size, size_t __alignment)
@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment)
return malloc (__size);
if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
__alignment = sizeof (void *);
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
--
2.50.1
@@ -0,0 +1,77 @@
From 21b7d08714c4964403848db4144003835ff5245a Mon Sep 17 00:00:00 2001
From: Linsen Zhou <i@lin.moe>
Date: Fri, 17 Oct 2025 11:05:04 +0800
Subject: [PATCH] tree-object-size.cc: Fix assert constant offset in
check_for_plus_in_loops [PR122012]
After commit 51b85dfeb19652bf3e0aaec08828ba7cee1e641c, when the
pointer offset is a variable in the loop, the object size of the
pointer may also need to be reexamined.
Which make gcc_assert in the check_for_plus_in_loops failed.
gcc/ChangeLog:
PR tree-optimization/122012
* tree-object-size.cc (check_for_plus_in_loops): Skip check
for the variable offset
gcc/testsuite/ChangeLog:
PR tree-optimization/122012
* gcc.dg/torture/pr122012.c: New test.
Signed-off-by: Linsen Zhou <i@lin.moe>
(cherry picked from commit 82cefc4898d4ccabe76e28d6626b91ca9e998923)
---
gcc/testsuite/gcc.dg/torture/pr122012.c | 18 ++++++++++++++++++
gcc/tree-object-size.cc | 7 +++----
2 files changed, 21 insertions(+), 4 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/torture/pr122012.c
diff --git a/gcc/testsuite/gcc.dg/torture/pr122012.c b/gcc/testsuite/gcc.dg/torture/pr122012.c
new file mode 100644
index 00000000000..055915a1e98
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr122012.c
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+#include <stdlib.h>
+
+void foo();
+
+void test(size_t step) {
+ char *buf = malloc(64);
+ char *p = buf;
+ size_t i;
+
+ for(i = 0; i < 64; ++i) {
+ p += 4;
+ if (__builtin_object_size (p, 2) != 0)
+ foo();
+ p += step;
+ }
+ free(buf);
+}
diff --git a/gcc/tree-object-size.cc b/gcc/tree-object-size.cc
index 2d13ab79a84..76dc2446059 100644
--- a/gcc/tree-object-size.cc
+++ b/gcc/tree-object-size.cc
@@ -2153,12 +2153,11 @@ check_for_plus_in_loops (struct object_size_info *osi, tree var)
&& gimple_assign_rhs_code (stmt) == POINTER_PLUS_EXPR)
{
tree basevar = gimple_assign_rhs1 (stmt);
- tree cst = gimple_assign_rhs2 (stmt);
-
- gcc_assert (TREE_CODE (cst) == INTEGER_CST);
+ tree offset = gimple_assign_rhs2 (stmt);
/* Skip non-positive offsets. */
- if (integer_zerop (cst) || compare_tree_int (cst, offset_limit) > 0)
+ if (TREE_CODE (offset) != INTEGER_CST
+ || integer_zerop (offset) || compare_tree_int (offset, offset_limit) > 0)
return;
osi->depths[SSA_NAME_VERSION (basevar)] = 1;
--
2.51.0
@@ -0,0 +1,258 @@
From 0d5e04099a3d2609105719f7396a4ff941b873b6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 23 Jan 2025 17:12:51 -0800
Subject: [PATCH] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
/usr/include, /sw/include and /opt/include and then triggered a failure and
aborted.
Instead, we add the two missing items to the current scan. If the user
wants this to be a failure, they can add "-Werror=poison-system-directories".
Upstream-Status: Inappropriate [OE configuration]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: sunil dora <sunilkumar.dora@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gcc/common.opt | 4 ++++
gcc/config.in | 10 ++++++++++
gcc/configure | 19 +++++++++++++++++++
gcc/configure.ac | 16 ++++++++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 12 ++++++++++--
gcc/incpath.cc | 25 +++++++++++++++++++++++++
7 files changed, 93 insertions(+), 2 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index e3fa0dacec4..bea1adc0940 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -729,6 +729,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index a79c51adb2b..8a531ed591c 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -249,6 +249,16 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef POISON_BY_DEFAULT
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 16965953f05..0f4a5d52c30 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1051,6 +1051,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_host_pie
@@ -1828,6 +1829,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--enable-host-pie build host code as PIE
@@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" != "xno"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+if test "$enable_poison_system_directories" = "error"; then
+$as_echo "#define POISON_BY_DEFAULT 1" >>confdefs.h
+fi
+
+fi
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9f67e62950a..b0e3615e5aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7502,6 +7502,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories (no/yes/error)]),,
+ [enable_poison_system_directories=no])
+AC_MSG_NOTICE([poisoned directories $enable_poison_system_directories])
+if test "x${enable_poison_system_directories}" != "xno"; then
+ AC_MSG_NOTICE([poisoned directories enabled])
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+ if test $enable_poison_system_directories = "error"; then
+ AC_MSG_NOTICE([poisoned directories are fatal])
+ AC_DEFINE([POISON_BY_DEFAULT], [1], [Define to make poison warnings errors])
+ fi
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 72009c33cd0..29aea724731 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -405,6 +405,7 @@ Objective-C and Objective-C++ Dialects}.
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded
-Wparentheses -Wno-pedantic-ms-format
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast
+-Wno-poison-system-directories
-Wno-pragmas -Wno-pragma-once-outside-header -Wno-prio-ctor-dtor
-Wno-psabi
-Wredundant-decls -Wrestrict
@@ -10727,6 +10728,14 @@ an error. @option{Wint-to-pointer-cast} is enabled by default.
Suppress warnings from casts from a pointer to an integer type of a
different size.
+@opindex Wno-poison-system-directories
+@item -Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@opindex Winvalid-pch
@opindex Wno-invalid-pch
@item -Winvalid-pch
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 4fd87f2c4a1..79d4920a047 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -909,6 +909,12 @@ proper position among the other output files. */
#define ASM_MAP ""
#endif
+#ifdef POISON_BY_DEFAULT
+#define POISON_IS_ERROR " -Werror=poison-system-directories"
+#else
+#define POISON_IS_ERROR
+#endif
+
/* Assembler options for compressed debug sections. */
#if HAVE_LD_COMPRESS_DEBUG == 0
/* Reject if the linker cannot write compressed debug sections. */
@@ -1166,6 +1172,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
+ %{Wno-poison-system-directories:--no-poison-system-directories} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
@@ -1268,7 +1276,7 @@ static const char *cpp_options =
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
%{!fno-working-directory:-fworking-directory}}} %{O*}\
- %{undef} %{save-temps*:-fpch-preprocess}";
+ %{undef} %{save-temps*:-fpch-preprocess}" POISON_IS_ERROR;
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
@@ -1297,7 +1305,7 @@ static const char *cc1_options =
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
- %{pthread:-fprofile-update=prefer-atomic}}}";
+ %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR;
static const char *asm_options =
"%{-target-help:%:print-asm-header()} "
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index c1bbfd3872a..2cdbebc4c50 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head,
cur->name, xstrerror (errno));
reason = REASON_NOENT;
}
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ pcur = &cur->next;
+ continue;
+#endif
}
else if (!S_ISDIR (st.st_mode))
cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0,
@@ -411,6 +416,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
fprintf (stderr, _("End of #embed search list.\n"));
}
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[INC_QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
+ || (!strncmp (p->name, "/sw/include", 11))
+ || (!strncmp (p->name, "/opt/include", 12)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
--
2.50.1
@@ -0,0 +1,44 @@
From 90e8697dd88fd99ce2cf8739e95494853005377e Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
Binutils does not appear to have a similar option for enabling -z
now by default.
---
gcc/doc/invoke.texi | 3 +++
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 29aea724731..6fb3ab70cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -19477,6 +19477,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
+NOTE: In Alpine Linux, for LDFLAGS, the option
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
+
@opindex u
@item -u @var{symbol}
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 79d4920a047..74a356fdf5e 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1170,6 +1170,7 @@ proper position among the other output files. */
"%{flto|flto=*:%<fcompare-debug*} \
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "-z now " \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.50.1
@@ -0,0 +1,46 @@
From 17c9cf9272077bc7ac784daffd4c68ba1ce67a0d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC,
ObjC++, if the optimization level is > 0
---
gcc/c-family/c-cppbuiltin.cc | 4 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4589ee4a3a6..9edf095384c 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1581,6 +1581,10 @@ c_cpp_builtins (cpp_reader *pfile)
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+ /* Fortify Source enabled by default for optimization levels > 0 */
+ if (optimize)
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
+
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6fb3ab70cc7..799ce073dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12840,6 +12840,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
+set by default, and is activated when @option{-O} is set to 2 or higher.
+This enables additional compile-time and run-time checks for several libc
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
+@option{-D_FORTIFY_SOURCE=0}.
+
@opindex O3
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
2.50.1
@@ -0,0 +1,286 @@
From 95d8fac6247b2cba1142261cc95c21063539112a Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH] On linux targets pass --as-needed by default to the linker,
but always link the sanitizer libraries with --no-as-needed.
---
gcc/config/aarch64/aarch64-linux.h | 1 +
gcc/config/alpha/linux-elf.h | 2 +-
gcc/config/arm/linux-elf.h | 1 +
gcc/config/gnu-user.h | 6 +++---
gcc/config/i386/gnu-user.h | 2 +-
gcc/config/i386/gnu-user64.h | 1 +
gcc/config/ia64/linux.h | 2 +-
gcc/config/loongarch/gnu-user.h | 2 +-
gcc/config/mips/gnu-user.h | 1 +
gcc/config/riscv/linux.h | 1 +
gcc/config/rs6000/linux64.h | 4 ++--
gcc/config/rs6000/sysv4.h | 2 +-
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
15 files changed, 37 insertions(+), 20 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 116bb4e69f3..daf99f8dce9 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -39,6 +39,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --as-needed \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 3fd3b831166..0b4c2dccebe 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
#define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --as-needed %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index d4d389e2aa8..adccc0b11c2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
%{rdynamic:-export-dynamic} \
%{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
-X \
+ --as-needed \
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 4c4e31efa39..3c17ac6eade 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
"%{static-libasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBHWASAN_EARLY_SPEC
#define LIBHWASAN_EARLY_SPEC "%{!shared:libhwasan_preinit%O%s} " \
"%{static-libhwasan:%{!shared:" \
@@ -146,12 +146,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
"%{static-libtsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBLSAN_EARLY_SPEC
#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
"%{static-liblsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 7abfda53049..ceb8f855b7d 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
{ "link_emulation", GNU_USER_LINK_EMULATION },\
{ "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --as-needed %{shared:-shared} \
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abe714711bf..3ca128a79f5 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
"%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
%{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
%{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index a2494c214c4..e1a5d530cdf 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
index fbc75a90ad5..adbc4b7733f 100644
--- a/gcc/config/loongarch/gnu-user.h
+++ b/gcc/config/loongarch/gnu-user.h
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC \
- "%{G*} %{shared} -m " GNU_USER_LINK_EMULATION \
+ "%{G*} %{shared} --as-needed -m " GNU_USER_LINK_EMULATION \
"%{!shared: %{static} " \
"%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \
"-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 5a82508c113..6eee7cdc603 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC "\
%{G*} %{EB} %{EL} %{mips*} %{shared} \
+ -as-needed \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 9060c940a44..282c77b6a7b 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
"%{mabi=ilp32:_ilp32}"
#define LINK_SPEC "\
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
-X \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 0316d8cb65d..139e1b6796c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -378,13 +378,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
%(link_os_extra_spec32)"
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index afb5c6ad867..b64638fb25b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -781,7 +781,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --as-needed %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 2c3bca5dfcb..b90661247a4 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6d928846895..3cc05bb7240 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --as-needed %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 74a356fdf5e..fc9c7d15b04 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -774,8 +774,11 @@ proper position among the other output files. */
#ifdef LIBASAN_EARLY_SPEC
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -810,8 +813,11 @@ proper position among the other output files. */
#ifdef LIBTSAN_EARLY_SPEC
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -828,8 +834,11 @@ proper position among the other output files. */
#ifdef LIBLSAN_EARLY_SPEC
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -844,8 +853,11 @@ proper position among the other output files. */
#define STATIC_LIBUBSAN_LIBS \
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -0,0 +1,34 @@
From 58a94690d4dd7b34543d9d154abc96d2d90d3b32 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 75b6531860e..78830ce4b42 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -805,7 +805,7 @@ Warn about function calls with format strings that write past the end
of the destination region.
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions.
Wformat-signedness
@@ -830,7 +830,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wframe-address
--
2.50.1
@@ -0,0 +1,25 @@
From b2a755b671d88c34402290d7d769232e01aed350 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:44:20 -0700
Subject: [PATCH] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index bea1adc0940..e65a575d9f8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -829,7 +829,7 @@ Common Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wa
Warn if a comparison always evaluates to true or false.
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
--
2.50.1
@@ -0,0 +1,39 @@
From c355364231395090e7223ec00d8a16065903c2c5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:49:03 -0700
Subject: [PATCH] gcc: disable SSP on -ffreestanding, -nostdlib and
-nodefaultlibs
---
gcc/gcc.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index fc9c7d15b04..7b0d3d2743b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1009,6 +1009,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1314,7 +1320,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
--
2.50.1
@@ -0,0 +1,25 @@
From 5f09842c19d6db976724cd117190a8a6951acf9b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:50:42 -0700
Subject: [PATCH] gcc: params: set default ssp-buffer-size to 4
---
gcc/params.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/params.opt b/gcc/params.opt
index 64e453d29b7..bba3fd574f2 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1064,7 +1064,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
--
2.50.1
@@ -0,0 +1,54 @@
From ee0615536ae0d255f59070b904aa35d6de8fce49 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.
2011-09-19 Martin von Gagern
References:
https://bugs.gentoo.org/372377
https://bugs.gentoo.org/295480
---
libstdc++-v3/po/Makefile.am | 1 +
libstdc++-v3/po/Makefile.in | 1 +
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 7f84a99533e..a4c6284f788 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 8e93445acd2..d6ff06e5ddb 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -561,6 +561,7 @@ uninstall-am:
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
--
2.50.1
@@ -0,0 +1,28 @@
From 62966418472466142a9962892177f4b1f9f56944 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH] Don't declare asprintf if defined as a macro.
---
include/libiberty.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/libiberty.h b/include/libiberty.h
index d4e8791b14b..c074980ed80 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -678,8 +678,11 @@ extern void *bsearch_r (const void *, const void *,
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
+#ifndef asprintf
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
+#endif
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
--
2.50.1
@@ -0,0 +1,24 @@
From 0351f4f3dd00bdece780ce5e24d972e97ca1b7ed Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH] libiberty: copy PIC objects during build process
---
libiberty/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index ce54d88278d..10c212a1ad3 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -266,6 +266,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
--
2.50.1
+57
View File
@@ -0,0 +1,57 @@
From bd7e32d5405b6b4f3994a212a77ff2cd33134c74 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
libgcc/config/i386/cpuinfo.c | 6 +++---
libgcc/config/i386/t-linux | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index cdfd94d3c73..a3a6c988833 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -13643,10 +13643,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
- /* Make it call __cpu_indicator_init in libgcc. */
+ /* Make it call __cpu_indicator_init in libgcc.a. */
tree call_expr, fndecl, type;
type = build_function_type_list (integer_type_node, NULL_TREE);
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
call_expr = build_call_expr (fndecl, 0);
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
}
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
index 2484dc839bf..e980030ef23 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
__cpu_features2);
}
-#if defined SHARED && defined USE_ELF_SYMVER
-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
+#ifndef SHARED
+int __cpu_indicator_init_local (void)
+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
#endif
diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
index 8506a635790..564296f788e 100644
--- a/libgcc/config/i386/t-linux
+++ b/libgcc/config/i386/t-linux
@@ -3,5 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
--
2.50.1
+85
View File
@@ -0,0 +1,85 @@
From c191dc86f4f7340542066f4156aa57be9cfbf876 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH] nopie
---
gcc/configure | 25 +++++++++++++++++++++++++
gcc/configure.ac | 11 +++++++++++
2 files changed, 36 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 0f4a5d52c30..343563c8948 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -34586,6 +34586,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$as_echo "$gcc_cv_no_pie" >&6; }
+# Check if -nopie works.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5
+$as_echo_n "checking for -nopie option... " >&6; }
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ gcc_cv_nopie=yes
+else
+ gcc_cv_nopie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5
+$as_echo "$gcc_cv_nopie" >&6; }
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34603,6 +34626,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index b0e3615e5aa..b3948469d17 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7802,6 +7802,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
LDFLAGS="$saved_LDFLAGS"])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7819,6 +7828,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.50.1
@@ -0,0 +1,42 @@
From f1d6c0950e0f12fb8cf2429da570f478a1369286 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH] ada: fix shared linking
---
gcc/ada/link.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index 9e3385ca94f..2c0cca6e480 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
|| defined (__NetBSD__) || defined (__OpenBSD__) \
|| defined (__QNX__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__linux__) || defined (__GLIBC__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
--
2.50.1
@@ -0,0 +1,24 @@
From 8773e0cf880da9fe80de7f8a662359664bb0b234 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:43 +0000
Subject: [PATCH] build: fix CXXFLAGS_FOR_BUILD passing
---
Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
index b1ed67d3d4f..1e039c20550 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -179,6 +179,7 @@ BUILD_EXPORTS = \
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
--
2.50.1
@@ -0,0 +1,25 @@
From 625b8095796f24389fdda5bb5bc6ff9fbb365813 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:01:06 +0000
Subject: [PATCH] add fortify-headers paths
---
gcc/config/linux.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index d6280a4d4dd..ba69fb9fad7 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -159,6 +159,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifdef NATIVE_SYSTEM_HEADER_DIR
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
#else
--
2.50.1
@@ -0,0 +1,31 @@
From c557286adc46536fe033df400c50a880b672cfd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Fri, 21 Aug 2020 07:03:00 +0000
Subject: [PATCH] Alpine musl package provides libssp_nonshared.a. We link to
it unconditionally, as otherwise we get link failures if some objects are
-fstack-protector built and final link happens with -fno-stack-protector.
This seems to be the common case when bootstrapping gcc, the piepatches do
not seem to fully fix the crosstoolchain and bootstrap sequence wrt.
stack-protector flag usage.
---
gcc/gcc.cc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 7b0d3d2743b..e46e976a2e8 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1017,8 +1017,7 @@ proper position among the other output files. */
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
- "|fstack-protector-strong|fstack-protector-explicit:}"
+#define LINK_SSP_SPEC "-lssp_nonshared"
#else
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
"|fstack-protector-strong|fstack-protector-explicit" \
--
2.50.1
@@ -0,0 +1,69 @@
From d698fead9d201ef032e2e978898864335a9ab513 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:03:42 +0000
Subject: [PATCH] DP: Use --push-state/--pop-state for gold as well when
linking libtsan.
---
gcc/gcc.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index e46e976a2e8..607c8ca1d42 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -775,10 +775,10 @@ proper position among the other output files. */
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libasan:--push-state --no-as-needed}" \
" -lasan " \
" %{static-libasan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libasan:--pop-state}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -814,10 +814,10 @@ proper position among the other output files. */
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libtsan:--push-state --no-as-needed}" \
" -ltsan " \
" %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libtsan:--pop-state}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -835,10 +835,10 @@ proper position among the other output files. */
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-liblsan:--push-state --no-as-needed}" \
" -llsan " \
" %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-liblsan:--pop-state}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -854,10 +854,10 @@ proper position among the other output files. */
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libubsan:--push-state --no-as-needed}" \
" -lubsan " \
" %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libubsan:--pop-state}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -0,0 +1,26 @@
From 9cf1916bd52d61ea0fd7a8b6acebb1dc4a1f2488 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:12:55 +0000
Subject: [PATCH] aarch64: disable multilib support
multilib is unsupported on Alpine GCC
---
gcc/config/aarch64/t-aarch64-linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
index 70e36b3299e..e00c3becd3f 100644
--- a/gcc/config/aarch64/t-aarch64-linux
+++ b/gcc/config/aarch64/t-aarch64-linux
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
LIB1ASMFUNCS = _aarch64_sync_cache_range
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
--
2.50.1
@@ -0,0 +1,25 @@
From dc07fb7df8d4f997877d8f98ea9ef8292f738ed3 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:13:59 +0000
Subject: [PATCH] s390x: disable multilib support
multilib is not supported on Alpine GCC at present
---
gcc/config/s390/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/s390/t-linux64 b/gcc/config/s390/t-linux64
index cc6ab367072..7f498ee1cdc 100644
--- a/gcc/config/s390/t-linux64
+++ b/gcc/config/s390/t-linux64
@@ -7,5 +7,5 @@
MULTILIB_OPTIONS = m64/m31
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
--
2.50.1
@@ -0,0 +1,81 @@
From 496067ded4a3698468412e240b899755d92b314c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:33 +0000
Subject: [PATCH] ppc64[le]: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/rs6000/t-linux | 6 ++++--
gcc/config/rs6000/t-linux64 | 4 ++--
gcc/config/rs6000/t-linux64bele | 4 ++--
gcc/config/rs6000/t-linux64lebe | 4 ++--
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index 4e371255533..128c75c7d39 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -2,7 +2,8 @@
# or soft-float.
ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
ifneq (,$(findstring powerpc64,$(target)))
-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
else
MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu)
endif
@@ -10,7 +11,8 @@ ifneq (,$(findstring powerpcle,$(target)))
MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))
endif
ifneq (,$(findstring powerpc64le,$(target)))
-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
endif
endif
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index f56b47c268e..c5f757a6284 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -28,8 +28,8 @@
MULTILIB_OPTIONS := m64/m32
MULTILIB_DIRNAMES := 64 32
MULTILIB_EXTRA_OPTS :=
-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
$(COMPILE) $<
diff --git a/gcc/config/rs6000/t-linux64bele b/gcc/config/rs6000/t-linux64bele
index 97c1ee6fb4d..08d72639cb6 100644
--- a/gcc/config/rs6000/t-linux64bele
+++ b/gcc/config/rs6000/t-linux64bele
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mlittle
MULTILIB_DIRNAMES += le
-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
diff --git a/gcc/config/rs6000/t-linux64lebe b/gcc/config/rs6000/t-linux64lebe
index 2e63bdb9fc9..c6e1c5db65d 100644
--- a/gcc/config/rs6000/t-linux64lebe
+++ b/gcc/config/rs6000/t-linux64lebe
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mbig
MULTILIB_DIRNAMES += be
-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
--
2.50.1
@@ -0,0 +1,26 @@
From 3d0f96f3f53a7ff81532f077e9db69d7318db796 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:54 +0000
Subject: [PATCH] x86_64: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/i386/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 64a4a20e64f..9a8eb8dd8d1 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -33,6 +33,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
--
2.50.1
@@ -0,0 +1,78 @@
From b1ab523d6fa44aae8f3ec5f787a8f86f8686bf64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 3 Jan 2022 07:14:48 +0100
Subject: [PATCH] riscv: disable multilib support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From the musl wiki [1]:
musl does not support sharing an include directory between archs
[…], and thus is not compatible with GCC-style multilib. It is
recommended that distributions build GCC with multilib disabled,
and use library directories named lib, not lib64 or lib32.
For this reason, we patch existing GCC configuration files (gcc/config)
to pin MULTILIB_OSDIRNAMES to lib, there is also a corresponding GCC
upstream bug about this issue [2]. Avoiding the use of lib64 and lib32
directories is a bit more difficult on the RISC-V architecture. This is
due to the fact that the default RISC-V configuration does not only use
the lib64 and lib32 directories but also subdirectories within these
directories for different RISC-V ABIs (e.g. lp64d, lp64, …) [3].
This patch aligns the RISC-V configuration with other architectures by
pinning MULTILIB_OSDIRNAMES to lib for rv64gc (our default RISC-V
-march). Furthermore, this patch removes the ABI-specific startfile
prefix spec. Since both of these impact the default LIBRARY_PATH [4]
this patch thereby aligns the default RISC-V LIBRARY_PATH with that from
other Alpine architectures and thereby fixes #13369 [5].
Incidentally, this also fixes gccgo on riscv64, as without this patch
gccgo is otherwise not able to find the *.gox files for the Go standard
library.
[1]: https://wiki.musl-libc.org/guidelines-for-distributions.html#Multilib/multi_arch
[2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90077
[3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103889#c14
[4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/gcc.c;h=d4c8746b0aa322286decf92aa72a12f0a393b655;hb=HEAD#l9122
[5]: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13369
---
gcc/config/riscv/linux.h | 8 --------
gcc/config/riscv/t-linux | 7 +++++--
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 282c77b6a7b..07adae3d59c 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -61,11 +61,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/lib/ " \
- "/usr/lib/ "
-
-#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_abi
diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
index a6f64f88d25..f88776ec520 100644
--- a/gcc/config/riscv/t-linux
+++ b/gcc/config/riscv/t-linux
@@ -1,5 +1,8 @@
-# Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+MULTILIB_OPTIONS := march=rv64gc
+MULTILIB_DIRNAMES := rv64gc
+
+MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib,$(MULTILIB_DIRNAMES)))
MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
+MULTILIB_MATCHES := march?rv64gc=march?rv64imafdc
MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu)
--
2.50.1
@@ -0,0 +1,51 @@
From ee64e5ead8938d5be6cedd674158a25d93711fe3 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:05:41 +0000
Subject: [PATCH] always build libgcc_eh.a
highly inspired by:
http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
---
libgcc/Makefile.in | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 0719fd0615d..80bb8f1622f 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -971,8 +971,9 @@ ifneq ($(LIBUNWIND),)
all: libunwind.a
endif
+all: libgcc_eh.a
ifeq ($(enable_shared),yes)
-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
+all: libgcc_s$(SHLIB_EXT)
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1177,10 +1178,6 @@ install-libunwind:
install-shared:
$(mkinstalldirs) $(DESTDIR)$(inst_libdir)
- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-
$(subst @multilib_dir@,$(MULTIDIR),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
@@ -1197,6 +1194,10 @@ ifeq ($(enable_gcov),yes)
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
endif
+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+
parts="$(INSTALL_PARTS)"; \
for file in $$parts; do \
rm -f $(DESTDIR)$(inst_libdir)/$$file; \
--
2.50.1
@@ -0,0 +1,59 @@
From 5adfe740c027fb8dc9931053f55f7eae222e6bb4 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 02:09:02 -0700
Subject: [PATCH] ada: libgnarl: remove use of glibc-specific
pthread_rwlockattr_setkind_np
musl's thread library does not implement it
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
---
gcc/ada/libgnarl/s-osinte__linux.ads | 10 ----------
gcc/ada/libgnarl/s-taprop__linux.adb | 7 -------
2 files changed, 17 deletions(-)
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 7aeb15da523..5551b701e5a 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -402,16 +402,6 @@ package System.OS_Interface is
(attr : access pthread_rwlockattr_t) return int;
pragma Import (C, pthread_rwlockattr_destroy, "pthread_rwlockattr_destroy");
- PTHREAD_RWLOCK_PREFER_READER_NP : constant := 0;
- PTHREAD_RWLOCK_PREFER_WRITER_NP : constant := 1;
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2;
-
- function pthread_rwlockattr_setkind_np
- (attr : access pthread_rwlockattr_t;
- pref : int) return int;
- pragma Import
- (C, pthread_rwlockattr_setkind_np, "pthread_rwlockattr_setkind_np");
-
function pthread_rwlock_init
(mutex : access pthread_rwlock_t;
attr : access pthread_rwlockattr_t) return int;
diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb
index 8f4c835baa7..6df36c7d8f4 100644
--- a/gcc/ada/libgnarl/s-taprop__linux.adb
+++ b/gcc/ada/libgnarl/s-taprop__linux.adb
@@ -409,16 +409,9 @@ package body System.Task_Primitives.Operations is
Result : C.int;
begin
- -- Set the rwlock to prefer writer to avoid writers starvation
-
Result := pthread_rwlockattr_init (RWlock_Attr'Access);
pragma Assert (Result = 0);
- Result := pthread_rwlockattr_setkind_np
- (RWlock_Attr'Access,
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
- pragma Assert (Result = 0);
-
Result := pthread_rwlock_init (L.RW'Access, RWlock_Attr'Access);
pragma Assert (Result in 0 | ENOMEM);
--
2.50.1
@@ -0,0 +1,50 @@
From c8edb618208a854d121ff73c0d82d7cc467a3611 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 02:13:19 -0700
Subject: [PATCH] ada: libgnarl: use posix_openpt instead of glibc-specific
getpt to open a pty
musl only implements posix_openpt(3), not the older glibc-specific getpt()
and glibc implements both for ages.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
---
gcc/ada/terminals.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c
index 89f887556c0..93557fe2631 100644
--- a/gcc/ada/terminals.c
+++ b/gcc/ada/terminals.c
@@ -1134,7 +1134,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
/* POSIX does not specify how to open the master side of a terminal.Several
methods are available (system specific):
1- using a cloning device (USE_CLONE_DEVICE)
- 2- getpt (USE_GETPT)
+ 2- posix_openpt (USE_POSIX_OPENPT)
3- openpty (USE_OPENPTY)
When using the cloning device method, the macro USE_CLONE_DEVICE should
@@ -1148,7 +1148,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
#if defined (__APPLE__) || defined (BSD)
#define USE_OPENPTY
#elif defined (__linux__)
-#define USE_GETPT
+#define USE_POSIX_OPENPT
#elif defined (__sun__)
#define USE_CLONE_DEVICE "/dev/ptmx"
#elif defined (_AIX)
@@ -1197,8 +1197,8 @@ allocate_pty_desc (pty_desc **desc) {
int master_fd = -1;
char *slave_name = NULL;
-#ifdef USE_GETPT
- master_fd = getpt ();
+#if defined(USE_POSIX_OPENPT)
+ master_fd = posix_openpt(O_RDWR | O_NOCTTY);
#elif defined (USE_OPENPTY)
status = openpty (&master_fd, &slave_fd, NULL, NULL, NULL);
#elif defined (USE_CLONE_DEVICE)
--
2.50.1
@@ -0,0 +1,54 @@
From d3c515c40b9ec0133787388ae7df037e88a95f73 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 02:18:49 -0700
Subject: [PATCH] ada: libgnarl: adaint: fix sched.h inclusion for musl
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
---
gcc/ada/adaint.c | 6 +++++-
gcc/ada/adaint.h | 5 +++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 1fcfae165a7..67318e647ed 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -95,6 +95,11 @@
#include <sys/pstat.h>
#endif
+#if defined (linux) || defined(__linux__)
+#define _GNU_SOURCE 1
+#include <sched.h>
+#endif
+
#ifdef __PikeOS__
#define __BSD_VISIBLE 1
#endif
@@ -3476,7 +3481,6 @@ __gnat_lwp_self (void)
#endif
#if defined (__linux__)
-#include <sched.h>
/* glibc versions earlier than 2.7 do not define the routines to handle
dynamically allocated CPU sets. For these targets, we use the static
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 3df12b5f956..26a489f2b78 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -40,6 +40,11 @@ extern "C" {
#include "mingw32.h"
#endif
+#if defined (linux) || defined(__linux__)
+#define _GNU_SOURCE 1
+#include <sched.h>
+#endif
+
#include <dirent.h>
/* Constants used for the form parameter encoding values */
--
2.50.1
@@ -0,0 +1,256 @@
From 3d13edda0134af3fbb802cdec6406c91003bbc33 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 9 Dec 2020 07:42:06 +0000
Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
This fixes issues with RISC-V.
---
Makefile.in | 1 +
gcc/config.in | 6 ++++++
gcc/config/gnu-user.h | 12 +++++++++++-
gcc/configure | 31 ++++++++++++++++++++++++++++++-
gcc/configure.ac | 21 +++++++++++++++++++++
gcc/doc/install.texi | 8 ++++++++
gcc/doc/tm.texi | 8 +++++++-
gcc/doc/tm.texi.in | 8 +++++++-
gcc/gcc.cc | 12 +++++++++++-
9 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 1e039c20550..20f535a306a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -238,6 +238,7 @@ HOST_EXPORTS = \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
diff --git a/gcc/config.in b/gcc/config.in
index 8a531ed591c..40045ff35a5 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -131,6 +131,12 @@
#endif
+/* Define if libatomic should always be linked. */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_AUTOLINK_LIBATOMIC
+#endif
+
+
/* Define to 1 to specify that we are using the BID decimal floating point
format instead of DPD */
#ifndef USED_FOR_TARGET
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 3c17ac6eade..0426efdb8c3 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
- "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
+ "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
%{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
#undef LINK_GCC_C_SEQUENCE_SPEC
diff --git a/gcc/configure b/gcc/configure
index 343563c8948..54300a2a867 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1003,6 +1003,7 @@ with_changes_root_url
enable_languages
with_multilib_list
with_multilib_generator
+enable_autolink_libatomic
with_zstd
with_zstd_include
with_zstd_lib
@@ -1742,6 +1743,9 @@ Optional Features:
--disable-shared don't provide a shared libgcc
--disable-gcov don't provide libgcov and related host tools
--enable-languages=LIST specify which front-ends to build
+ --enable-autolink-libatomic
+ enable automatic linking of libatomic (ignored if
+ not built)
--disable-rpath do not hardcode runtime library paths
--enable-sjlj-exceptions
arrange to use setjmp/longjmp exception handling
@@ -8400,7 +8404,6 @@ else
fi
-
# Check whether --with-multilib-generator was given.
if test "${with_multilib_generator+set}" = set; then :
withval=$with_multilib_generator; :
@@ -8408,6 +8411,32 @@ else
with_multilib_generator=default
fi
+# If libatomic is available, whether it should be linked automatically
+# Check whether --enable-autolink-libatomic was given.
+if test "${enable_autolink_libatomic+set}" = set; then :
+ enableval=$enable_autolink_libatomic;
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
+ esac
+
+else
+ enable_autolink_libatomic=''
+fi
+
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+
+$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
+$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
+ fi
+fi
+
# -------------------------
# Checks for other programs
diff --git a/gcc/configure.ac b/gcc/configure.ac
index b3948469d17..81c070830e2 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1227,6 +1227,27 @@ AC_ARG_WITH(multilib-generator,
:,
with_multilib_generator=default)
+# If libatomic is available, whether it should be linked automatically
+AC_ARG_ENABLE(autolink-libatomic,
+[AS_HELP_STRING([--enable-autolink-libatomic],
+ [enable automatic linking of libatomic (ignored if not built)])],
+[
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'.]) ;;
+ esac
+], [enable_autolink_libatomic=''])
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+ AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
+ [Define if libatomic should always be linked.])
+ else
+ AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
+ fi
+fi
+
# -------------------------
# Checks for other programs
# -------------------------
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 3e9e09b4ae3..6e7b756be61 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2617,6 +2617,14 @@ files, but these changed header paths may conflict with some compilation
environments. Enabled by default, and may be disabled using
@option{--disable-canonical-system-headers}.
+@item --enable-autolink-libatomic
+@itemx --disable-autolink-libatomic
+Tell GCC that it should automatically link libatomic; if supported by
+the linker, the file is only linked as needed. This flag is ignored
+when libatomic is not built. Note that this conigure flag is in particular
+useful when building an offloading-target compiler; as for those, a
+user had to specify @code{-foffload=target=-latomic} otherwise.
+
@item --with-glibc-version=@var{major}.@var{minor}
Tell GCC that when the GNU C Library (glibc) is used on the target it
will be version @var{major}.@var{minor} or later. Normally this can
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index a96700c0d38..16deedca64d 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -390,7 +390,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index eccc4d88493..4ca4c610571 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -390,7 +390,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 607c8ca1d42..e9f78f0f4c1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1000,13 +1000,23 @@ proper position among the other output files. */
# define ASM_DEBUG_OPTION_SPEC ""
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
/* Here is the spec for running the linker, after compiling all files. */
/* This is overridable by the target in case they need to specify the
-lgcc and -lc order specially, yet not require them to override all
of LINK_COMMAND_SPEC. */
#ifndef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
+#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
#endif
#ifdef ENABLE_DEFAULT_SSP
--
2.50.1
@@ -0,0 +1,57 @@
From ddc31942d7363acc938007d70f29e3e324064f76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 29 Aug 2021 12:23:34 +0200
Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
configure script
Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
default) causes the libatomic configure script to incorrectly detect
which builtins are available on riscv64. This then causes incorrect code
generation for libatomic since it assumes compiler builtins to be
available which are not actually available on riscv64.
This commit fixes this issue by disabling linking of libatomic configure
test code entirely, thereby preventing linking against libatomic.
See:
* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
---
libatomic/configure.tgt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index 6db039d6e8b..2751b5c1387 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -30,6 +30,26 @@
# on ${target_cpu}. For example to allow proper use of multilibs.
configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+# The libatomic configure script performs several checks to determine
+# whether builtins for atomic operations are available. When compiling
+# with --enable-autolink-libatomic the test code compiled by the
+# configure script is also linked against libatomic. This causes it
+# to think that builtins are available, even if there are not, since
+# the tested symbols are provided by libatomic.
+#
+# This is a hack to ensure that we don't link against libatomic by not
+# linking any configure test code at all when --enable-autolink-libatomic
+# is given.
+#
+# See:
+#
+# * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
+# * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
+#
+if test x$enable_autolink_libatomic = xyes; then
+ gcc_no_link=yes
+fi
+
case "${target_cpu}" in
alpha*)
# fenv.c needs this option to generate inexact exceptions.
--
2.50.1
@@ -0,0 +1,27 @@
From e9f4662af949bc56eef27d531605dd90181bc300 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Thu, 30 Jun 2022 16:44:51 +0000
Subject: [PATCH] libstdc++: do not throw exceptions for non-C locales on musl
targets
---
libstdc++-v3/config/locale/generic/c_locale.cc | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index bfd02b5c2c6..16f9e84d66f 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -242,9 +242,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Currently, the generic model only supports the "C" locale.
// See http://gcc.gnu.org/ml/libstdc++/2003-02/msg00345.html
__cloc = 0;
- if (strcmp(__s, "C"))
- __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
- "name not valid"));
}
void
--
2.50.1
@@ -0,0 +1,26 @@
From b4c412a5d538f7478596880e89d0e6d5046ef16b Mon Sep 17 00:00:00 2001
From: Mathias LANG <pro.mathias.lang@gmail.com>
Date: Mon, 17 Jan 2022 03:49:21 +0000
Subject: [PATCH] gdc: unconditionally link libgphobos against libucontext
ref: alpine/aports#13422
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 20f535a306a..c087bfe7cd4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -54382,7 +54382,7 @@ configure-target-libphobos:
esac; \
module_srcdir=libphobos; \
rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) \
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
--
2.50.1
@@ -0,0 +1,54 @@
From 0c10e5ee09685a5ecc39650e8ec8a1b4f5e096e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sat, 16 Jul 2022 09:21:11 +0200
Subject: [PATCH] druntime: link against libucontext on all platforms
On musl-based Linux distributions, swapcontext etc. are not provided by
musl but instead by libucontext. Hence, we _always_ need to link against
an external library for these functions.
---
libphobos/configure | 8 --------
libphobos/m4/druntime/libraries.m4 | 8 --------
2 files changed, 16 deletions(-)
diff --git a/libphobos/configure b/libphobos/configure
index 4f5be7d4ff4..0a48032edb4 100755
--- a/libphobos/configure
+++ b/libphobos/configure
@@ -15420,14 +15420,6 @@ fi
# Keep this in sync with core/thread.d, set druntime_fiber_asm_external to
# "yes" for targets that have 'version = AsmExternal'.
druntime_fiber_asm_external=no
- case "$target_cpu" in
- aarch64* | \
- arm* | \
- i[34567]86|x86_64 | \
- powerpc)
- druntime_fiber_asm_external=yes
- ;;
- esac
if test "$druntime_fiber_asm_external" = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing swapcontext" >&5
$as_echo_n "checking for library containing swapcontext... " >&6; }
diff --git a/libphobos/m4/druntime/libraries.m4 b/libphobos/m4/druntime/libraries.m4
index 8dd9c7da107..b61bf528a14 100644
--- a/libphobos/m4/druntime/libraries.m4
+++ b/libphobos/m4/druntime/libraries.m4
@@ -220,14 +220,6 @@ AC_DEFUN([DRUNTIME_LIBRARIES_UCONTEXT],
# Keep this in sync with core/thread.d, set druntime_fiber_asm_external to
# "yes" for targets that have 'version = AsmExternal'.
druntime_fiber_asm_external=no
- case "$target_cpu" in
- aarch64* | \
- arm* | \
- i[[34567]]86|x86_64 | \
- powerpc)
- druntime_fiber_asm_external=yes
- ;;
- esac
if test "$druntime_fiber_asm_external" = no; then
AC_SEARCH_LIBS([swapcontext], [c ucontext], [],
AC_MSG_ERROR([swapcontext required but not found]))
--
2.50.1
@@ -0,0 +1,25 @@
From e5190522319c315efaf9a921737c05fae6a49e85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Tue, 19 Jul 2022 14:54:07 +0200
Subject: [PATCH] libgnat: time_t is always 64-bit on musl libc
---
gcc/ada/libgnat/s-parame.ads | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/libgnat/s-parame.ads b/gcc/ada/libgnat/s-parame.ads
index 98284a4d13e..0d14f116a10 100644
--- a/gcc/ada/libgnat/s-parame.ads
+++ b/gcc/ada/libgnat/s-parame.ads
@@ -101,7 +101,7 @@ package System.Parameters is
-- Characteristics of time_t type --
------------------------------------
- time_t_bits : constant := Long_Integer'Size;
+ time_t_bits : constant := Long_Long_Integer'Size;
-- Number of bits in type time_t
----------------------------------------------
--
2.50.1
@@ -0,0 +1,30 @@
From 3fe1ff6c349a065daba97794c55961cafe6c4a10 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 29 May 2023 15:33:11 +0000
Subject: [PATCH] libphobos: do not use LFS64 symbols
musl does not have these since 1.2.4, we can't use the compat interfaces.
---
libphobos/libdruntime/core/sys/posix/sys/mman.d | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/mman.d b/libphobos/libdruntime/core/sys/posix/sys/mman.d
index b1eb9fa8107..3aee0d96319 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/mman.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/mman.d
@@ -293,11 +293,7 @@ else version (CRuntime_Bionic)
}
else version (CRuntime_Musl)
{
- static if (__USE_LARGEFILE64) void* mmap64(void*, size_t, int, int, int, off_t);
- static if (__USE_FILE_OFFSET64)
- alias mmap = mmap64;
- else
- void* mmap(void*, size_t, int, int, int, off_t);
+ void* mmap(void*, size_t, int, int, int, off_t);
int munmap(void*, size_t);
}
else version (CRuntime_UClibc)
--
2.50.1
@@ -0,0 +1,195 @@
From ff21b1649c1c5009a33722d21e28af9026c72cd7 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 10 Jul 2023 23:23:29 +0000
Subject: [PATCH] libgo: fix lfs64 use
---
.../go/internal/syscall/unix/at_largefile.go | 2 +-
libgo/go/os/dir_largefile.go | 2 +-
libgo/go/syscall/libcall_glibc.go | 2 +-
libgo/go/syscall/libcall_linux.go | 4 +--
libgo/go/syscall/libcall_posix_largefile.go | 26 +++++++++----------
libgo/runtime/go-varargs.c | 2 +-
libgo/sysinfo.c | 9 +++----
7 files changed, 22 insertions(+), 25 deletions(-)
diff --git a/libgo/go/internal/syscall/unix/at_largefile.go b/libgo/go/internal/syscall/unix/at_largefile.go
index 82e0dcfd074..16151ecad1b 100644
--- a/libgo/go/internal/syscall/unix/at_largefile.go
+++ b/libgo/go/internal/syscall/unix/at_largefile.go
@@ -10,5 +10,5 @@ import (
"syscall"
)
-//extern fstatat64
+//extern fstatat
func fstatat(int32, *byte, *syscall.Stat_t, int32) int32
diff --git a/libgo/go/os/dir_largefile.go b/libgo/go/os/dir_largefile.go
index 1fc5ee0771f..0c6dffe1a75 100644
--- a/libgo/go/os/dir_largefile.go
+++ b/libgo/go/os/dir_largefile.go
@@ -11,5 +11,5 @@ package os
import "syscall"
-//extern readdir64
+//extern readdir
func libc_readdir(*syscall.DIR) *syscall.Dirent
diff --git a/libgo/go/syscall/libcall_glibc.go b/libgo/go/syscall/libcall_glibc.go
index 5c1ec483c75..5a1245ed44b 100644
--- a/libgo/go/syscall/libcall_glibc.go
+++ b/libgo/go/syscall/libcall_glibc.go
@@ -114,7 +114,7 @@ func Pipe2(p []int, flags int) (err error) {
}
//sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error)
-//sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
+//sendfile(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
if race.Enabled {
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go
index 03ca7261b59..ad21fd0b3ac 100644
--- a/libgo/go/syscall/libcall_linux.go
+++ b/libgo/go/syscall/libcall_linux.go
@@ -158,7 +158,7 @@ func Reboot(cmd int) (err error) {
//adjtimex(buf *Timex) _C_int
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
-//fstatfs64(fd _C_int, buf *Statfs_t) _C_int
+//fstatfs(fd _C_int, buf *Statfs_t) _C_int
func Gettid() (tid int) {
r1, _, _ := Syscall(SYS_GETTID, 0, 0, 0)
@@ -245,7 +245,7 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
}
//sys Statfs(path string, buf *Statfs_t) (err error)
-//statfs64(path *byte, buf *Statfs_t) _C_int
+//statfs(path *byte, buf *Statfs_t) _C_int
//sysnb Sysinfo(info *Sysinfo_t) (err error)
//sysinfo(info *Sysinfo_t) _C_int
diff --git a/libgo/go/syscall/libcall_posix_largefile.go b/libgo/go/syscall/libcall_posix_largefile.go
index f90055bb29a..334212f0af1 100644
--- a/libgo/go/syscall/libcall_posix_largefile.go
+++ b/libgo/go/syscall/libcall_posix_largefile.go
@@ -10,40 +10,40 @@
package syscall
//sys Creat(path string, mode uint32) (fd int, err error)
-//creat64(path *byte, mode Mode_t) _C_int
+//creat(path *byte, mode Mode_t) _C_int
//sys Fstat(fd int, stat *Stat_t) (err error)
-//fstat64(fd _C_int, stat *Stat_t) _C_int
+//fstat(fd _C_int, stat *Stat_t) _C_int
//sys Ftruncate(fd int, length int64) (err error)
-//ftruncate64(fd _C_int, length Offset_t) _C_int
+//ftruncate(fd _C_int, length Offset_t) _C_int
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
-//getrlimit64(resource _C_int, rlim *Rlimit) _C_int
+//getrlimit(resource _C_int, rlim *Rlimit) _C_int
//sys Lstat(path string, stat *Stat_t) (err error)
-//lstat64(path *byte, stat *Stat_t) _C_int
+//lstat(path *byte, stat *Stat_t) _C_int
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-//mmap64(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
+//mmap(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
//sys Open(path string, mode int, perm uint32) (fd int, err error)
-//__go_open64(path *byte, mode _C_int, perm Mode_t) _C_int
+//__go_open(path *byte, mode _C_int, perm Mode_t) _C_int
//sys Pread(fd int, p []byte, offset int64) (n int, err error)
-//pread64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
+//pread(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
-//pwrite64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
+//pwrite(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
//sys Seek(fd int, offset int64, whence int) (off int64, err error)
-//lseek64(fd _C_int, offset Offset_t, whence _C_int) Offset_t
+//lseek(fd _C_int, offset Offset_t, whence _C_int) Offset_t
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
-//setrlimit64(resource int, rlim *Rlimit) _C_int
+//setrlimit(resource int, rlim *Rlimit) _C_int
//sys Stat(path string, stat *Stat_t) (err error)
-//stat64(path *byte, stat *Stat_t) _C_int
+//stat(path *byte, stat *Stat_t) _C_int
//sys Truncate(path string, length int64) (err error)
-//truncate64(path *byte, length Offset_t) _C_int
+//truncate(path *byte, length Offset_t) _C_int
diff --git a/libgo/runtime/go-varargs.c b/libgo/runtime/go-varargs.c
index f84860891e6..7efc9615985 100644
--- a/libgo/runtime/go-varargs.c
+++ b/libgo/runtime/go-varargs.c
@@ -84,7 +84,7 @@ __go_ioctl_ptr (int d, int request, void *arg)
int
__go_open64 (char *path, int mode, mode_t perm)
{
- return open64 (path, mode, perm);
+ return open (path, mode, perm);
}
#endif
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index 180f5c31d74..1d717d55c0e 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -366,7 +366,7 @@ typedef loff_t libgo_loff_t_type;
#endif
#if defined(HAVE_OFF64_T)
-typedef off64_t libgo_off_t_type;
+typedef off_t libgo_off_t_type;
#else
typedef off_t libgo_off_t_type;
#endif
@@ -398,13 +398,11 @@ typedef off_t libgo_off_t_type;
// From dirent.h
SREF(dirent);
-SREF(dirent64);
OTREF(DIR);
EREF(DT_UNKNOWN);
// From fcntl.h
SREF(flock);
-SREF(flock64);
// From ffi headers
SREF(_ffi_type);
@@ -485,11 +483,10 @@ EREF(SS_ONSTACK);
EREF(SEGV_MAPERR);
// From stat.h
-SREF(stat64);
+SREF(stat);
// From statfs.h
SREF(statfs);
-SREF(statfs64);
// From sysinfo.h
SREF(sysinfo);
@@ -519,7 +516,7 @@ EREF(PTRACE_PEEKTEXT);
// From sys/resource.h
SREF(rusage);
-SREF(rlimit64);
+SREF(rlimit);
EREF(RLIMIT_NOFILE);
EREF(PRIO_USER);
EREF(RUSAGE_SELF);
--
2.50.1
@@ -0,0 +1,32 @@
From 0e09546330c7500b0d6d4e6d4bbf4fe751d57c34 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 45862048abf..73155acd832 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.50.1
@@ -0,0 +1,113 @@
From 05b462e0a6de90c0d69a48ed9c58a6f76158344e Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Fri, 25 Jul 2025 02:41:46 -0700
Subject: [PATCH] static PIE: ensure -static reaches the linker
on some targets, the logic for the compiler option -static seems not
to be processed when -pie is present. rather than playing
whack-a-mole, just ensure LD_PIE_SPEC specs always pass -static to ld
if either -static or -static-pie is present on the compiler driver
command line.
this may produce redundant -static arguments but it doesn't matter.
---
gcc/common.opt | 4 ++--
gcc/config/gnu-user.h | 17 ++++++++---------
gcc/gcc.cc | 6 +++---
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index e65a575d9f8..7ad38711f6e 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3968,11 +3968,11 @@ Driver
no-pie
Driver RejectNegative Negative(shared)
-Don't create a dynamically linked position independent executable.
+Don't create a position independent executable.
pie
Driver RejectNegative Negative(no-pie)
-Create a dynamically linked position independent executable.
+Create a position independent executable.
static-pie
Driver RejectNegative Negative(pie)
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 0426efdb8c3..866c8bd77f2 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -51,13 +51,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define GNU_USER_TARGET_STARTFILE_SPEC \
"%{shared:; \
pg|p|profile:%{static-pie:grcrt1.o%s;:gcrt1.o%s}; \
- static:crt1.o%s; \
- static-pie:rcrt1.o%s; \
+ static|static-pie:%{" PIE_SPEC ":rcrt1.o%s;:crt1.o%s}; \
" PIE_SPEC ":Scrt1.o%s; \
:crt1.o%s} " \
GNU_USER_TARGET_CRTI " \
- %{static:crtbeginT.o%s; \
- shared|static-pie|" PIE_SPEC ":crtbeginS.o%s; \
+ %{shared|" PIE_SPEC ":crtbeginS.o%s; \
+ static:crtbeginT.o%s; \
:crtbegin.o%s} \
%{fvtable-verify=none:%s; \
fvtable-verify=preinit:vtv_start_preinit.o%s; \
@@ -73,11 +72,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
GNU userspace "finalizer" file, `crtn.o'. */
#define GNU_USER_TARGET_ENDFILE_SPEC \
- "%{!static:%{fvtable-verify=none:%s; \
+ "%{static|static-pie:; \
+ fvtable-verify=none:%s; \
fvtable-verify=preinit:vtv_end_preinit.o%s; \
- fvtable-verify=std:vtv_end.o%s}} \
- %{static:crtend.o%s; \
- shared|static-pie|" PIE_SPEC ":crtendS.o%s; \
+ fvtable-verify=std:vtv_end.o%s} \
+ %{shared|" PIE_SPEC ":crtendS.o%s; \
:crtend.o%s} " \
GNU_USER_TARGET_CRTN " " \
CRTOFFLOADEND
@@ -106,7 +105,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+#define LINK_EH_SPEC "%{!static|" PIE_SPEC ":--eh-frame-hdr} "
#endif
#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index e9f78f0f4c1..767ff65f348 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1056,7 +1056,7 @@ proper position among the other output files. */
#define NO_FPIE_AND_FPIC_SPEC NO_FPIE_SPEC "|" NO_FPIC_SPEC
#define FPIE_OR_FPIC_SPEC NO_FPIE_AND_FPIC_SPEC ":;"
#else
-#define PIE_SPEC "pie"
+#define PIE_SPEC "pie|static-pie"
#define FPIE1_SPEC "fpie"
#define NO_FPIE1_SPEC FPIE1_SPEC ":;"
#define FPIE2_SPEC "fPIE"
@@ -1080,12 +1080,12 @@ proper position among the other output files. */
#ifndef LINK_PIE_SPEC
#ifdef HAVE_LD_PIE
#ifndef LD_PIE_SPEC
-#define LD_PIE_SPEC "-pie"
+#define LD_PIE_SPEC "-pie %{static|static-pie:--no-dynamic-linker -z text -Bsymbolic -static}"
#endif
#else
#define LD_PIE_SPEC ""
#endif
-#define LINK_PIE_SPEC "%{static|shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
+#define LINK_PIE_SPEC "%{shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
#endif
#ifndef LINK_BUILDID_SPEC
--
2.50.1
@@ -0,0 +1,77 @@
From 4c8cc9a8621b91f8aa83d8ca81f22b00a98d9fa9 Mon Sep 17 00:00:00 2001
From: Andrew Pinski <quic_apinski@quicinc.com>
Date: Fri, 28 Mar 2025 17:25:56 -0700
Subject: [PATCH] except: Don't use the cached value of the gcc_except_table
section for comdat functions [PR119507]
This has been broken since GCC started to put the comdat functions' gcc_except_table into their
own section; r0-118218-g3e6011cfebedfb. What would happen is after a non-comdat function is processed,
the cached value would always be used even for comdat function. Instead we should create a new
section for comdat functions.
OK? Bootstrapped and tested on x86_64-linux-gnu.
PR middle-end/119507
gcc/ChangeLog:
* except.cc (switch_to_exception_section): Don't use the cached section if
the current function is in comdat.
gcc/testsuite/ChangeLog:
* g++.dg/eh/pr119507.C: New test.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
---
gcc/except.cc | 9 ++++++++-
gcc/testsuite/g++.dg/eh/pr119507.C | 17 +++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/g++.dg/eh/pr119507.C
diff --git a/gcc/except.cc b/gcc/except.cc
index 205811c6567..0fe1e093489 100644
--- a/gcc/except.cc
+++ b/gcc/except.cc
@@ -2949,7 +2949,14 @@ switch_to_exception_section (const char * ARG_UNUSED (fnname))
{
section *s;
- if (exception_section)
+ if (exception_section
+ /* Don't use the cached section for comdat if it will be different. */
+#ifdef HAVE_LD_EH_GC_SECTIONS
+ && !(targetm_common.have_named_sections
+ && DECL_COMDAT_GROUP (current_function_decl)
+ && HAVE_COMDAT_GROUP)
+#endif
+ )
s = exception_section;
else
{
diff --git a/gcc/testsuite/g++.dg/eh/pr119507.C b/gcc/testsuite/g++.dg/eh/pr119507.C
new file mode 100644
index 00000000000..50afa75a43f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/pr119507.C
@@ -0,0 +1,17 @@
+// { dg-do compile { target comdat_group } }
+// Force off function sections
+// Force on exceptions
+// { dg-options "-fno-function-sections -fexceptions" }
+// PR middle-end/119507
+
+
+inline int comdat() { try { throw 1; } catch (int) { return 1; } return 0; }
+int another_func_with_exception() { try { throw 1; } catch (int) { return 1; } return 0; }
+inline int comdat1() { try { throw 1; } catch (int) { return 1; } return 0; }
+int foo() { return comdat() + comdat1(); }
+
+// Make sure the gcc puts the exception table for both comdat and comdat1 in their own section
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table._Z6comdatv" 1 } }
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table._Z7comdat1v" 1 } }
+// There should be 3 exception tables,
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table" 3 } }
--
2.50.1
@@ -0,0 +1,164 @@
From a6c08fc7fe3a144ebd767cd52fe22043947655e9 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Sat, 26 Jul 2025 02:59:45 -0700
Subject: [PATCH] ada: libgnat: use stub symbolic module name functions
The "linux" implementation depends on glibc internals and accordingly
does not work on musl.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
---
gcc/ada/Makefile.rtl | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index cb41e6887cd..152ba70db4d 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1642,7 +1642,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
a-exetim.adb<libgnarl/a-exetim__posix.adb \
a-exetim.ads<libgnarl/a-exetim__default.ads \
s-linux.ads<libgnarl/s-linux.ads \
@@ -2014,7 +2014,7 @@ ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-s390.ads
ifeq ($(strip $(filter-out s390x,$(target_cpu))),)
@@ -2359,7 +2359,7 @@ ifeq ($(strip $(filter-out loongarch% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix.ads \
g-sercom.adb<libgnat/g-sercom__linux.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(GNATRTL_128BIT_PAIRS) \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
@@ -2407,7 +2407,7 @@ ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-mips.ads
ifeq ($(strip $(filter-out mips64% mipsisa64%,$(target_cpu))),)
@@ -2463,7 +2463,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-ppc.ads
@@ -2519,7 +2519,7 @@ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-arm.ads
@@ -2565,7 +2565,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2607,7 +2607,7 @@ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-sparc.ads
ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),)
@@ -2660,7 +2660,7 @@ ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-hppa.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
@@ -2697,7 +2697,7 @@ ifeq ($(strip $(filter-out m68k% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-m68k.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
@@ -2734,7 +2734,7 @@ ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-sh4.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-linux.adb
@@ -2779,7 +2779,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2859,7 +2859,7 @@ ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2904,7 +2904,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(SIMD_PATH_TARGET_PAIRS) \
@@ -2956,7 +2956,7 @@ ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(SIMD_PATH_TARGET_PAIRS) \
@@ -3000,7 +3000,7 @@ ifeq ($(strip $(filter-out riscv% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-riscv.ads
ifeq ($(strip $(filter-out riscv64,$(target_cpu))),)
--
2.50.1
@@ -0,0 +1,26 @@
From 4b5dfaaa043999f353ade7fc09e7f1bb4a6fe6db Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Sat, 26 Jul 2025 03:02:38 -0700
Subject: [PATCH] ada: libgnat: recognize linux-musleabi and linux-muslgnueabi
platforms for ARM
---
gcc/ada/Makefile.rtl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 152ba70db4d..89574cdfba7 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2500,7 +2500,7 @@ endif
# ARM linux, GNU eabi
ifeq ($(SELECTED_PAIRS),PAIRS_NONE)
-ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi% linux-musleabi% linux-muslgnueabi%,$(target_cpu) $(target_os))),)
SELECTED_PAIRS=arm-linux-gnueabi
--
2.50.1
+801
View File
@@ -0,0 +1,801 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen gcc-armhf
# Based on: main/gcc (from Alpine)
CTARGET_ARCH=armhf
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
LANG_D=false
LANG_OBJC=false
LANG_JAVA=false
LANG_GO=false
LANG_FORTRAN=false
LANG_ADA=false
options="!strip"
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
# when this variable matches "no*"
BOOTSTRAP="nobuildbase"
# abuild will only cross compile when this variable is set, but it
# needs to find a valid package database in there for dependency
# resolving, so we set it to /.
CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-armhf
pkgver=15.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
_pkgsnap="${pkgver##*_git}"
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armhf
pkgrel=2
pkgdesc="Stage2 cross-compiler for armhf"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-armhf mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
subpackages="g++-armhf:gpp libstdc++-dev-armhf:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
: "${LANG_OBJC:=true}"
: "${LANG_GO:=true}"
: "${LANG_FORTRAN:=true}"
: "${LANG_ADA:=true}"
: "${LANG_JIT:=true}"
_libgomp=true
_libgcc=false
_libatomic=true
_libitm=true
if [ "$CHOST" != "$CTARGET" ]; then
if [ "$BOOTSTRAP" = nolibc ]; then
LANG_CXX=false
LANG_D=false
LANG_ADA=false
_libgcc=false
_builddir="$srcdir/build-cross-pass2"
else
_builddir="$srcdir/build-cross-final"
fi
LANG_OBJC=false
LANG_GO=false
LANG_FORTRAN=false
LANG_JIT=false
_libgomp=false
_libatomic=false
_libitm=false
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
# reset target flags (should be set in crosscreate abuild)
# fixup flags. seems gcc treats CPPFLAGS as global without
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
export CFLAGS="$CPPFLAGS -g0 ${CFLAGS/-Werror=format-security/}"
export CXXFLAGS="$CPPFLAGS -g0 ${CXXFLAGS/-Werror=format-security/}"
unset CPPFLAGS
export CFLAGS_FOR_TARGET=" "
export CXXFLAGS_FOR_TARGET=" "
export LDFLAGS_FOR_TARGET=" "
STRIP_FOR_TARGET="$CTARGET-strip"
elif [ "$CBUILD" != "$CHOST" ]; then
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
# fixup flags. seems gcc treats CPPFLAGS as global without
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
export CFLAGS="$CPPFLAGS -g0 ${CFLAGS/-Werror=format-security/}"
export CXXFLAGS="$CPPFLAGS -g0 ${CXXFLAGS/-Werror=format-security/}"
unset CPPFLAGS
# reset flags and cc for build
export CC_FOR_BUILD="gcc"
export CXX_FOR_BUILD="g++"
export CFLAGS_FOR_BUILD=" "
export CXXFLAGS_FOR_BUILD=" "
export LDFLAGS_FOR_BUILD=" "
export CFLAGS_FOR_TARGET=" "
export CXXFLAGS_FOR_TARGET=" "
export LDFLAGS_FOR_TARGET=" "
# Languages that do not need bootstrapping
LANG_OBJC=false
LANG_GO=false
LANG_FORTRAN=false
LANG_JIT=false
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
_builddir="$srcdir/build-cross-native"
else
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
_builddir="$srcdir/build"
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
# pass -g0 by default to bypass -g, since we don't do debug
# if -dbg added, the -g is appended and overrides this
export CFLAGS="$CPPFLAGS -g0 ${CFLAGS/-Werror=format-security/} -O2"
export CXXFLAGS="$CPPFLAGS -g0 ${CXXFLAGS/-Werror=format-security/} -O2"
unset CPPFLAGS
# https://gcc.gnu.org/install/build.html
export CFLAGS_FOR_TARGET="$CFLAGS"
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
case "$CTARGET_ARCH" in
# GDC hasn't been ported to PowerPC (LIBDRUNTIME_ONLY=yes)
# See libphobos/configure.tgt in GCC sources for supported targets
# riscv fails with: error: static assert "unimplemented"
ppc*|riscv64) LANG_D=false ;;
# GDC does currently not work on 32-bit musl architectures.
# This is a known upstream issue.
# See: https://github.com/dlang/druntime/pull/3383
armhf|armv7|x86) LANG_D=false ;;
esac
# libitm has TEXTRELs in ARM build, so disable for now
case "$CTARGET_ARCH" in
arm*) _libitm=false ;;
mips*) _libitm=false ;;
riscv64) _libitm=false ;;
loongarch64) _libitm=false ;;
esac
# Internal libffi fails to build on MIPS at the moment, need to
# investigate further. We disable LANG_GO on mips64 as it requires
# the internal libffi.
case "$CTARGET_ARCH" in
mips*) LANG_GO=false ;;
loongarch64) LANG_GO=false ;;
esac
# Fortran uses libquadmath if toolchain has __float128
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
subpackages="$subpackages libgomp::$CTARGET_ARCH"
fi
_languages=c
if $LANG_CXX; then
_languages="$_languages,c++"
fi
if $LANG_D; then
subpackages="$subpackages gcc-gdc$_target:gdc"
_languages="$_languages,d"
makedepends_build="$makedepends_build libucontext-dev"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gdc-bootstrap"
subpackages="$subpackages libgphobos::$CTARGET_ARCH"
else
# shared libgphobos is for D programs to link against, so
# skip building that while cross-compiling the GDC compiler
makedepends_build="$makedepends_build gcc-gdc gcc-gdc$_cross"
fi
fi
if $LANG_OBJC; then
subpackages="$subpackages libobjc::$CTARGET_ARCH gcc-objc$_target:objc"
_languages="$_languages,objc"
fi
if $LANG_GO; then
subpackages="$subpackages libgo::$CTARGET_ARCH gcc-go$_target:go"
_languages="$_languages,go"
fi
if $LANG_FORTRAN; then
subpackages="$subpackages libgfortran::$CTARGET_ARCH gfortran$_target:gfortran"
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
if $LANG_JIT; then
subpackages="$subpackages libgccjit:jit libgccjit-dev:jitdev"
fi
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
# mirrored on dev.alpinelinux.org. Please ensure that the snapshot Git commit (as stated in the
# README) matches the base commit on the version-specific branch in the Git repository below.
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz"
#source="https://gcc.gnu.org/pub/gcc/snapshots/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz"
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
0006-Enable-Wformat-and-Wformat-security-by-default.patch
0007-Enable-Wtrampolines-by-default.patch
0008-gcc-disable-SSP-on-ffreestanding-nostdlib-and-nodefa.patch
0009-gcc-params-set-default-ssp-buffer-size-to-4.patch
0010-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
0011-Don-t-declare-asprintf-if-defined-as-a-macro.patch
0012-libiberty-copy-PIC-objects-during-build-process.patch
0013-libgcc_s.patch
0014-nopie.patch
0015-ada-fix-shared-linking.patch
0016-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
0017-add-fortify-headers-paths.patch
0018-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
0019-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
0020-aarch64-disable-multilib-support.patch
0021-s390x-disable-multilib-support.patch
0022-ppc64-le-disable-multilib-support.patch
0023-x86_64-disable-multilib-support.patch
0024-riscv-disable-multilib-support.patch
0025-always-build-libgcc_eh.a.patch
0026-ada-libgnarl-remove-use-of-glibc-specific-pthread_rw.patch
0027-ada-libgnarl-use-posix_openpt-instead-of-glibc-speci.patch
0028-ada-libgnarl-adaint-fix-sched.h-inclusion-for-musl.patch
0029-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
0030-configure-fix-detection-of-atomic-builtins-in-libato.patch
0031-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
0032-gdc-unconditionally-link-libgphobos-against-libucont.patch
0033-druntime-link-against-libucontext-on-all-platforms.patch
0034-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0035-libphobos-do-not-use-LFS64-symbols.patch
0036-libgo-fix-lfs64-use.patch
0037-loongarch-disable-multilib-support.patch
0038-static-PIE-ensure-static-reaches-the-linker.patch
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
"
# secfixes:
# 13.2.1_git20231014-r0:
# - CVE-2023-4039
# we build out-of-tree
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _bootstrap_configure=
local _jit_configure=
local _sanitizer_configure=
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6kz --with-tune=arm1176jzf-s --with-fpu=vfpv2 --with-float=hard --with-abi=aapcs-linux";;
armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
mips-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
mips64-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
mips64el-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
mipsel-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
powerpc-*-*-*) _arch_configure="--enable-secureplt --enable-decimal-float=no";;
powerpc64*-*-*-*) _arch_configure="--with-abi=elfv2 --enable-secureplt --enable-decimal-float=no --enable-targets=powerpcle-linux";;
i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
*) _sanitizer_configure="--disable-libsanitizer" ;;
esac
case "$CTARGET_ARCH" in
mips*) _hash_style_configure="--with-linker-hash-style=sysv" ;;
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
nolibc) _bootstrap_configure="--with-newlib --disable-shared --enable-threads=no" ;;
*)
# cross-bootstrap GDC with a static libphobos: due to GCC's
# ./configure not having a --disable-shared=libphobos option,
# we have to use --enable-shared with everything else instead.
if $LANG_D && [ "$CBUILD" != "$CTARGET" ]; then
_bootstrap_configure="--enable-shared=libgcc,libstdc++,libffi,zlib,boehm-gc,ada,libada,libgo,libobjc,libatomic,libgomp,libitm,libgfortran,libquadmath"
else
_bootstrap_configure="--enable-shared"
fi
_bootstrap_configure="$_bootstrap_configure --enable-threads --enable-tls"
;;
esac
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
msg "Building the following:"
echo ""
echo " CBUILD=$CBUILD"
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
echo ""
local version="Alpine $pkgver"
local gccconfiguration="
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--build=$CBUILD
--host=$CHOST
--target=$CTARGET
--enable-checking=release
--disable-cet
--disable-fixed-point
--disable-libstdcxx-pch
--disable-multilib
--disable-nls
--disable-werror
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
--enable-languages=$_languages
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
--disable-libssp
$_sanitizer_configure
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
--with-system-zlib
$_hash_style_configure
"
mkdir -p "$_builddir"
cd "$_builddir"
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
if $LANG_D && [ "$CBUILD" != "$CTARGET" ]; then
# cross-compiling libphobos with parallel make fails
make all-target-libphobos
fi
make
# we build gccjit separate to not build all of gcc with --enable-host-shared
# as doing so slows it down a few %, so for some quick if's here we gain
# free performance
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
--with-pkgversion="$version"
msg "building libgccjit"
make all-gcc
fi
}
package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
# symlink to vendor-less target triple for
# supporting clang --target's fallback match
# ref: https://gitlab.alpinelinux.org/alpine/aports/-/issues/16828
ln -s "$CTARGET" "$pkgdir/usr/lib/gcc/${CTARGET%%-*}-${CTARGET#*-*-}"
if $LANG_JIT; then
make -C "$_builddir"/libgccjit-build/gcc DESTDIR="$pkgdir" jit.install-common
fi
# we dont support gcj -static
# and saving 35MB is not bad.
find "$pkgdir" \( -name libgtkpeer.a \
-o -name libgjsmalsa.a \
-o -name libgij.a \) \
-delete
# strip debug info from some static libs
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgphobos.a -o -name libgdruntime.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
-a -type f \
-exec $STRIP_FOR_TARGET -g {} +
if $_libgomp; then
mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir
fi
if $_libitm; then
mv "$pkgdir"/usr/lib/libitm.spec "$pkgdir"/$_gcclibdir
fi
# remove ffi
rm -f "$pkgdir"/usr/lib/libffi* "$pkgdir"/usr/share/man/man3/ffi*
find "$pkgdir" -name 'ffi*.h' -delete
local gdblib=${_target:+$CTARGET/}lib
if [ -d "$pkgdir"/usr/$gdblib/ ]; then
for i in $(find "$pkgdir"/usr/$gdblib/ -type f -maxdepth 1 -name "*-gdb.py"); do
mkdir -p "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib
mv "$i" "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib/
done
fi
# move ada runtime libs
if $LANG_ADA; then
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
if [ -h "$so" ]; then
local _real=$(basename "$(readlink "$so")")
rm -f "$so"
echo "GROUP ($_real)" > "$so"
fi
done
else
# add c89/c99 wrapper scripts
cat >"$pkgdir"/usr/bin/c89 <<'EOF'
#!/bin/sh
_flavor="-std=c89"
for opt; do
case "$opt" in
-ansi|-std=c89|-std=iso9899:1990) _flavor="";;
-std=*) echo "$(basename $0) called with non ANSI/ISO C option $opt" >&2
exit 1;;
esac
done
exec gcc $_flavor ${1+"$@"}
EOF
cat >"$pkgdir"/usr/bin/c99 <<'EOF'
#!/bin/sh
_flavor="-std=c99"
for opt; do
case "$opt" in
-std=c99|-std=iso9899:1999) _flavor="";;
-std=*) echo "$(basename $0) called with non ISO C99 option $opt" >&2
exit 1;;
esac
done
exec gcc $_flavor ${1+"$@"}
EOF
chmod 755 "$pkgdir"/usr/bin/c?9
# install lto plugin so regular binutils may use it
mkdir -p "$pkgdir"/usr/lib/bfd-plugins
ln -s /$_gcclibexec/liblto_plugin.so "$pkgdir/usr/lib/bfd-plugins/"
fi
}
libatomic() {
pkgdesc="GCC Atomic library"
depends=
replaces="gcc"
amove usr/lib/libatomic.so.*
}
libcxx() {
pkgdesc="GNU C++ standard runtime library"
depends=
if [ "$CHOST" = "$CTARGET" ]; then
# verify that we are using clock_gettime rather than doing direct syscalls
# so we dont break 32 bit arches due to time64.
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
pkgdesc="GNU C++ standard runtime library (development files)"
depends=
replaces="g++"
amove usr/${_target:+$CTARGET/}lib/libstdc++.a \
usr/${_target:+$CTARGET/}lib/libstdc++exp.a \
usr/${_target:+$CTARGET/}lib/libstdc++.so \
usr/${_target:+$CTARGET/}lib/libstdc++fs.a \
usr/${_target:+$CTARGET/}lib/libsupc++.a \
usr/${_target:+$CTARGET/}include/c++
}
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
pkgdesc="GCC JIT Library"
depends=
amove usr/lib/libgccjit.so*
}
jitdev() {
pkgdesc="GCC JIT Library (development files)"
depends="libgccjit"
amove usr/include/libgccjit*.h
}
libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/libgcc_s.so.*
}
libgomp() {
pkgdesc="GCC shared-memory parallel programming API library"
depends=
replaces="gcc"
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
pkgdesc="GCC-based D language compiler"
depends="gcc$_target=$_gccrel musl-dev libucontext-dev"
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
amove usr/lib/libgo.so.*
}
go() {
pkgdesc="GCC Go frontend (intended for bootstrapping community/go)"
depends="gcc=$_gccrel libgo=$_gccrel !go"
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
amove usr/lib/libgfortran.so.*
}
libquadmath() {
replaces="gcc"
pkgdesc="128-bit math library for GCC"
depends=
amove usr/lib/libquadmath.so.*
}
gfortran() {
pkgdesc="GNU Fortran Compiler"
depends="gcc=$_gccrel libgfortran=$_gccrel"
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
amove usr/lib/libgna*.a
}
gnat() {
pkgdesc="Ada support for GCC"
depends="gcc=$_gccrel"
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
pkgdesc="$pkgdesc (gdb printers)"
install_if="$pkgname=$pkgver-r$pkgrel gdb"
amove \
usr/share/gdb/python/ \
usr/share/gcc-*/python/
}
sha512sums="
89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de gcc-15.2.0.tar.xz
fd5cebc5deb1d588583424acbc1b5a6d8d6f5b1bfa9f4bdbc082cfd406723f423d87011ee30e04ed18128a7ed8021cbfc9262becff5419125dc1afb6f407defa 0001-posix_memalign.patch
6634004cb9feea9ee0d063d6b6984d7db3b10c692b6139bb99169a4f2d74f0e10b5ca0ab31ce346ffef34b8eb9c3f536aa4d94bce1b27f8e0b8a9fc5cc4b7057 0002-gcc-poison-system-directories.patch
37e089791dbcbad73af866b662cda611dc0970d93e28251c7a9aa898db3b96446654e8b778d7866eb8550ba7f4a57cf22e8514d562bfed0c66613e65550d9c85 0003-specs-turn-on-Wl-z-now-by-default.patch
d4d5bfeb20a9fac968f37497d86d7eff4a9ac863e015dadbffae24c08236f5efde69b615d95191e2546672ce2d4b30d3627528c64a83fc64b715e8fa6fd4c372 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
4806687c806154dd3d5423ea9ef1203db344dfb8fd21f3eb3543d9f05f4dc01aacc4f012f45db8e890eeddc7b1c75ec06a6b29e29a1ef7b9ec6f853d1854cfd0 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
6b225df0dd76339b06d5efbe07edd6648391a7b9415a219041189c35c084ceffe8fb96b2660d60d62099e7afdfeb8e053622a2b6660d2e8a13adb924f4bc8c8a 0006-Enable-Wformat-and-Wformat-security-by-default.patch
e419b7f20a74384bfb1ac792e3625f9bfe69f8031c2c0beb23f4015df9d48a6c6f107d89bea3c20fa56309b022637863c13e90c1565d027eb47c08154389b7a0 0007-Enable-Wtrampolines-by-default.patch
e6307eec09196900bcd2c0154a62d6694576b4da48a1cf901750b97b4603cd694c4daee2476c33bce09f10bee92a72749face835eb18fbf2c2a50aa1dd251572 0008-gcc-disable-SSP-on-ffreestanding-nostdlib-and-nodefa.patch
969797f99602c119e1632f0c5be02a566be5fb4c7e59affefb5eb6084a06b97120d99d5ee63fef0dab6c0278c7cecf1d8caa53521cc5b6622de2aaa7deabf86e 0009-gcc-params-set-default-ssp-buffer-size-to-4.patch
c15f062790367c9e786a4933deec33931438680176ec752b172c2a0504463a23d588ead4350d32e474603750ceb130ba0ccadfcde601bcf8e2eabca5af8322d0 0010-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
03a1012f1022cd68cf08440428e7d6cbf65ea2184e4a088a55976f34af627d80f42f15f713841ec9cbfc4afa39117d4fc384c3f27a4f9ad0ff3947bd45b71c4a 0011-Don-t-declare-asprintf-if-defined-as-a-macro.patch
8f098de9fcf4bbece0923dc4a2acfc67cf751c1d5c007535c5d88b8637a4482c1a42d5721a2760127498e327f6983bbc865a592a8e0db9ef7efc0e36b6d4102f 0012-libiberty-copy-PIC-objects-during-build-process.patch
bbe2b561b5288ca724af37353e17b413df8bf247bce724391e75373aee5cdcdb85e6489d51622c11f4041ed8f317278cf687aee14dfc8756398f03f1a796feb9 0013-libgcc_s.patch
ae34ca2bc5a53ed1c832651e3f6425ca29b5873f1e112b45613277fb9611693be41986d5879593f09149777e3e57d04ba17b142c43eaa990375d31e4e0b4adde 0014-nopie.patch
2c91a1eadf7236efff42eb53037862a342807596e37c6cc3c270d25c2d89078bf8db68bb2e93e57a8ad39b3af825e33db72e2f48a6311951fff53776933bc48c 0015-ada-fix-shared-linking.patch
1366d696a952ed35e5e56ab5bd1eba67e58a8ce752c0ef7e7fe4ad3eef44f25ce6016342d11add9548f9e719dc9ee0772064dda68784257a1a3234ae5957f3fb 0016-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
af739373285e89a4ab0000042b537ff7197b0b366019b56991008c43f3d2b76709d472841cda40e9fb61e6f0dacc0fe8c6b888abb31f393ec1a87acc1c0585b3 0017-add-fortify-headers-paths.patch
c18f3eef4d7d6fcbfa64570edb71157a62dad1f3d7276f10fe3424e49caa33f57a0a5952f03189199472802a2dd966e4832789685a94911fe9a86bb1fd6c1d50 0018-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
341d39a40ffd896db152863c717798c6885bdde44c9ac645c5d099c2364cbd8f6f526f97cc98302c420682cb5d6d88bbe28d838c7141456f2ba5581f3edfd64f 0019-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
e603652f341909820789a2cec173b8e547ee607b040863f1745b998b8a69d51cb412a4ac55d2c9e3c5192cc298f6288f9dd48fa06fe53ba8f6b1cabbe61c997a 0020-aarch64-disable-multilib-support.patch
26819f3c3a5844c96cee89fc9766a4f8153e7bb22f6296c6c9fd6a13d45648e3f6c7059397ad7e5be66f55addc21054614b38f480b52a7c9a967cf389735644a 0021-s390x-disable-multilib-support.patch
8e6e6ed84c8cb39ecc35ad0986a91168fedbae2426c8ec1c83dec85a293777e0ec29eac13130193b1bdc2d98b6ffa180abf574dad70740d4720b4bfdab992ab8 0022-ppc64-le-disable-multilib-support.patch
264eaa54a76ec5a12294d91ad2f995eddac9210a569ba85aef27176cb015354aa427840bb22f1e3ba2f7761f6f85cc98ddb3b00584b295c6a10a9770c59a2607 0023-x86_64-disable-multilib-support.patch
47a1a407298b6c259d7faff774f26e4843c9d3764362d74230e7d3f77c46ea8bb51211e09a66bb51c04a9f276ea5b07570fb52312fdb1d354c72a0343bc40c57 0024-riscv-disable-multilib-support.patch
b86fcf40e75861bdffb00069d3a0c9cec3fe8042d49d6ce2beae48ffeadccc576b8ab36e5a85421db5cffeb080a75f3a66dbcbb825d7f4462d40ec621964efe3 0025-always-build-libgcc_eh.a.patch
1425543ce064bfd8e33d7e6e07f45cc16d94f156adcfe190c842722652d5ea0c9ba60f6a3e1b444bb0e5bc906ec4f9ca54720b306f274b441600b79bff47dc57 0026-ada-libgnarl-remove-use-of-glibc-specific-pthread_rw.patch
b8851d0e7fc66201e323007f7c1d702ea8a0d0405aa5945621128ebfb93afd967ec8b3ab6fd4ea779ec10dca2a32e1797f7a2622124ccf8ace2a7596f66ff0bf 0027-ada-libgnarl-use-posix_openpt-instead-of-glibc-speci.patch
12b09a171d61406a2bfa10bb25398cee8c92676b12506afe7aace7028e94cbf8d7df25f62ff7af07e8ed471c6edd3ab7811fa51dfaf3a221a6b367858b1f032c 0028-ada-libgnarl-adaint-fix-sched.h-inclusion-for-musl.patch
15bed06ee74a36e9f21f4b29d7bce9c4188769abb6391560e13ea6b165da51f5ae908e141de7510d3d7eec6b998d0fc53de1042fdb7bd056efa703d230a683b4 0029-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
4c5501256669fd33527a5394eaa4b84451ee341a943dd24a179b661d3c53ef70e87ed5d5f3e76c6c3f9cb79cb5d120ea40101278a7b9d04a55d9405e4cbf9796 0030-configure-fix-detection-of-atomic-builtins-in-libato.patch
eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd700e440763f4a72e29876f560e13e4f5e6de2a1d9438c2f6 0031-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
2b09f90d9cb417170060c8ce198bd4aa2e4ef163286c8f24f6e6c5a673ae80f5a883b078b1a5dd5fa71bc1502e08c886687072694da039eb82baa1ea1948ac2c 0032-gdc-unconditionally-link-libgphobos-against-libucont.patch
99c74242b6d79e6a814f1199b9fb0b56c6a43eb93e5d1a79b674cea750bb025363cdd1505d05cd2195a43c918831fa586c427556ee5bc826aa79cd82e7ee1c24 0033-druntime-link-against-libucontext-on-all-platforms.patch
4f8f7876bf8647cda47cbd2b145ff31efe2a7ac21c012c4134174f93482aad1fbab2592c66aacc3b05fccd1a694ff97511b794139db4aac719e243c114373240 0034-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0069da1d8cb9adb9bab081a34fec680a9ebb1236e606a2497e4565e99bef434518a0f06474a9a1fdfa70811ed3da5d35ca95d267268328f2764bf41c50e924de 0035-libphobos-do-not-use-LFS64-symbols.patch
1cbe85b63ef13bdf2804bfd3173998a6e86752d8ffc09d4cc75a9ba80b98aec5a04efa732bce97a2f50a90c84b92c442ca8f6639841fe7d6618f928ea65916a6 0036-libgo-fix-lfs64-use.patch
98fcd5b893a1646edab961a5d00246151c47b449f8eca99c51f4026ffdb53f60b5b9f6426437c0a6411342da10db8983e20337a29cd46ed22b70e0478573ea30 0037-loongarch-disable-multilib-support.patch
1ad48e39dab351b7bb3e17d9b4b8b78e7de7c736e212638c9d6874b1dde0360dcfc85586c39f515fbd2a6d9910fedc4f0c6ad7ff652b10a5c288c47173671ec7 0038-static-PIE-ensure-static-reaches-the-linker.patch
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
"
@@ -0,0 +1,130 @@
From 824eae920f0f64dd7687c969a2436b129161fdc9 Mon Sep 17 00:00:00 2001
From: Jinyang He <hejinyang@loongson.cn>
Date: Wed, 29 Oct 2025 16:07:35 +0800
Subject: [PATCH] LoongArch: Only allow valid binary op when optimize
conditional move
It is wrong that optimize from `if (cond) dest op= 1 << shift` to
`dest op= (cond ? 1 : 0) << shift` when `dest op 0 != dest`.
Like `and`, `mul` or `div`.
And in this optimization `mul` and `div` is optimized to shift.
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_expand_conditional_move): Only allow valid binary
op when optimize conditional move.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/conditional-move-opt-1.c: Remove mul.
* gcc.target/loongarch/conditional-move-opt-2.c: Remove and.
* gcc.target/loongarch/conditional-move-opt-3.c: New test.
Co-Authored-By: Peng Fan <fanpeng@loongson.cn>
---
gcc/config/loongarch/loongarch.cc | 26 ++++++++++++++++---
.../loongarch/conditional-move-opt-1.c | 4 +--
.../loongarch/conditional-move-opt-2.c | 2 +-
.../loongarch/conditional-move-opt-3.c | 14 ++++++++++
4 files changed, 40 insertions(+), 6 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc
index bdf290654..740c8611a 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -5533,12 +5533,32 @@ loongarch_expand_conditional_move (rtx *operands)
}
}
+ auto is_binary_op_0_keep_orig = [](enum rtx_code code)
+ {
+ switch (code)
+ {
+ case PLUS:
+ case MINUS:
+ case IOR:
+ case XOR:
+ case ROTATE:
+ case ROTATERT:
+ case ASHIFT:
+ case ASHIFTRT:
+ case LSHIFTRT:
+ return true;
+ default:
+ return false;
+ }
+ };
+
/* Check if the optimization conditions are met. */
if (value_if_true_insn
&& value_if_false_insn
- /* Make sure that value_if_false and var are the same. */
- && BINARY_P (value_if_true_insn_src
- = SET_SRC (single_set (value_if_true_insn)))
+ /* Make sure that the orig value OP 0 keep orig. */
+ && (value_if_true_insn_src
+ = SET_SRC (single_set (value_if_true_insn)))
+ && is_binary_op_0_keep_orig ( GET_CODE (value_if_true_insn_src))
/* Make sure that both value_if_true and value_if_false
has the same var. */
&& rtx_equal_p (XEXP (value_if_true_insn_src, 0),
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
index ed13471aa..47802aa96 100644
--- a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-1.c
@@ -27,7 +27,7 @@ void
test_lt ()
{
if (lm < ln)
- lr *= (1 << 16);
+ lr += (1 << 16);
lr += lm;
}
@@ -35,7 +35,7 @@ void
test_le ()
{
if (lm <= ln)
- lr = lm * ((long)1 << 32);
+ lr = lm + ((long)1 << 32);
else
lr = lm;
lr += lm;
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
index ac72d4d93..743fd5e67 100644
--- a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-2.c
@@ -29,7 +29,7 @@ void
test_lez ()
{
if (lm <= 0)
- lr &= (1 << 16);
+ lr |= (1 << 16);
lr += lm;
}
diff --git a/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
new file mode 100644
index 000000000..95887980c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/conditional-move-opt-3.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler "maskeqz" } } */
+/* { dg-final { scan-assembler "masknez" } } */
+
+extern long lm, ln, lr;
+
+void
+test_and ()
+{
+ if (lm < 0)
+ lr &= (1 << 16);
+ lr += lm;
+}
--
2.51.1
@@ -0,0 +1,42 @@
From 94cf7d2b3514ed3a4401861a519ead450e022afc Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index d1d79a32fc9..069c3bb8324 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
#include <stdlib.h>
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
- may not be visible. */
+ may not be visible and we can't pollute the namespace either. */
#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
+extern int _mm_posix_memalign (void **, size_t, size_t)
#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
#endif
+__asm__("posix_memalign");
static __inline void *
_mm_malloc (size_t __size, size_t __alignment)
@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment)
return malloc (__size);
if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
__alignment = sizeof (void *);
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
--
2.50.1
@@ -0,0 +1,77 @@
From 21b7d08714c4964403848db4144003835ff5245a Mon Sep 17 00:00:00 2001
From: Linsen Zhou <i@lin.moe>
Date: Fri, 17 Oct 2025 11:05:04 +0800
Subject: [PATCH] tree-object-size.cc: Fix assert constant offset in
check_for_plus_in_loops [PR122012]
After commit 51b85dfeb19652bf3e0aaec08828ba7cee1e641c, when the
pointer offset is a variable in the loop, the object size of the
pointer may also need to be reexamined.
Which make gcc_assert in the check_for_plus_in_loops failed.
gcc/ChangeLog:
PR tree-optimization/122012
* tree-object-size.cc (check_for_plus_in_loops): Skip check
for the variable offset
gcc/testsuite/ChangeLog:
PR tree-optimization/122012
* gcc.dg/torture/pr122012.c: New test.
Signed-off-by: Linsen Zhou <i@lin.moe>
(cherry picked from commit 82cefc4898d4ccabe76e28d6626b91ca9e998923)
---
gcc/testsuite/gcc.dg/torture/pr122012.c | 18 ++++++++++++++++++
gcc/tree-object-size.cc | 7 +++----
2 files changed, 21 insertions(+), 4 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/torture/pr122012.c
diff --git a/gcc/testsuite/gcc.dg/torture/pr122012.c b/gcc/testsuite/gcc.dg/torture/pr122012.c
new file mode 100644
index 00000000000..055915a1e98
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr122012.c
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+#include <stdlib.h>
+
+void foo();
+
+void test(size_t step) {
+ char *buf = malloc(64);
+ char *p = buf;
+ size_t i;
+
+ for(i = 0; i < 64; ++i) {
+ p += 4;
+ if (__builtin_object_size (p, 2) != 0)
+ foo();
+ p += step;
+ }
+ free(buf);
+}
diff --git a/gcc/tree-object-size.cc b/gcc/tree-object-size.cc
index 2d13ab79a84..76dc2446059 100644
--- a/gcc/tree-object-size.cc
+++ b/gcc/tree-object-size.cc
@@ -2153,12 +2153,11 @@ check_for_plus_in_loops (struct object_size_info *osi, tree var)
&& gimple_assign_rhs_code (stmt) == POINTER_PLUS_EXPR)
{
tree basevar = gimple_assign_rhs1 (stmt);
- tree cst = gimple_assign_rhs2 (stmt);
-
- gcc_assert (TREE_CODE (cst) == INTEGER_CST);
+ tree offset = gimple_assign_rhs2 (stmt);
/* Skip non-positive offsets. */
- if (integer_zerop (cst) || compare_tree_int (cst, offset_limit) > 0)
+ if (TREE_CODE (offset) != INTEGER_CST
+ || integer_zerop (offset) || compare_tree_int (offset, offset_limit) > 0)
return;
osi->depths[SSA_NAME_VERSION (basevar)] = 1;
--
2.51.0
@@ -0,0 +1,258 @@
From 0d5e04099a3d2609105719f7396a4ff941b873b6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 23 Jan 2025 17:12:51 -0800
Subject: [PATCH] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
/usr/include, /sw/include and /opt/include and then triggered a failure and
aborted.
Instead, we add the two missing items to the current scan. If the user
wants this to be a failure, they can add "-Werror=poison-system-directories".
Upstream-Status: Inappropriate [OE configuration]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: sunil dora <sunilkumar.dora@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gcc/common.opt | 4 ++++
gcc/config.in | 10 ++++++++++
gcc/configure | 19 +++++++++++++++++++
gcc/configure.ac | 16 ++++++++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 12 ++++++++++--
gcc/incpath.cc | 25 +++++++++++++++++++++++++
7 files changed, 93 insertions(+), 2 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index e3fa0dacec4..bea1adc0940 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -729,6 +729,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index a79c51adb2b..8a531ed591c 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -249,6 +249,16 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef POISON_BY_DEFAULT
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 16965953f05..0f4a5d52c30 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1051,6 +1051,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_host_pie
@@ -1828,6 +1829,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--enable-host-pie build host code as PIE
@@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" != "xno"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+if test "$enable_poison_system_directories" = "error"; then
+$as_echo "#define POISON_BY_DEFAULT 1" >>confdefs.h
+fi
+
+fi
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9f67e62950a..b0e3615e5aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7502,6 +7502,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories (no/yes/error)]),,
+ [enable_poison_system_directories=no])
+AC_MSG_NOTICE([poisoned directories $enable_poison_system_directories])
+if test "x${enable_poison_system_directories}" != "xno"; then
+ AC_MSG_NOTICE([poisoned directories enabled])
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+ if test $enable_poison_system_directories = "error"; then
+ AC_MSG_NOTICE([poisoned directories are fatal])
+ AC_DEFINE([POISON_BY_DEFAULT], [1], [Define to make poison warnings errors])
+ fi
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 72009c33cd0..29aea724731 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -405,6 +405,7 @@ Objective-C and Objective-C++ Dialects}.
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded
-Wparentheses -Wno-pedantic-ms-format
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast
+-Wno-poison-system-directories
-Wno-pragmas -Wno-pragma-once-outside-header -Wno-prio-ctor-dtor
-Wno-psabi
-Wredundant-decls -Wrestrict
@@ -10727,6 +10728,14 @@ an error. @option{Wint-to-pointer-cast} is enabled by default.
Suppress warnings from casts from a pointer to an integer type of a
different size.
+@opindex Wno-poison-system-directories
+@item -Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@opindex Winvalid-pch
@opindex Wno-invalid-pch
@item -Winvalid-pch
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 4fd87f2c4a1..79d4920a047 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -909,6 +909,12 @@ proper position among the other output files. */
#define ASM_MAP ""
#endif
+#ifdef POISON_BY_DEFAULT
+#define POISON_IS_ERROR " -Werror=poison-system-directories"
+#else
+#define POISON_IS_ERROR
+#endif
+
/* Assembler options for compressed debug sections. */
#if HAVE_LD_COMPRESS_DEBUG == 0
/* Reject if the linker cannot write compressed debug sections. */
@@ -1166,6 +1172,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
+ %{Wno-poison-system-directories:--no-poison-system-directories} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
@@ -1268,7 +1276,7 @@ static const char *cpp_options =
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
%{!fno-working-directory:-fworking-directory}}} %{O*}\
- %{undef} %{save-temps*:-fpch-preprocess}";
+ %{undef} %{save-temps*:-fpch-preprocess}" POISON_IS_ERROR;
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
@@ -1297,7 +1305,7 @@ static const char *cc1_options =
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
- %{pthread:-fprofile-update=prefer-atomic}}}";
+ %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR;
static const char *asm_options =
"%{-target-help:%:print-asm-header()} "
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index c1bbfd3872a..2cdbebc4c50 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head,
cur->name, xstrerror (errno));
reason = REASON_NOENT;
}
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ pcur = &cur->next;
+ continue;
+#endif
}
else if (!S_ISDIR (st.st_mode))
cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0,
@@ -411,6 +416,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
fprintf (stderr, _("End of #embed search list.\n"));
}
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[INC_QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
+ || (!strncmp (p->name, "/sw/include", 11))
+ || (!strncmp (p->name, "/opt/include", 12)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
--
2.50.1
@@ -0,0 +1,44 @@
From 90e8697dd88fd99ce2cf8739e95494853005377e Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
Binutils does not appear to have a similar option for enabling -z
now by default.
---
gcc/doc/invoke.texi | 3 +++
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 29aea724731..6fb3ab70cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -19477,6 +19477,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
+NOTE: In Alpine Linux, for LDFLAGS, the option
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
+
@opindex u
@item -u @var{symbol}
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 79d4920a047..74a356fdf5e 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1170,6 +1170,7 @@ proper position among the other output files. */
"%{flto|flto=*:%<fcompare-debug*} \
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "-z now " \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.50.1
@@ -0,0 +1,46 @@
From 17c9cf9272077bc7ac784daffd4c68ba1ce67a0d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC,
ObjC++, if the optimization level is > 0
---
gcc/c-family/c-cppbuiltin.cc | 4 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4589ee4a3a6..9edf095384c 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1581,6 +1581,10 @@ c_cpp_builtins (cpp_reader *pfile)
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+ /* Fortify Source enabled by default for optimization levels > 0 */
+ if (optimize)
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
+
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6fb3ab70cc7..799ce073dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12840,6 +12840,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
+set by default, and is activated when @option{-O} is set to 2 or higher.
+This enables additional compile-time and run-time checks for several libc
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
+@option{-D_FORTIFY_SOURCE=0}.
+
@opindex O3
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
2.50.1
@@ -0,0 +1,286 @@
From 95d8fac6247b2cba1142261cc95c21063539112a Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH] On linux targets pass --as-needed by default to the linker,
but always link the sanitizer libraries with --no-as-needed.
---
gcc/config/aarch64/aarch64-linux.h | 1 +
gcc/config/alpha/linux-elf.h | 2 +-
gcc/config/arm/linux-elf.h | 1 +
gcc/config/gnu-user.h | 6 +++---
gcc/config/i386/gnu-user.h | 2 +-
gcc/config/i386/gnu-user64.h | 1 +
gcc/config/ia64/linux.h | 2 +-
gcc/config/loongarch/gnu-user.h | 2 +-
gcc/config/mips/gnu-user.h | 1 +
gcc/config/riscv/linux.h | 1 +
gcc/config/rs6000/linux64.h | 4 ++--
gcc/config/rs6000/sysv4.h | 2 +-
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
15 files changed, 37 insertions(+), 20 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 116bb4e69f3..daf99f8dce9 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -39,6 +39,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --as-needed \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 3fd3b831166..0b4c2dccebe 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
#define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --as-needed %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index d4d389e2aa8..adccc0b11c2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
%{rdynamic:-export-dynamic} \
%{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
-X \
+ --as-needed \
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 4c4e31efa39..3c17ac6eade 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
"%{static-libasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBHWASAN_EARLY_SPEC
#define LIBHWASAN_EARLY_SPEC "%{!shared:libhwasan_preinit%O%s} " \
"%{static-libhwasan:%{!shared:" \
@@ -146,12 +146,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
"%{static-libtsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBLSAN_EARLY_SPEC
#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
"%{static-liblsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 7abfda53049..ceb8f855b7d 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
{ "link_emulation", GNU_USER_LINK_EMULATION },\
{ "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --as-needed %{shared:-shared} \
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abe714711bf..3ca128a79f5 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
"%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
%{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
%{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index a2494c214c4..e1a5d530cdf 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
index fbc75a90ad5..adbc4b7733f 100644
--- a/gcc/config/loongarch/gnu-user.h
+++ b/gcc/config/loongarch/gnu-user.h
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC \
- "%{G*} %{shared} -m " GNU_USER_LINK_EMULATION \
+ "%{G*} %{shared} --as-needed -m " GNU_USER_LINK_EMULATION \
"%{!shared: %{static} " \
"%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \
"-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 5a82508c113..6eee7cdc603 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC "\
%{G*} %{EB} %{EL} %{mips*} %{shared} \
+ -as-needed \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 9060c940a44..282c77b6a7b 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
"%{mabi=ilp32:_ilp32}"
#define LINK_SPEC "\
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
-X \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 0316d8cb65d..139e1b6796c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -378,13 +378,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
%(link_os_extra_spec32)"
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index afb5c6ad867..b64638fb25b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -781,7 +781,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --as-needed %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 2c3bca5dfcb..b90661247a4 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6d928846895..3cc05bb7240 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --as-needed %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 74a356fdf5e..fc9c7d15b04 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -774,8 +774,11 @@ proper position among the other output files. */
#ifdef LIBASAN_EARLY_SPEC
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -810,8 +813,11 @@ proper position among the other output files. */
#ifdef LIBTSAN_EARLY_SPEC
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -828,8 +834,11 @@ proper position among the other output files. */
#ifdef LIBLSAN_EARLY_SPEC
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -844,8 +853,11 @@ proper position among the other output files. */
#define STATIC_LIBUBSAN_LIBS \
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -0,0 +1,34 @@
From 58a94690d4dd7b34543d9d154abc96d2d90d3b32 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 75b6531860e..78830ce4b42 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -805,7 +805,7 @@ Warn about function calls with format strings that write past the end
of the destination region.
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions.
Wformat-signedness
@@ -830,7 +830,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wframe-address
--
2.50.1
@@ -0,0 +1,25 @@
From b2a755b671d88c34402290d7d769232e01aed350 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:44:20 -0700
Subject: [PATCH] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index bea1adc0940..e65a575d9f8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -829,7 +829,7 @@ Common Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wa
Warn if a comparison always evaluates to true or false.
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
--
2.50.1
Loaded 100 of 6698 files, more files were not shown because too many files have changed in this diff. Show more