Compare commits

..
848 Commits
Author SHA1 Message Date
Bart Ribbers d81ea124b3 WIP: systemd-services: add tmpfiles configuration for all packages in a plasma-desktop install
As a first step towards
https://gitlab.postmarketos.org/postmarketOS/pmcr/-/blob/main/0002-hermetic-usr.md,
this packages tmpfiles.d configuration for all packages installed by
default in a Qemu amd64 plasma-desktop installation.

The end goal of this commit is to make it possible to do a `rm -r /etc`
after having copied the entirety of it to /usr/share/factory and have
it be repopulated on the next boot automatically by systemd-tmpfiles.
2025-10-07 19:05:59 +02:00
postmarketOS CI 0055341870 linux-next: upgrade to next-20251007 2025-10-07 15:49:47 +00:00
Robert Eckelmann d251d507d1 CI: correct description of docs build tools
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7151>
2025-10-07 14:30:44 +00:00
Robert Eckelmann 0b2a826aa1 docs: fix template URI
this should fix the docs CI issue discovered in !7104

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7151>
2025-10-07 14:30:44 +00:00
Raymond Hackley 4626b4567c samsung-fortuna: rename gpu_accelerated to drm in deviceinfo
Link: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/commit/d7b12d98e67d6eb9b5813cb9e8f15578317e490f
2025-10-07 09:34:32 +00:00
Raymond Hackley 9647ccc81b samsung-fortuna: drop 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).

Link: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3145
2025-10-07 09:34:31 +00:00
Raymond Hackley e26721e74f samsung-fortuna: fix deviceinfo_dtb_fortuna3g
Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4011
Fixes: 053a486241 ("linux-postmarketos-qcom-msm8916: upgrade to 6.12.1 (MR 5847)")
Link: https://lore.kernel.org/r/20240129143147.5058-1-raymondhackley@protonmail.com
2025-10-07 09:34:17 +00:00
Jane Rachinger b43fe351da systemd/postmarketos-base-systemd: add shutdown-splash preset
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6926>
2025-10-06 20:30:56 -07:00
Jane RachingerandClayton Craft 085729e888 main/postmarketos-bootsplash: fix start/stop conditions
This should now match behavior with plymouth. Some annoyances were
previously splash that is started multiple times or which isn't killed
when a rescue/emergency target requires.

Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6926>
2025-10-06 20:30:27 -07:00
postmarketOS CI c4edf061a5 linux-next: upgrade to next-20251006 2025-10-06 15:49:50 +00:00
Devon Lutz 9d83dc8f86 qcom-msm89{05,09,16,39}: Remove _pmb_select="soc-qcom-msm8916-rproc" from APKBUILD
Fix "pmbootstrap init" (provider package was removed).
postmarketOS/pmaports!7075 dropped support for selecting the msm8916
rproc option during "pmbootstrap init".

Fixes: 7a29af043c ("soc-qcom-msm8916: drop non-functional rproc selection")
[ci:ignore-count]
[Raymond: drop it everywhere]
Co-developed-by: Raymond Hackley <wonderfulShrineMaidenOfParadise@postmarketos.org>
2025-10-06 11:48:57 +00:00
Clayton Craft 66fcd0230d main/postmarketos-initramfs: handle reboot/poweroff
Needed in both init stages since they both can call fail_halt_boot.

fixes #4003

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7128
2025-10-05 21:22:40 -04:00
Oliver Smith 38245b028f cross/busybox-static-*: remove
The busybox-static packages were used by devices using the obscure
"isorec" boot method (that I originally introduced with the
samsung-i9100, based on what I saw in the downstream kernel repo at the
time IIRC). This method is fairly limited, e.g. we can't append a
cmdline easily according to MR 6917. After the samsung-i9100 has been
switched over to use u-boot in MR 6921, all users of busybox-static are
now in device/archived/. Let's remove the busybox-static packages so
there are less packages we need to sync with Alpine.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7145>
2025-10-05 22:48:50 +00:00
Eisenbahnfan d25acebd38 firmware-samsung-n2awifi: Fix pkgdesc and add myself as maintainer
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7142>
2025-10-05 17:19:02 +00:00
Achill Gilgenast cb8c5a0c57 systemd/phosh: upgrade to 0.50.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7143>
2025-10-05 17:53:18 +02:00
Vasiliy Doylov edbf3776c0 systemd/wireplumber: enable gobject introspectgion
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7141>
2025-10-05 17:27:04 +03:00
dabao1955 11ff09a6be linux-xiaomi-raphael: upgrade to 6.16.9
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7133>
2025-10-05 13:59:57 +00:00
Clayton Craft b4b65df84c main/postmarketos-ui-os-installer: use pmb's shallow clone option
This option was added in pmb 3.6, so the dependency is constrained to
that version and later

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7109>
2025-10-05 02:36:51 +00:00
Leah 74ae0e3867 linux-samsung-hero: Disable camera
Squashed with:
 - linux-samsung-herolte: Fix checksum

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7108>
2025-10-05 02:34:20 +00:00
Leah fd24da6e65 firmware-samsung-hero: Add missing firmware files
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7108>
2025-10-05 02:34:20 +00:00
Jens Reidel d173406ed9 ci: lib: Run jobs for ppc64le
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7140>
2025-10-04 15:53:42 +00:00
Jens Reidel b69cbb5367 pmaports.cfg: Mark ppc64le as supported
Now that the repositories are built and published, we can mark it as
supported.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7140>
2025-10-04 15:53:42 +00:00
Casey Connolly de53a5c455 linux-next: enable UCLAMP
Allows us to fix UI stutters with uclampset cli tool

Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7139>
2025-10-04 15:27:20 +02:00
Jens Reidel b69e4a50c8 systemd/systemd: enable for ppc64le and s390x
There is no reason to restrict this based on pmbootstrap support for
architectures. Also, both ppc64le and s390x are now supported in
pmbootstrap.

[ci:skip-vercheck]

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7134>
2025-10-03 20:18:29 +00:00
Oliver Smith 86b5702a7c temp/xkeyboard-config: upgrade to 2.46
Upgrade to the latest upstream version and sync with Alpine's APKBUILD.
Previously this was on a git commit in order to prepare upstreaming the
N900 config, which was not merged yet.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/e41306ff207a0d0a580c88ab8a9e7d6258281392
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7132>
2025-10-03 17:23:07 +00:00
postmarketOS CI 26a6bb521b linux-next: upgrade to next-20251003 2025-10-03 15:50:26 +00:00
Jens Reidel bde0d7ab17 systemd/systemd: use LLVM 21 instead of 15
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7130>
2025-10-03 11:59:31 +02:00
Bart Ribbers bbc4d2c9c7 systemd/postmarketos-base-systemd: enable xdg-user-dirs by default
xdg-user-dirs defines the location of default user folders like
~/Documents, ~/Downloads, ~/Music, etc, and when they don't exist it'll
make sure they're created.
These are folders people will expect to exist on any installation.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7129>
2025-10-02 23:33:35 +02:00
Clayton Craft 7b710e42f8 temp/petitboot: drop aport
This is now packaged in aports:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/90929

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7127>
2025-10-02 08:48:14 -07:00
Jens Reidel 4fafe35201 main/dint: fix and enable for all architectures
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7114>
2025-10-01 23:33:20 +00:00
Jens Reidel 948a5da202 mt6735-bootshim: Build with cross-native
This package hardcodes a --target for clang, so it can be built just
fine with the native clang and doesn't need to run in QEMU.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7124>
2025-10-01 23:13:43 +00:00
Jens Reidel 28d2a166f3 modem/libsamsung-ipc: fix build with GCC 15
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7125>
2025-10-01 23:11:38 +00:00
Jens Reidel c63615b9a6 main/f0rmz: fix build for ppc64le
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7126>
2025-10-01 23:04:04 +00:00
Jens Reidel 85c4e40ea8 main/unixbench: Upgrade to 6.0.0, fix build errors
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7123>
2025-10-01 23:34:17 +02:00
Oliver Smith 904e59fbc2 Reapply "main/bootchart2: upgrade to 0.14.9_git20220807"
This reverts commit e48304b386.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7120>
2025-10-01 19:56:10 +02:00
Oliver Smith fca3e7d7ee cross/crossdirect: fix "unsupported relocation"
Crossdirect redirects archivers (gz, bzip2, ...) to their native
versions when cross compiling. This works e.g. when extracting sources or
packing the .apks at the end of the build. But it currently fails when
such an archiver gets called during package().

For example with bootchart2:

  >>> bootchart2: Entering fakeroot...
  ...
  gzip -c bootchart2.1 > /home/pmos/build/pkg/bootchart2/usr/share/man/man1/bootchart2.1.gz
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 1
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6

Fix this by running the foreign arch version when it gets called in a
fakeroot.

Fixes: 8a7c9ce7 ("cross/crossdirect: run archivers natively too")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7120>
2025-10-01 19:56:10 +02:00
Oliver Smith e59bbc4d6e main/make3.81: remove
This package isn't used by anything and fails to build with current GCC
in Alpine. Let's drop it.

Related: https://builds.sr.ht/~postmarketos/job/1579283
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7119>
2025-10-01 17:22:12 +00:00
Oliver Smith 126a700fe6 main/postmarketos-initramfs: add postmarketos-base-nofde to makedepends
Fix bootstrapping a new repository by ensuring postmarketos-base-nofde
gets built by BPO beforehand, which now provides
postmarketos-fde-unlocker (as it should have all along).

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7118>
2025-10-01 16:40:23 +00:00
Oliver Smith e8fcd51ce2 main/postmarketos-base-nofde: provide postmarketos-fde-unlocker
This package was supposed to be a provider for postmarketos-fde-unlocker
(see description "Dummy unlocker package for systems without FDE") and
provider_priority=1 (whereas unl0kr has 1000)).

Fix this, so it is in theory possible to install pmOS without unl0kr
again if you want to save a little space and don't need FDE. More
importantly this also fixes bootstrapping a new reposiotry, as we can
now let postmarketos-initramfs makedepend on this package to ensure that
there is one provider for postmarketos-fde-unlocker.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7118>
2025-10-01 16:40:23 +00:00
Jens Reidel 58b529eb34 main/gcc{4,6}: disable on ppc64le and loongarch64
Neither ppc64le nor loongarch64 use vendor kernels, so the old GCCs
packages are not required.

They currently don't build either because of a couple of problems when
building with GCC 15. If we really want to, ppc64le can be re-enabled
once those problems are resolved, since it is supported since GCC 4.9.
loongarch64 needs a much newer GCC.

[ci:skip-vercheck]

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7117
[ci:skip-build]: just disabling some arches
2025-10-01 18:36:45 +02:00
Casey Connolly baa1376e80 linux-next: enable USB_SERIAL_SIMPLE
Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7105>
2025-10-01 14:48:49 +00:00
Casey Connolly d09c0bd7e8 kconfigcheck: enable USB simple serial console
Support for simple USB serial devices like those exposed by the Suzy-Q
cable.

Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7105>
2025-10-01 14:48:48 +00:00
Clayton Craft 6180adfdf2 temp/iio-sensor-proxy: upgrade to 3.8
I dropped 2 patches that seem to have been merged upstream.
I also updated the pkgver format to follow what we do for other forked
pkgs, so hopefully the upstream compat monitoring thing will detect when
this pkg is out of date again

This adds a new patch to fix #3787

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7099>
2025-10-01 14:46:19 +00:00
Clayton Craft c5ca2e756a kconfigcheck: add 'immutable' category
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6949>
2025-10-01 14:14:05 +02:00
Clayton Craft bde9dca58c ci: apkbuild lint: allow all valid kconfigcheck categories
This only allowed categories that were aliases (and only categories
under those), but stuff like `pmb:kconfigcheck-uefi` was flagged as an
invalid option by the linting.

This change parses aliases AND all categories in the kconfigcheck and
allows those as options.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7101>
2025-10-01 12:11:05 +00:00
Stefan Hansson 6e75e62302 CI: dint: don't mark job as failed if only warnings were raised
In the case of there being warnings but no errors, dint will set its
exit code to 2. We don't want the pipeline to fail in this case, so have
2 be an allowed failure exit code.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7083>
2025-10-01 12:03:26 +00:00
Clayton Craft fef14737eb kconfigcheck: use tristate values for options
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7080>
2025-09-30 14:00:12 -07:00
Luca Weiss 6890536ff6 main/mtk-mkimage: update url
The URL is dead, so link to an archive.org version of that page instead.

Fixes #3981

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7111>
2025-09-30 20:51:22 +00:00
Clayton Craft 3c93972ece apple-mac-aarch64: new device
I chose this device pkg name because it's descriptive, this pkg doesn't
support the 'idevice' things or x86_64 or PPC Macs. I didn't include
"generic" because, while it supports Macbooks, (in theory) Mac Minis
and something called Mac Studio, it's not really *that* generic for Mac
computers AND by having the manufacturer be "Apple" it'll show up in pmb
init under "apple." This will make it more intuitive to find, I think.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7048>
2025-09-30 20:32:09 +00:00
Clayton Craft eddbe346c9 linux-postmarketos-asahi: new aport
Alpine's linux-asahi kernel is missing some config for booting on the
macbook M2, and is missing config for supporting other pmOS features /
kconfig checks. It's easier to maintain this kernel downstream for now
so changes can be made easily to support this hardware and functionality
we need.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7048>
2025-09-30 20:32:09 +00:00
adamthiede bf0d85120d linux-postmarketos-mediatek-mt8173: upgrade to 6.17
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7096>
2025-09-30 05:37:31 +02:00
Igor Belwon e6c9934e90 linux-postmarketos-mediatek-mt6878: upgrade to v6.17
Upgrade the kernel to version 6.17. While we're at it, regenerate the
config, and adapt the build process to booting via U-Boot.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7097>
2025-09-29 13:52:02 -07:00
Igor Belwon 5c5ba015dc device-nothing-tetris: adapt to U-Boot
As a first-stage U-Boot port is now available for this device, adapt the
device package to use it.

NOTE: Currently, EFI boot is unsupported, because of this device having
to send a specific SMC command on kernel launch, if this is not done,
then the device will crash after ~30s with weird errors, and access to
peripherals shared with the Secure World (for example UFS) will be
unavailable. This is only a temporary workaround for the time being.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7097>
2025-09-29 13:52:02 -07:00
WeirdTreeThing aed75c5ae1 device-google-oriole: clean up cmdline
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7092>
2025-09-29 12:53:03 -07:00
WeirdTreeThing 0c22c84cfd device-google-raven: clean up cmdline
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7092>
2025-09-29 12:53:03 -07:00
WeirdTreeThing 6974c2df9d device-google-bluejay: clean up cmdline
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7092>
2025-09-29 12:53:03 -07:00
Clayton Craft 95a1a60e4b ci: wiki: support only running for changed devices
The device wiki check currently runs for *all* devices in any given
MR, and can sometimes fail (e.g. if someone edits the wiki for some
unrelated device.) It's not fair to block MRs for devices when the
check fails on unrelated devices. This changes the default behavior to
only run on devices that are changed in the branch. This also adds an
`--all` flag that restores the previous behavior, this could be run on
the pmaports master branch to test general compliance for all devices
without blocking MRs where the check fails for unrelated devices.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7098>
2025-09-29 12:46:33 -07:00
Nickolay Goppen fd7dd519c2 firmware-xiaomi-clover: Add Goodix touchscreen configuration file
This adds the config file for the Goodix GT9110 for clover-plus and includes it into initfs.
Also this follows up my rename.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7093>
2025-09-29 19:02:08 +03:00
postmarketOS CI 2b54a11df0 linux-next: upgrade to next-20250929 2025-09-29 15:49:55 +00:00
Arnav Singh eeaf2b2f8a linux-postmarketos-allwinner: upgrade to 6.17.0_git20250929
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7094>
2025-09-29 15:10:29 +00:00
Stefan Hansson d3aa885f81 main/postmarketos-mkinitfs: link to project repo
Makes it easy to find relevant information about the program.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7095>
2025-09-29 10:18:18 +02:00
Jens Reidel 7639446782 systemd/systemd-services: don't start hexagonrpcd-adsp-rootpd on devices with SDSP
Apparently hexagonrpcd cannot serve the ADSP rootpd on SDM845 devices at
this time, so let's prevent the service from starting on devices with an
SDSP. It can always be re-enabled at a later time.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7090>
2025-09-27 23:08:51 +02:00
Jan Jasper de Kroon 580eb45f97 linux-pine64-pinephonepro: upgrade to 6.16.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7071>
2025-09-27 18:13:32 +00:00
Ingo Reitz 59174b9404 google-raven: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6728>
2025-09-27 16:21:55 +00:00
Ingo Reitz f8fc37a645 google-oriole: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6728>
2025-09-27 16:21:55 +00:00
Ingo ReitzandWeirdTreeThing aa74588036 google-bluejay: new device
Co-authored-by: WeirdTreeThing <bradyn127@protonmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6728>
2025-09-27 16:21:55 +00:00
Ingo ReitzandWeirdTreeThing d5765b86d9 soc-google-gs101: new aport
Co-authored-by: WeirdTreeThing <bradyn127@protonmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6728>
2025-09-27 16:21:55 +00:00
Ingo ReitzandWeirdTreeThing 0ad292a810 linux-postmarketos-gs101: new aport
Co-authored-by: WeirdTreeThing <bradyn127@protonmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6728>
2025-09-27 16:21:55 +00:00
Jens Reidel a51ad1e3e3 ci: fix path type in test_aports_ui
pmb.parse.apkbuild expects a Path object as the input type, but we
currently pass it a str. Since we already construct a Path, we can
simplify this and fix a type error encountered upon parsing the
APKBUILD.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7089>
2025-09-26 21:03:23 +02:00
Clayton Craft 2be943f936 main/f0rmz: new aport
This will be used for first boot setup in the initramfs

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7082>
2025-09-26 16:08:24 +00:00
Jens Reidel 70dc44a865 linux-postmarketos-qcom-sm7150: Fix Tianma panel for xiaomi-surya
Cherry-pick a patch that fixes a typo in the compatible string that
would result in the panel driver not being probed.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7088>
2025-09-26 17:55:39 +02:00
postmarketOS CI 8ed134588e linux-next: upgrade to next-20250926 2025-09-26 15:50:16 +00:00
Clayton Craft c4e1b0d448 systemd/systemd-services: add generator to set user for plasma-mobile service
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7057>
2025-09-26 07:35:29 -07:00
Clayton Craft d5fc83b7af systemd/systemd-services: add rtkit sysusers config
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7057>
2025-09-26 07:35:13 -07:00
dux55 2997ff5a18 jackpotlte: Fix for error that generated boot/kernel image is too large for boot partition.
Fixed failed pipeline

Fixed failed pipeline 2

Fixed failed pipeline 3

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7068>
2025-09-26 12:48:53 +00:00
Stefan Hansson 66f4974f7b main/dint: upgrade to 0.0.1_git20250925
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7084>
2025-09-26 12:41:39 +00:00
Clayton Craft 4d97758b44 main/postmarketos-mkinitfs: upgrade to 2.7.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7087>
2025-09-26 12:39:46 +00:00
Clayton Craft a7aa4f979b main/postmarketos-install-recommends: upgrade to 0.2
Features:

- Make prompting optional / disabled by default
- Implement shallow initial clone for pmaports
- Support running as root user

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7086>
2025-09-26 07:31:42 +00:00
postmarketOS CI 7edabc6655 linux-next: upgrade to next-20250925 2025-09-26 04:52:48 +00:00
Ingo Reitz 833bbb3a93 kconfigcheck: drop HID_PICOLCD_FB
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7043>
2025-09-26 02:25:56 +00:00
Clayton Craft 2fe8c34193 ci: lib: check_changed_aports_versions: re-add upstream branch
This was effectively dropped in bc3fb78958, but broke later use of the
'upstream' branch.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 15:22:07 -07:00
Jens Reidel d228485150 alsa-ucm-conf-qcom-sm7150: fix davinci audio channels
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:39:39 +02:00
Jens Reidel cbf9ace0e6 device-qcom-sm7150: overhaul and use packaged firmware
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:39:39 +02:00
Jens Reidel 71fd1ac99d firmware-qcom-sm7150: new aport
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:39:39 +02:00
Jens Reidel 8eb025b946 firmware-google-sunfish: new aport
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:11:22 +02:00
Jens Reidel 8cc3e57516 firmware-xiaomi-sweet: new aport
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:11:18 +02:00
Jens Reidel 3b2cd134e4 firmware-xiaomi-surya: new aport
pkgver starts at 3 because this package already existed in the past with
pkgver of 2.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:11:15 +02:00
Jens Reidel 42ecd4e4cc firmware-xiaomi-davinci: new aport
pkgver starts at 3 because this package already existed in the past with
pkgver of 2.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:10:31 +02:00
Jens Reidel 7401858932 linux-postmarketos-qcom-sm7150: Upgrade to 6.17.0_rc7
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 23:10:03 +02:00
Pablo Correa Gómez bc3fb78958 ci: lib: integrate add_upstream_git_remote into get_base_commit
add_upstream_git_remote was just being run at beginning of every
method using get_changed_packages or get_changed_files, to have
upstream available to use get_base_commit. So then, just move it to
get_base_commit. As a positive side-effect, since the previous commit
get_base_commit will just use the gitlab variable if available. So in
CI we will just completely avoid running these two commands!

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:53 +00:00
Pablo Correa Gómez 7bf7616490 ci: common: don't run git if we can just get the base sha from gitlab
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:53 +00:00
Pablo Correa Gómez 1d6eea7261 ci: common: remove unused import
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:49 +00:00
Pablo Correa Gómez 028f417255 ci: pytest.sh: remove unnecessary workaround
The issue has been closed, and the test runs successfully

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:46 +00:00
Pablo Correa Gómez b1e18658c2 ci: test_ui: only run for changed ui packages
Previously, this test would 12 to 16 seconds to run locally, and
having it run unconditionally slows CI (it's always the last test in
the pipelines). This commit changes it to only run on changed UI
packages, speeding up the pytest CI by more than 75% in most situations.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:46 +00:00
Pablo Correa Gómez 3c19b268c2 docs/merging-rules: update backporting information
We haven't released service packs in years, so there's no point to
document them as a process.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:33 +00:00
Pablo Correa Gómez c42e5e9a32 ci: make the pipeline trigger on the default branch
So that we can deploy docs. In the process, replace "master" with
CI_DEFAULT_BRANCH, so it does not break when we rename.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:33 +00:00
Pablo Correa Gómez f332f1b306 docs: add review and merging guidelines specific to pmaports
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:33 +00:00
Pablo Correa Gómez 8a9814ddc3 docs/device-categorization: avoid nesting and repetions
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:30 +00:00
Pablo Correa Gómez 22e782faae githooks: add docs prefix
In the process, update the README to point to how to add the githooks
folder. I had to go to aports to find the command.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:27 +00:00
Pablo Correa Gómez 6adc515825 docs/device-categorization: remove subjective image-building requirement
This is not something we can measure or reason about, since "obscure"
is very subjective. An alternative of using "multiple users" has also
been discarded, since we don't have a way to measure that either for
now.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7077>
2025-09-25 19:55:23 +00:00
Clayton Craft d752a57ce2 systemd: udev: explicitly depend on kmod-lib
This fixes an issue where the mkosi-generated initrd fails to load udev
because libkmod is not installed when systemd-udevd is installed.

For pmOS installs/initramfs stuff, this change should be a no-op,
libkmod is already pulled in by other things and our initramfs config
includes the library manually.

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

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7079>
2025-09-25 16:15:49 +00:00
André Apitzsch 7a29af043c soc-qcom-msm8916: drop non-functional rproc selection
lk2nd does no longer support mode selection based on
/boot/lk2nd_rproc_mode.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7075>
2025-09-25 16:13:21 +00:00
faveoled bc7ba3073e starway-andromeda-s8: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7074>
2025-09-25 16:10:54 +00:00
Jens Reidel e720d6509c linux-postmarketos-qcom-sdm845: Add patch to fix compatible strings for beryllium
The patch fixes the compatibles to allow hexagonrpcd to guess the
HexagonFS path without any configuration.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:40:11 +02:00
Jens Reidel 8ee1b55853 firmware-xiaomi-elish: fix HexagonFS directory location
Fix the location of the HexagonFS files to match the vendor name of the
model string. This lets hexagonrpcd guess the location without any
configuration.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:27:59 +02:00
Jens Reidel 7fcc44e45f firmware-oneplus-sdm845: fix HexagonFS directory location
Create two symlinks to allow hexagonrpcd to guess the location of the
HexagonFS from the devicetree compatible.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:26:29 +02:00
Jens Reidel ed8a7fe409 firmware-fairphone-fp5: fix HexagonFS directory location
This lets hexagonrpcd guess the location from the compatible string in
the devicetree successfully.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:07:33 +02:00
Jens Reidel d7c47e1d55 firmware-fairphone-fp4: fix HexagonFS directory location
This lets hexagonrpcd guess the location from the compatible string in
the devicetree successfully.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:48 +02:00
Jens Reidel 7d315a8a95 firmware-ayn-odin: fix HexagonFS directory location
Change it from /usr/share/qcom/sdm845/AYN/Odin to
/usr/share/qcom/sdm845/AYN/odin to make hexagonrpcd able to guess the
directory.

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:43 +02:00
Richard Acayan 8e1053a477 firmware-google-sargo: add hexagonrpc symlinks for bonito and dtbo
The vendor DTBO (which may remain on some devices for convenience) uses
a "google,b4s4-sdm670" compatible. The Pixel 3a XL uses "google,bonito".
Add symlinks for these device trees.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:40 +02:00
Jens Reidel acae9b289f systemd/systemd-services: let hexagonrpcd guess the firmware directory
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:35 +02:00
postmarketOS CI 2340c05b60 linux-next: upgrade to next-20250924 2025-09-24 15:52:18 +00:00
Pablo Correa Gómez ce47303e35 ci: add job to build docs and trigger handbook pipeline for deployment
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7065

[ci:skip-build]: already built successfully in CI
2025-09-24 12:37:31 +02:00
Pablo Correa Gómez ca97b715c7 ci: ignore docs while checking for files in packages
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7065
2025-09-24 12:37:31 +02:00
Pablo Correa Gómez b4283dcbc9 docs: initial documentation for pmaports
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7065
2025-09-24 12:37:31 +02:00
postmarketOS CI 6031c93852 linux-next: upgrade to next-20250923 2025-09-24 04:50:43 +00:00
Duje Mihanović fd0fb50ca8 device: Move MSM GPU compile fix to shared patches
The downstream KGSL patch is shared by a ton of devices, make it shared.

xiaomi-aries is exempt as it has a different path for the KGSL driver.

[ci:skip-build] # No functional changes
[ci:skip-vercheck] # See above

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7073>
2025-09-23 20:16:11 +00:00
Duje Mihanović 7347015c0c device: Move ftrace static inline patch to shared patches
This patch is shared by a few devices, make it shared.

[ci:skip-build] # No functional changes
[ci:skip-vercheck] # See above

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7073>
2025-09-23 20:16:11 +00:00
Jan Jasper de Kroon 77b82749b8 device-pine64-pinephonepro: build rockchip-isp1 into initramfs
Add rockchip-isp1 to modules-initfs as a workaround for display initialization
issues on kernel 6.11.11. Without the ISP driver built into initramfs, the
unl0kr screen fails to display during early boot when disk encryption is
enabled, though the input still works. Building rockchip-isp1 into initramfs
ensures proper display initialization.

This is a temporary workaround until the underlying power domain or clock
synchronization issue between the display and camera subsystems which I suspect
can be properly investigated and fixed.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5955>
2025-09-23 12:44:29 +02:00
Clayton Craft 4e6ec748a4 main/postmarketos-ui-cosmic: add cosmic-initial-setup to pmb_recommends
This app/config wizard runs when COSMIC starts for the first time, and
it helpful for guiding folks through configuring the DE.

[ci:skip-vercheck] only changing pmb_recommends

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7067>
2025-09-23 09:56:14 +00:00
Joel Selvaraj 8a55beb25a linux-postmarketos-qcom-sdm845: upgrade to 6.16.7 stable release
Also contains fix for compilation issue reported in https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3952

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7062>
2025-09-23 08:13:09 +00:00
Clayton Craft 6485ca2e01 main/postmarketos-ui-os-installer: add support for COSMIC UI
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7054>
2025-09-22 16:04:05 +00:00
postmarketOS CI ab9c37daa6 linux-next: upgrade to next-20250922 2025-09-22 16:00:13 +00:00
Duje Mihanović 6f27d8084c lg-vee3e: Fix port
Use gcc6 and add a few shared patches to make the kernel (and
menuconfig) build again. Since it now works, move the aport back to
downstream.

The "new" initramfs does not work without an extra initfs, so enable
that. Delete a few redundant deviceinfo properties while at it.

Finally, change the red tint fix to a Kconfig option instead of a patch.

[ci:skip-vercheck] # Package moved, complains despite pkgrel bump

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7064>
2025-09-21 16:09:21 +02:00
Stefan Hansson 2745f5dbcb main/dint: upgrade to 0.0.1_git20250920
Improves comment linting.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7066>
2025-09-20 18:58:29 +02:00
Stefan Hansson aa74915a68 CI: Add deviceinfo linting via dint
Needs https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2679
to run locally.

Tested and works locally with 'pmbootstrap ci' as well as in GitLab CI.

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

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7006>
2025-09-20 09:30:46 +00:00
postmarketOS CI 17fcf091b2 linux-next: upgrade to next-20250919 2025-09-19 15:50:26 +00:00
AutumnSpark1226 142d967a54 device-samsung-kyleprods: add proprietary wifi firmware
use firmware package shared with kylepro

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7056>
2025-09-19 08:49:45 +00:00
AutumnSpark1226 1ee1c994e5 firmware-samsung-kyleproxx: rename from firmware-samsung-kylepro; device-samsung-kylepro: use renamed firmware package as direct dependency and remove firmware subpackage
Since kylepro and kyleprods are very similar devices (they also share the same kernel), the firmware package can be used for both.
The nonfree firmware subpackage is redundant, so device-samsung-kylepro directly depends on firmware-samsung-kyleproxx.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7056>
2025-09-19 08:49:45 +00:00
Markus Göllnitz 3253af8cdb {temp,systemd}/gnome-shell-mobile: backport GIRepository 2.0 patches for GJS >= 1.85.90 support
GJS 1.86 was released with a port from
libgirepository-1.0 to libgirepository-2.0. That port
requires changes in gnome-shell. However, for now, there
is no gnome-shell-mobile based on 49, so as a hot fix,
this is a backport of those patches only.

Without these, the GNOME Shell will not even get beyond
main.js and as such is unusable even for gdm.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7061>
2025-09-18 20:46:16 +00:00
Oliver Smith 219e9e5e8a cross/systemd-boot-x86: upgrade to 258
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/be9e1474db71102756a209a31e39085a67b16305
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7060>
2025-09-18 19:47:25 +02:00
Jack Knightly ecd11e3acc firmware-samsung-midas: remove unnecessary blobs
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7045>
2025-09-17 18:28:14 +00:00
Jack Knightly 3e3100bb01 samsung-kona: fix firmware package info
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7045>
2025-09-17 18:28:14 +00:00
Jack Knightly ea3005e2dc samsung-kona: remove unhelpful partition flag
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7045>
2025-09-17 18:28:14 +00:00
postmarketOS CI aa4aa93513 linux-next: upgrade to next-20250917 2025-09-17 15:50:06 +00:00
Achill Gilgenast 043389df82 systemd/gnome-shell: disable riscv64 temporarily
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast aff18515ad systemd/mutter: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast 970d0af5c1 temp/gnome-shell-mobile: rebuild with gjs 1.85
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast 1dc84bc727 systemd/gnome-shell-mobile: rebuild with gjs 1.85
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast 26609fb910 systemd/gnome-shell: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Clayton Craft efa6cb6376 main/postmarketos-ui-os-installer: update UI screenshots
This updates the UI pictures/screenshots to use the latest from
https://wiki.postmarketos.org/wiki/Category:Interface

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7055>
2025-09-16 21:31:01 +00:00
Clayton Craft 4f29f7a07e systemd/postmarketos-base-systemd: add missing preset config
The trigger runs `systemctl preset cups.service`, but then if it runs
preset on the other two *afterwards* it will disable them (because no
explicit preset and we default to disable). This helps ensure they're
kept enabled.

The same seems to also happen for NetworkManager-wait-online and the
other things here, leading to them being accidentally disabled.

This also removes cups.service, it should be socket-activatable now that
cups.socket is enabled.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7029>
2025-09-16 13:37:11 -07:00
Achill Gilgenast 44204bed8d systemd/networkmanager: upgrade to 1.54.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7052>
2025-09-16 19:41:12 +00:00
Devin Lin 319c674ec9 systemd/drkonqi: Add gdb as dependency as well as needed python deps
GDB is needed, otherwise we can't send crash reports because it's unable to use any
debugger. elfutils is needed for eu-elflint used in the preamble.

Move the Python dependencies from checkdepends to depends because they
are also necessary for drkonqi during use.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7049>
2025-09-16 19:08:15 +00:00
Devin Lin 88c9deda2e postmarketos-base-ui-plasma: Enable sentry support for drkonqi
Always enable Sentry support for drkonqi, so that crash reports are sent
to KDE's bug dashboard.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7050>
2025-09-16 11:15:11 -04:00
Bart Ribbers c5501fc501 systemd/plasma*: upgrade to 6.4.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7041>
2025-09-15 11:56:01 +00:00
Clayton Craft 17abfd5b93 main/boot-deploy: upgrade to 0.20.2
- Fix crash from passing empty --header_version arg to mkbootimg

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7046>
2025-09-14 15:35:33 -07:00
Nikita Travkin 5533125d39 main/dtbloader: upgrade to 1.5.1
While at it, revert the "ar" workaround as the tool is installed
properly once again.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7042>
2025-09-14 15:54:13 +05:00
Devin Lin 9f2902ed95 postmarketos-base-systemd: Enable drkonqi
Enable necessary services for drkonqi on Plasma, see: https://invent.kde.org/plasma/drkonqi/-/blob/master/README.md?ref_type=heads

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7039>
2025-09-14 00:00:15 +00:00
Devin Lin 048afc96d5 postmarketos-base-ui-plasma: Add drkonqi with systemd
Add drkonqi for system process crash notifications, and allowing the
user to easily submit crash reports to KDE.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7031>
2025-09-13 07:04:52 -04:00
Clayton Craft df8113b676 systemd/pipewire: upgade to 1.4.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7036>
2025-09-12 16:32:51 +00:00
Clayton Craft ec97533995 systemd/cups: upgrade to 2.4.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7036>
2025-09-12 16:32:51 +00:00
Achill Gilgenast 55e34126a2 systemd/gnome-logs: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7035>
2025-09-12 16:30:27 +00:00
postmarketOS CI baf39aa5df linux-next: upgrade to next-20250912 2025-09-12 15:50:12 +00:00
Clayton Craft a8f9ec7f58 systemd/systemd-services: add generator for tinydm
Fixes #3897

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6903>
2025-09-12 13:51:17 +02:00
Pablo Correa Gómez dbd88de572 device-samsung-a40: stop depending on removed samsung-a40-headers
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7034>
2025-09-12 13:13:38 +02:00
Pablo Correa Gómez 5c1bb690bf linux-samsung-a40: do not provide linux-headers
Providing linux-headers is an unresolved issue (see
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/152)
and this is currently breaking the build with
"pmbootstrap config build_pkgs_on_install True".
So remove them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7034>
2025-09-12 13:06:26 +02:00
Danct12 a3d9cb4505 linux-pine64-pinetab2: Upgrade to kernel 6.15.10-danctnix1
The latest kernel supposedly improve WLAN driver stability and
fixed a major bug with VOP2 DRM driver where the display would not
come on after waking up from sleep.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6947>
2025-09-12 01:44:13 +00:00
Peter Mack 6050175407 main/mobile-config-firefox: upgrade to 4.6.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7032>
2025-09-11 22:41:18 +00:00
Aster Boese a6e89ad0b2 samsung-manta: /lib/{modprobe, modules-load}.d -> /usr/lib/{modprobe, modules-load}.d
The previous commit moving these to only `/lib/` was an error on my part for
misreading the manpages of kmod. Alpine *does* correctly handle modules under
`/usr/lib/`, so this is fine.

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

[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:32:07 +02:00
Aster Boese ef79caff27 samsung-goyawifi: /lib/{modprobe, modules-load}.d -> /usr/lib/{modprobe, modules-load}.d
The previous commit moving these to only `/lib/` was an error on my part for
misreading the manpages of kmod. Alpine *does* correctly handle modules under
`/usr/lib/`, so this is fine.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:31:37 +02:00
Aster Boese c24b54f075 google-nyan-big: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:42 +02:00
Aster Boese 50b81f3153 asus-me176c: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:42 +02:00
Aster Boese 7767d5b707 google-nyan-blaze: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:42 +02:00
Aster Boese 80d2717550 lg-hammerhead: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:42 +02:00
Aster Boese 1c5f9f545c pine64-pinenote: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:42 +02:00
Aster Boese a3f184cd27 samsung-hlte: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:30:07 +02:00
Aster Boese 53f37dc4b2 samsung-klte: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:19:32 +02:00
Aster Boese 9a2dce5125 samsung-degaswifi: /etc/modprobe.d -> /usr/lib/modprobe.d
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7033>
2025-09-12 00:12:12 +02:00
Dan 40d43a3731 samsung-a40: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6916

[ci:skip-build]: already built successfully in CI
2025-09-11 22:44:00 +02:00
postmarketOS CI a62beeff2a linux-next: upgrade to next-20250911 2025-09-11 15:51:14 +00:00
BetaRays a0e8b199be samsung-j5(x): depend on Samsung modem workaround
This was required to get a working modem on J5 2015 and 2016, see:
 - Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3860
 - https://wiki.postmarketos.org/wiki/Samsung_Galaxy_J5_2015_(samsung-j5)#Modem
 - https://wiki.postmarketos.org/wiki/Samsung_Galaxy_J5_2016_(samsung-j5x)#Modem

[Raymond: add j5]
Co-developed-by: Raymond Hackley <wonderfulShrineMaidenOfParadise@postmarketos.org>
2025-09-11 08:27:03 +00:00
Clayton Craft ce67c46bd4 main/devicepkg-utils: initialize SOURCE_DEVICEINFO_ROOT
Otherwise things that `set -u` (like boot-deploy) fail

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

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7028>
2025-09-10 09:18:57 -07:00
postmarketOS CI 1d6272d3e5 linux-next: upgrade to next-20250910 2025-09-10 15:51:53 +00:00
Luca Weiss c11b4a74f2 device-fairphone-fp3: modem, audio & qbootctl
While the modem has worked for quite a while on mainline, for some
reason some dependencies were never added to the device package.

And add the firmware for the audio amplifier on Fairphone 3 since it's
also supposed to work now.

And install qbootctl (and enable it by default) to mark the current slot
as successful to not get stuck in the bootloader after a couple of
reboots.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7010>
2025-09-10 15:20:51 +00:00
Luca Weiss 2cb88d5c6d firmware-fairphone-fp3: remove compat symlinks, add audio amp firmware
The symlinks are not needed anymore with the newest kernel, so clean
them up.

And package up the aw8898_cfg.bin firmware/config file for Fairphone 3.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7010>
2025-09-10 15:20:51 +00:00
Matus Mastena 92105c6dd5 samsung-a53x: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6987

[ci:skip-build]: already built successfully in CI
2025-09-10 17:12:48 +02:00
Stefan Hansson d9c3fa80a8 main/devicepkg-utils: allow overriding root directory in source_deviceinfo
This can be used to source the deviceinfo of an arbitrary rootfs, not
just the current one. In particular, this will be used in the
boot-deploy CI.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7026>
2025-09-10 14:43:34 +00:00
Luca Weiss c3f0506216 modem/rmtfs: upgrade to 1.1.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7009>
2025-09-10 11:42:12 +00:00
Luca Weiss 57a6a580f4 modem/pd-mapper: upgrade to 1.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7009>
2025-09-10 11:42:12 +00:00
dabao1955 daba0ccf59 linux-xiaomi-raphael: Fix adreno gpu firmware path, add led support and add camera kernel driver support
But dts not defined about camera port.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7024>
2025-09-10 11:38:35 +00:00
Stefan Hansson 0ecf51c505 main/boot-deploy: update link
Link to the new repo location instead of the old one that isn't updated
any more.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7022>
2025-09-10 08:23:47 +00:00
dabao1955 b49c136699 device-xiaomi-raphael: Fix missing firmware dep
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7020>
2025-09-10 08:21:22 +00:00
Igor Belwon 1aea255014 device-nothing-tetris: Enable flashing, sdcard and drm
Flashing is enabled because of lplk and no longer requiring an uniLoader
dependency.

SD Card was incorrectly set as unavailable before, this device has an SD
card slot, fix the property.

This device now supports display via simpledrmfb, so enable
deviceinfo_drm. Device can start Phosh, albeit with some graphical
glitches, and obviously no GPU (yet...).

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7018>
2025-09-10 08:18:24 +00:00
Igor Belwon 9b2e0d4e5e linux-postmarketos-mediatek-mt6878: upgrade to 6.17-rc5
This kernel upgrade BREAKS booting with uniLoader and now requires lplk
to boot. The change is documented on the Wiki.

While we're at it, enable simpledrm.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7018>
2025-09-10 08:18:24 +00:00
dabao1955 0ec0b702e8 firmware-xiaomi-raphael: upgrade to 20250908
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7015>
2025-09-10 10:14:48 +02:00
Henrik Grimler d2d455f8a4 extra-repos/systemd: add transmission-daemon service
Based on service script in transmission's repo [1], but with Type
changed to simple as alpine's transmission is built without sd_notify.

[1] https://github.com/transmission/transmission/blob/main/daemon/transmission-daemon.service.in

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7016>
2025-09-10 10:06:39 +02:00
Clayton Craft 2a4d4f8b61 systemd/postmarketos-base-systemd: fix handling of added and removed units in trigger
Apparently the eval trick doesn't work for passing vars if the var to
set is the same as the var for the value, in this case the caller of
this function was using `added_paths` and `removed_paths`. Shell scripts
suck.

This was missed in the tests because the unit tests call
trigger_unit_presets directly.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7025>
2025-09-09 17:19:47 +00:00
Markus Göllnitz 5c01db2b90 systemd/systemd-services: add vnstat service
Monitoring the network usage due to mobile connections
being metred is probably interesting to more users.

vnstat is also the basis for Usage's optional network
view.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7001>
2025-09-09 18:29:17 +02:00
postmarketOS CI 0b582b4d1e linux-next: upgrade to next-20250909 2025-09-09 15:49:45 +00:00
Clayton Craft aed388ea63 systemd/cups: disable examples / ipptool on all archs
Apparently this fails on other archs when cross compiling, not just
riscv64. I hit it locally when building x86_64 on aarch64. bpo is
hitting it when trying to build aarch64 on x86_64. This is kinda of a
big hammer, but I think we'll be able to drop this cups fork when abuild
systemd split func support is upstreamed, and bpo is currently blocked
trying to build changes to support our effort to upstream that abuild
patch.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7023>
2025-09-09 14:46:02 +00:00
Luca Weiss 8cd50f8c87 soc-qcom-msm8953: update ucm config
Update to the latest master branch in msm8953's alsa-ucm-conf.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7017>
2025-09-09 12:36:05 +00:00
Clayton Craft 21a5b834e6 main/boot-deploy: upgrade to 0.20.1
Fixes a breaking regression in 0.20.0

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7021
[ci:skip-build]: bpo hasn't built an abuild update for all archs, and will take a while to be done
2025-09-08 12:15:47 -07:00
Jens Reidel a42bce2407 cross/busybox-static-*: upgrade to 1.37.0-r23
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7019

[ci:skip-build]: already built successfully in CI
2025-09-08 20:41:46 +02:00
postmarketOS CI a012a36ccc linux-next: upgrade to next-20250908 2025-09-08 15:50:32 +00:00
Clayton Craft 2c9a5d2d1c main/boot-deploy: upgade to 0.20.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7014

[ci:skip-build]: already built successfully in CI
2025-09-08 08:09:02 -07:00
Clayton Craft ef97fd8c60 systemd/cups: disable examples on riscv64
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892

[ci:skip-build]: already built successfully in CI
2025-09-08 07:33:54 -07:00
Clayton Craft 39922de34e ci/shellcheck: run on pmos-base-systemd's apk trigger
This trigger has a lot going on, so let's make sure it always passes
shellcheck. It's not picked up by the normal search for triggers in this
script because the actual logic for the trigger is broken out from the
.trigger file.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 469aae3436 postmarketos-base-systemd: rework unit preset, reload/restart, and cleanup handling
This reworks the preset, reload/restart, and cleanup handling and moves
it from a (proposed [1]) abuild patch that would generate install
scripts for every -systemd package to a series of commit hooks and
a trigger that would exist in this package. This was made
possible by using `treescan`, which quickly[2] recursively scans
/usr/lib/systemd and allows the commit hook and trigger to diff units
before and after an install or uninstall transaction.

I chose to put the trigger and commit hook in pmos-base-systemd instead
of the systemd package because:

1) It's annoying to have to rebuild systemd just to update the logic in
   this script. Rebuilding this package is MUCH faster (nothing to
   compile)

2) IF the systemd package moves elsewhere (i.e. out of pmaports), it's
   unclear if this preset stuff would follow it, and it's safer for us to
   keep it separate so know it's always being included in pmOS+systemd
   installs. It can always be moved later if we decide to.

More info on how the three situations are handled by this patch:

Presets: Pre-commit hook captures current unit file list (using
treescan) before changes, then the trigger on /usr/lib/systemd/system
captures (using treescan) the state after changes and diffs them. It
picks out only unit files that were added, and runs systemctl preset to
apply any preset config that might exist for them.

Reload/restart: This relies on manual post-upgrade scripts in packages
that need it. post-upgrade scripts should mark units with systemctl
set-property ... Markers=+needs-reload/restart. Actual reload/restart
handled by the existing systemd.trigger that queries these markers...
This is going to be a bit annoying for package maintainers[3], but I
don't think many packages will *need* this. As of today, there are 0
packages explicitly requesting reload/restart on upgrade. This also
means there will be no automatic detection of whether a unit should be
reloaded/restarted. AFAIK Fedora doesn't support this, packages have to
explicitly request a reload or restart.

Cleanup: The pre-commit hook uses treescan to capture systemd unit
directory state before transactions and the trigger identifies removed
units (using treescan + diff). It then finds broken symlinks in
/etc/systemd/ that point to any newly removed unit files from the
transaction, and removes only them.

Benefits:

- Simple abuild patch for -systemd split func

- Uses existing APK mechanisms (commit hooks, triggers). Hooks can see
  before/after transaction state for cleanup.

- Logic updates don't require rebuilding all packages.

Tradeoffs:

- Requires additional per-package complexity to support
  reload/restart functionality.

- Moves unit discovery/parsing for preset and cleanup from build-time to
  runtime (every device does this work vs. once at build)

- Package behavior varies based on installed trigger/hook
  versions rather than being deterministic per package version.

- There's a (tiny) risk of some operations being race-y, e.g. if the
  user is actively enabling/disabling/adding unit files between apk
  running the pre-commit hook and the trigger firing... It seems
  unlikely this will cause issues, but 🤷‍♂️

1. https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/394

2. I used hyperfine to measure performance of treescan on my laptop,
with lots of units installed, and it was ~20ms without disk caching

3. A post-upgrade that would mark a unit for reload might look like
this:

```
if [ -d "/run/systemd/system" ]; then
	echo "Marking sshd.service for reload..."
	systemctl set-property sshd.service Markers=+needs-reload
fi
```

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 75d8dc9bd2 ci/testlib: add asserts for string contains/doesn't contain substring
For testing if a given string contains a given subtring, for example
`assert_contains "foo bar bazz" "bar"` would pass,
but `assert_contains "foobar bazz" "bar"` would fail.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 7d84c11c52 ci/testlib: add asserts for file exists/not exists
For testing whether a given file exists or not exists

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 0fab76b942 ci/testlib: add test root dir support
Allows creating (and cleaning up) a new root dir for tests, for tests
that deal with files on disk

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 00a242b4e8 systemd/systemd: don't use old systemd_install_script logic
This also removes an old macro file that was left over from one of the
many previous attempts to integrate preset support...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Clayton Craft e63c70b6e8 Rebuild -systemd subpkgs
These packages were previously built by a WIP abuild patch that added
install scripts to each -systemd subpkg for handling preset application
on install and symlink cleanup on uninstall. This functionality has been
replaced by a trigger/commit hook, so we need to rebuild these packages
to drop the install scripts that were previously generated.

[ci:ignore-count]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Clayton Craft 0318e81fde temp/abuild: build with simple systemd split func patch
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Achill Gilgenast e9287975cb systemd/wireplumber: upgrade to 0.5.11
https://gitlab.alpinelinux.org/alpine/aports/-/commit/71031e8a344b98717fa73d02c6b9aa0026120fe7

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 98c29cb62c systemd/upower: upgrade to 1.90.10
https://gitlab.alpinelinux.org/alpine/aports/-/commit/b8086774af77dd3e1ab509ff0485676a124c17a7

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 6d7abb22e1 systemd/sddm: fix license
https://gitlab.alpinelinux.org/alpine/aports/-/commit/1cfd94a70fea7a2edf6fbe23a073a99305add7a0

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 3a50ffa5d4 systemd/gnome-desktop: upgrade to 44.4
https://gitlab.alpinelinux.org/alpine/aports/-/commit/8bb7b7b7bb981ee0e0a3b52d1291ecb245915602

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast d8be95c138 cross/systemd-boot-x86: upgrade to 257.9
https://gitlab.alpinelinux.org/alpine/aports/-/commit/baef68076879beea57f864db4d69a61e6ee0c476

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Dylan Van Assche 15dbb835b0 systemd/systemd-services: add RuntimeDirectory and StateDirectory for nginx
RuntimeDirectory and StateDirectory are required for NGINX to operate out-of-the-box.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7008>
2025-09-07 18:02:26 +00:00
dabao1955 5564f33c6b linux-xiaomi-raphael: Fix wrong firmware path in dts for xiaomi-raphael
ref: https://github.com/NekoSekaiMoe/linux/commit/2447484c8665f0b6fc4fbc8b3208dfa0250bf35f

Signed-off-by: dabao1955 <dabao1955@163.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7012>
2025-09-08 01:33:09 +08:00
Luca Weiss 8caae63c7f main/postmarketos-ui-lomiri: fix wallpaper and launcher icon
Fix the paths at least, for some reason the launcher icon still doesn't
show up in the latest versions.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6726>
2025-09-07 17:10:56 +00:00
Luca Weiss 60d40dcda0 main/postmarketos-ui-lomiri: clean up polkit config
Apk is unhappy about depending on both polkit and polkit-elogind. Align
with other UI packages by only depending on polkit-elogind directly, and
remove the rc-update call since also no other UI is doing this.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6726>
2025-09-07 17:10:56 +00:00
Willow Barraco bca4cfc74f linux-postmarketos-allwinner: Enable leds_group_multicolor
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6924>
2025-09-07 17:08:26 +00:00
dabao1955 59ab663fb4 linux-xiaomi-raphael: upgrade to 6.12.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7004>
2025-09-07 17:00:49 +00:00
dabao1955 3365752926 firmware-xiaomi-raphael: Fix wrong firmware path
This commit fixes some firmware not found by kernel requests.

before:
```
[    0.552689] goodix firmware update module init start
[    0.801269] goodix_i2c 2-005d: Direct firmware load for qcom/sm8150/Xiaomi/raphael/good failed with error -2
```

after:
```
[    0.152816] goodix firmware update module init start
[    0.597937] input: goodix_ts as /devices/platform/goodix_ts.0/input/input2
```

Signed-off-by: dabao1955 <dabao1955@163.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7011>
2025-09-07 16:59:47 +00:00
Stefan Hansson 8321019c7f CI: Stop using 'pmbootstrap lint' for lint job
Needs https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2679

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

Closes https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2566

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

Closes https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2591

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6979>
2025-09-07 16:14:57 +00:00
leap123 35ee13f094 device-rockchip-rk322x: fix checksum
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7003>
2025-09-07 01:28:05 +00:00
leap123 5675c834a1 rockchip-rk322x: update kernel to 6.16.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7003>
2025-09-07 01:28:05 +00:00
Sicelo A. Mhlongo aa0879310e */: sicelo: drop and transfer maintainership
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6993>
2025-09-06 23:44:49 +02:00
Dylan Van Assche a8229a6ad7 main/postmarketos-ui-os-installer: add Console UI
Installing pmOS on servers has never been more easy with the OS Installer when the Console UI is supported. Tested on my own homeserver.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7000>
2025-09-06 18:33:14 +02:00
Daniel Kulesz d614b2c4b0 linux-purism-librem5: upgrade to 6.6.92pureos1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6970>
2025-09-06 12:56:57 +02:00
Casey Connolly cfc28d4fb9 linux-next: enable XBOX controller support
Enable joystick devices as per kconfigcheck

Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7005>
2025-09-06 08:02:48 +00:00
postmarketOS CI b0b2d89485 linux-next: upgrade to next-20250905 2025-09-06 04:50:29 +00:00
Hugo Osvaldo Barrera ec17f2118c qemu-*: enable PSI
PSI is necessary (but not sufficient) to run Waydroid on this device
target:

- linux-virt is built without binder and unusable for Waydroid.
- linux-stable is build with CONFIG_PSI_DEFAULT_DISABLED.
- linux-lts is build with CONFIG_PSI_DEFAULT_DISABLED.

The performance difference is negligible for this device; less that 1%.

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/1884
See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/17465
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6995>
2025-09-05 21:54:00 +02:00
Jami Kettunen b8c64a14f7 device/*: drop my "maintainership" of msm8998/mt6763/mt6768 stuff
I've not touched anything in pmaports (or mainline aarch64 stuff in
general besides my Snapdragon X Elite laptop which I thankfully didn't
have to bringup myself) for about 3 years at this point so I think that
ship has sailed by now.

[ci:skip-build]: orphaning the packages
[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6971
2025-09-05 18:03:42 +02:00
Dinolek 9c8c46f803 device-xiaomi-begonia: new aport
Based on the linux-postmarketos-mediatek-mt6785 kernel.

Signed-off-by: Dinolek <git@dinolek.me>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6975>
2025-09-05 15:43:23 +00:00
Dinolek da0d53f27a firmware-xiaomi-begonia: new aport
Signed-off-by: Dinolek <git@dinolek.me>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6975>
2025-09-05 15:43:23 +00:00
Dinolek 99b95928e6 linux-postmarketos-mediatek-mt6785: new aport
Mainline port for the MediaTek MT6785 Helio G90/G90T/G95.

Signed-off-by: Dinolek <git@dinolek.me>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6975>
2025-09-05 15:43:23 +00:00
Dinolek d869b99210 xiaomi-begonia: add -downstream suffix and archive downstream port
Signed-off-by: Dinolek <git@dinolek.me>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6975>
2025-09-05 15:43:23 +00:00
Dinolek 22a9c72680 linux-xiaomi-begonia: fix build
Signed-off-by: Dinolek <git@dinolek.me>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6975>
2025-09-05 15:43:23 +00:00
adamthiede 8cf57dfdfb linux-postmarketos-mediatek-mt8173: upgrade to 6.16.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6997>
2025-09-05 08:08:33 +00:00
BotchedRPR d130e6990d device-nothing-tetris: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6985>
2025-09-04 20:30:07 +00:00
BotchedRPR 6f63a440ab linux-postmarketos-mediatek-mt6878: new package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6985>
2025-09-04 20:30:07 +00:00
Stefan Hansson 6c98a4d742 main/dint: new aport
This could later be used to add deviceinfo linting CI to pmaports. I'm
putting this in pmaports rather than aports as I would think there is
little purpose to having a deviceinfo linter in Alpine when this format
isn't used there.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6999>
2025-09-04 20:21:34 +00:00
postmarketOS CI 9d7a05983f linux-next: upgrade to next-20250904 2025-09-04 15:50:57 +00:00
postmarketOS CI 021044ac78 linux-next: upgrade to next-20250903 2025-09-03 15:49:39 +00:00
Henrik Grimler 436d44c8e6 systemd/systemd-services: add apache service
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6996>
2025-09-03 13:53:00 +00:00
Henrik Grimler 4a2a2acaf6 device-samsung-i9100: set generate_extlinux_config=true
Was missed when device was migrated over to use u-boot.

Fixes: e74d7fdd69 ("device-samsung-i9100: use u-boot as intermediate bootloader")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6998>
2025-09-03 13:52:03 +00:00
Pablo Correa Gómez 7273e83141 README: improve wording for commit style
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6992>
2025-09-03 13:51:05 +00:00
Pablo Correa Gómez 6d6fcd0340 README: add review and merging guidelines
As agreed in
https://wiki.postmarketos.org/wiki/Team_Meetings#2025-09-01

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6992>
2025-09-03 13:51:05 +00:00
Aster Boese 3f405ace7d apple-idevice: change rootfs_image_sector_size to 4096
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6944>
2025-09-03 09:55:42 +00:00
Barnabás Czémán 033bbe60bf device-qcom-msm8956: Add support for longcheer l9360
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6981>
2025-09-03 09:54:37 +00:00
Barnabás Czémán b006585c45 device-qcom-msm8956: Fix cmdline property in deviceinfo
Change deviceinfo_cmdline to deviceinfo_kernel_cmdline.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6981>
2025-09-03 09:54:37 +00:00
Barnabás Czémán 29288ce037 linux-postmarketos-qcom-msm8956: Upgrade to v6.16.3-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6981>
2025-09-03 09:54:34 +00:00
Hugo Osvaldo Barrera 7cb5f1d3e4 main/postmarketos-config-nftables: rely on upstream nftrules
Upstream is now shipping rules as individual subpackages for packages
which require them. Rely on these by linking to them instead of
duplicating them here.

Note that the upstream packages only ship rules, but do not enable them
by default. This patch retains this package's current behaviour and
still automatically enables rules.

See: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/67137
See: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3934
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6991>
2025-09-02 16:30:50 +00:00
Eisenbahnfan cb4a9bfd40 device-samsung-n2awifi: Enable boot via U-Boot
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6989>
2025-09-02 16:20:18 +00:00
Eisenbahnfan 8c067228f2 device-samsung-v1awifi: Enable boot via U-Boot
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6988>
2025-09-02 16:19:16 +00:00
postmarketOS CI 91dedeb3d1 linux-next: upgrade to next-20250902 2025-09-02 15:53:38 +00:00
BetaRays 0dbd50bd80 soc-qcom-msm8916: force S16LE format for PipeWire
This applies this fix by default, so that PipeWire sound can work out of the box:
https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_410/412_(MSM8916)#PipeWire

This was tested on samsung-j5x with all remote processors.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6978>
2025-09-02 15:29:49 +00:00
Biswapriyo Nath 895506a5c0 systemd/dsme: upgrade to 0.84.7
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6957>
2025-09-01 18:54:19 +00:00
postmarketOS CI 95ba5dfada linux-next: upgrade to next-20250901 2025-09-01 15:53:59 +00:00
leap123 6a9168cd47 rockchip-rk322x: new device
Adds a generic device target for the Rockchip RK3228 and RK3229 SoCs
with mainline U-Boot and kernel. I tested this on my MXQ Pro 4K STB,
which originally had Android 7.1 installed. I've been testing it on a
32 GB SD card, as I currently have [ilmich's
LibreELEC port](https://github.com/rk-unofficial-cfw/LibreELEC.tv/tree/le12-rk322x-wip]
installed to the eMMC, though it should boot from eMMC just fine. The
bulk of the patches comes from the aforementioned LibreELEC port and
Armbian.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6982>
2025-09-01 13:38:03 +02:00
Jack Knightly a68e7fb105 device-samsung-n5110: rename to kona
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6968
2025-08-30 10:15:01 +02:00
Jack Knightly 1914540bb4 linux-samsung-n5110: remove
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6968
2025-08-30 10:15:01 +02:00
Jack Knightly 9c80f0c3c4 linux-postmarketos-exynos4: add panel for n5110
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6968
2025-08-30 10:15:01 +02:00
Jack Knightly 4966b3b5e6 device-samsung-n5110: unarchive and switch to using upstream kernel
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6968
2025-08-30 10:15:01 +02:00
Richard Acayan 54cadd8fe9 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20250707
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6986>
2025-08-29 19:19:19 -04:00
Jane Rachinger ae2143c971 systemd/systemd{,-stage0}: upgrade to 257.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6920>
2025-08-29 16:30:50 +00:00
Pablo Correa Gómez 4ecc7ec4e0 main/postmarketos-base: add compatibility subpackage with alpine-baselayout-core
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6984>
2025-08-29 16:28:27 +00:00
Pablo Correa Gómez f9011849a3 temp/alpine-baselayout: remove
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6984>
2025-08-29 16:28:27 +00:00
postmarketOS CI 9a87ab496c linux-next: upgrade to next-20250829 2025-08-29 15:49:44 +00:00
Achill Gilgenast 3bca58c384 main/postmarketos-base: move /etc/apk/config to /usr/lib/apk/config
apk supports loading the config file from /lib/apk/config since
<https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/0186a6aa9d5cc5dd9f4f218bc8bc59b74b21395f>.

Since all systems are now /usr-merged, we can now even have the file in
/usr/lib/!

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6983>
2025-08-29 07:36:22 +00:00
Robert Bloy 6c2f173b20 downstream/linux-amazon-ford: kernel config framebuffer console enabled
CONFIG_FRAMEBUFFER_CONSOLE=y without this the ui fbkeyboard dont start

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6977>
2025-08-28 20:16:32 +00:00
Pablo Correa Gómez 244d2ab398 ci: do not run downstream pipeline if the bot is the commiter
The reviewers are responsible to check that the pipeline actually
built and run successfully. The bot has the option to skip the
pipeline completely, but that means we also skip the checks about
bumping pkgver and pkgrel, which means some rebases could cause
issues. Since there is no straight-foward way to make the bot add
"[ci:skip-build]" to the commit message, then we can actually do this
check instead.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6963>
2025-08-28 20:02:26 +00:00
Pablo Correa Gómez 88b1b45879 ci: move check for package counts to where it is used
common is otherwise over-used with things with very little
consumers. So reduce the list by moving the
get_changed_packages_sanity_check to check_changed_aports_versions,
which is the only user. In the process, also rename it to make it more
clear what it's used for: check_package_count

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6963>
2025-08-28 20:02:26 +00:00
Pablo Correa Gómez c83457fed4 ci: don't re-do packages check in build_changed_aports
Since 218d0b1745 the pipeline is created
dynamically. This check already exists in the "commits" lint job. So
let's avoid duplicating it.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6963>
2025-08-28 20:02:23 +00:00
postmarketOS CI 806d340317 linux-next: upgrade to next-20250828 2025-08-28 15:56:56 +00:00
Pablo Correa Gómez 5de1ce365f main/postmarketos-base: force migration of installs to /usr merge
This carries some risks, but we are willing to put up with them. We
need everybody to have a /usr-merge to continue moving on our
priorities. Fortunately, the merge-usr script has received quite a lot
of testing so far.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6389>
2025-08-27 15:27:42 +02:00
Pablo Correa Gómez 866f80708a main/postmarketos-ui-moonlight: disable on armhf
Follow-up from
https://gitlab.alpinelinux.org/alpine/aports/-/commit/4b76290cf6da103663a0c48e84783fd763a1f9d9

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6980>
2025-08-27 13:26:33 +00:00
Tomasz Duda f1460e5324 linux-postmarketos-qcom-msm8953: enable CONFIG_BT_RFCOMM
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6972>
2025-08-27 13:21:03 +00:00
Barnabás Czémán 709b677e9f linux-postmarketos-qcom-msm89x7: Upgrade to v6.16.3-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6976>
2025-08-27 13:19:23 +00:00
Richard Acayan b030d960d7 linux-postmarketos-qcom-sdm670: upgrade to v6.16.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6965>
2025-08-27 09:41:16 +00:00
Robert Mader a63aca69b1 temp/libcamera: Backport software ISP fix for 'purple tint'
Backport the series from https://patchwork.libcamera.org/cover/24169/,
fixing 'purple tint' issues on the Pixel 3a and OnePlus6 with Snapshot.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6961>
2025-08-27 09:39:41 +00:00
postmarketOS CI a0a1ff83b0 linux-next: upgrade to next-20250827 2025-08-27 04:51:25 +00:00
postmarketOS CI 7548beca77 linux-next: upgrade to next-20250826 2025-08-26 15:47:07 +00:00
Antoine Martin f712ad7a21 linux-pine64-pinenote: use lid switch to trigger suspend
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6959>
2025-08-25 19:36:26 +00:00
Antoine Martin 52fda58c39 linux-pine64-pinenote: upgrade to 6.15.11
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6959>
2025-08-25 19:36:26 +00:00
postmarketOS CI 3086ac0168 linux-next: upgrade to next-20250825 2025-08-25 15:55:06 +00:00
Tomasz Duda 8edefeb796 community/soc-qcom-msm8953: fix modem script
1. /dev/disk/by-partlabel/persist is mounted twice with diffrent dirs.
umount $PERSIST_DEV unmout the other one
2. /lib/firmware/postmarketos does not exist on xiaomi-daisy, use mkdir -p

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6967>
2025-08-25 14:02:02 +00:00
Luca Weiss f465847f28 modem/rmtfs: patch to serve modem_study partition for Fairphone (Gen. 6)
And replace the modem_tng patch with the version that was accepted
upstream.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6962>
2025-08-25 12:12:42 +00:00
Luca Weiss 25f9af2fdf device-fairphone-fp6: update dtb naming, enable internal storage options
The dtb was renamed to follow the new upstream naming guidelines.

Add configuration and dependencies that now make sense given that
internal storage is working.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6962>
2025-08-25 12:12:42 +00:00
Luca Weiss 2f20590e9e firmware-fairphone-fp6: update firmware path
The firmware has moved to a different path, along with updated naming
guidelines upstream.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6962>
2025-08-25 12:12:42 +00:00
Luca Weiss 487c0eb8f4 linux-postmarketos-qcom-sm7635: upgrade to 6.16
From the first revision, the compatibles and names were changed from
sm7635 to milos, to follow the new upstream naming guidelines.

Significant Milos-specific changes:
* UFS (internal storage) now works
* CCI I2C enablement including the EEPROMs on the camera sensors
* Partial IPA (mobile data) enablement, at least allows ModemManager to
  detect the modem, but mobile data is still broken.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6962>
2025-08-25 12:12:42 +00:00
Barnabás Czémán 96c5c964a0 linux-postmarketos-qcom-msm8953: Upgrade to 6.16.3-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6969>
2025-08-24 22:49:53 +02:00
Andrei Zisu 8e45b27c2c device-mnt-reform2-bpi-cm4: load rtw88 firmware
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
2025-08-23 19:35:37 +00:00
Andrei Zisu 20e4ba67c2 mnt-reform2-bpi-cm4: new device
Copied from the cm4io package

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
2025-08-23 19:34:45 +00:00
Andrei Zisu a2160a27b4 linux-postmarketos-amlogic: add upstream MNT patches
The patches are altered to remove the noisy kernel messages.

By default they use KERN_ALERT, which is very intrusive.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
2025-08-23 19:34:45 +00:00
Andrei Zisu e1dd67402d linux-postmarketos-amlogic: enable MNT Reform 2 devices
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
2025-08-23 19:34:45 +00:00
Andrei Zisu 36f90f02ec device-bananapi-bpi-cm4-cm4io: fix u-boot path
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6820
2025-08-23 19:34:45 +00:00
Robert Eckelmann 9a8de0becf linux-postmarketos-grate: enable kconfig:immutable settings
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6951>
2025-08-23 12:18:03 +00:00
Aster Boese a58328e628 main/postmarketos-ui-moonlight: move tinydm config to /usr/share/tinydm/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6933>
2025-08-23 12:16:58 +00:00
Aster Boese 5319277d3b main/postmarketos-base-ui: move tinydm config to /usr/share/tinydm/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6933>
2025-08-23 12:16:58 +00:00
Aster Boese 0933453ea7 google-nyan-blaze: move tinydm config to /usr/share/tinydm/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6933>
2025-08-23 12:16:58 +00:00
Aster Boese 5ae43966c7 google-nyan-big: move tinydm config to /usr/share/tinydm/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6933>
2025-08-23 12:16:58 +00:00
Aster Boese 777ff25a35 purism-librem5: move tinydm config to /usr/share/tinydm/
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6933>
2025-08-23 12:16:58 +00:00
adamthiede 1d0e6ef25d linux-postmarketos-mediatek-mt8173: upgrade to 6.16.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6946>
2025-08-23 12:06:46 +00:00
Sicelo A. Mhlongo 610b62c87c wl1251-cal: drop wl1251 module blacklist
Since /lib/firmware is always mounted as soon as / is mounted, wl1251-cal can
still be effective without the module blacklist, as long as care is taken to
ensure the service runs as soon as possible, and strictly before udev starts.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6943>
2025-08-23 12:05:43 +00:00
-akku- 41f2a398f1 main/mkbootimg-osm0sis: explicitly refer to pmbootstrap#441 2025-08-22 12:00:53 -04:00
Affe Null 5ba22e3169 device-jolla-c2: depend on soc-unisoc-ums9230
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Affe Null 9a49bd4960 modem/unisoc-timesync-daemon: new aport
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Affe Null 075565220c modem/unisoc-nvitem-daemon: upgrade to 0_git20250618
Also fix the systemd service installation.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Affe Null f2ac26d603 soc-unisoc-ums9230: new aport
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Affe Null f5700ea58f linux-postmarketos-unisoc-ums9230: upgrade to 6.17.0_rc1_git20250814
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Affe Null 0d3efa8c62 alsa-ucm-conf-unisoc-ums9230: upgrade to 1.2.9_git20250614
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6941>
2025-08-22 15:51:43 +00:00
Henrik Grimler 903baf437c linux-postmarketos-exynos4: update to 6.16.1
Some notable changes since 6.10.1 are:

- Add support for konawifi (@jack_kekzoz)
- Drop initramfs that we carried in kernel (only exynos4210 devices
  needed it, and those can now use u-boot)
- Update config to make kernel a bit smaller (disable some options,
  make others modules), and enable options to make pmbootstrap kconfig
  happy
- Add ctx->panel.prepare_prev_first to ea8061 panel driver, to fix
  issue where panel is all black

Co-developed-by: @knuxify <knuxify@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6921>
2025-08-22 11:46:46 -04:00
Henrik Grimler e74d7fdd69 device-samsung-i9100: use u-boot as intermediate bootloader
The close-to-mainline u-boot fork can then load linux from boot
partition.

One downside is that it will no longer be possible to flash through
pmbootstrap, since there is no support for flashing arbritrary targets
to arbritrary partitions with pmbootstrap, yet.

Therefore, users will need to manually flash
/usr/share/u-boot/trats/u-boot.bin to the KERNEL partition for i9100
to work after these changes.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6921>
2025-08-22 11:46:46 -04:00
Henrik Grimler 06f5839fe0 testing/u-boot-samsung-i9100: add package
Close-to-mainline fork (also kept at
https://gitlab.com/exynos4-mainline/u-boot/) where i9100 can use
trats_defconfig, since exynos4210-trats is very similar to i9100.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6921>
2025-08-22 11:46:46 -04:00
Henrik Grimler f9ba174a1c archived/u-boot-samsung-i9100: drop package
It is very old, and a mainline based variant will be added shortly.

Drop the package so that the name does not conflict with the new one.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6921>
2025-08-22 11:46:46 -04:00
postmarketOS CI 5df8afeeb8 linux-next: upgrade to next-20250822 2025-08-22 15:45:10 +00:00
Luca Weiss 5fa166d6f8 linux-postmarketos-qcom-sc7280: upgrade to 6.16.1
Enable options for SHIFTphone 8, and enable vibration motor driver for
Fairphone 5.

Manual kconfig changes:
* TOUCHSCREEN_FOCALTECH_FT3658U=m
* INPUT_AW86927=m
* DRM_PANEL_SHIFT_SH8804B=m
* LEDS_QCOM_LPG=m

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6934>
2025-08-22 13:07:26 +00:00
Jens Reidel 91a20b30b6 systemd/systemd-services: make iio-sensor-proxy depend on all hexagonrpcd services
This is harmless if the services don't exist (because of Wants instead
of Requires) and applies the correct ordering for devices with
hexagonrpcd and no sdsp.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6960>
2025-08-22 11:31:21 +00:00
Antoine Martin 174b5f611f linux-radxa: rebuild kernel
Fixes #3926 by rebuilding the kernel, thus rebuilding the failing binary
`scripts/basic/fixdep`.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6958>
2025-08-21 18:19:30 -04:00
Biswapriyo Nath 0326bcea42 systemd/kjournald: Add missing qt6 build dependency
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6954>
2025-08-21 16:10:37 +00:00
Alexey Minnekhanov 29025ea0f8 systemd/systemd-services: fix rmtfs service dependencies
Fixes service shutdown order on device shutdown/reboot.
Basically you can't shutdown rmtfs before Wi-Fi is shut down, due to
how remote processors are involved in this on qcom platforms.
If modem is powered off, all attepts to communicate with Wi-Fi
firmware are nonsense and this hangs device on shutdown/reboot
or send it to crashdump mode.

Openrc sercice already has the correct dependency.

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3936

For more details, see upstream PR: https://github.com/linux-msm/rmtfs/pull/24

We can safely replace the `Before=msm-modem-uim-selection.service` line
because msm-modem-uim-selection already has its own deps specified in its
own service file.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6956>
2025-08-21 15:46:29 +00:00
postmarketOS CI 453cb8895b linux-next: upgrade to next-20250821 2025-08-21 15:46:08 +00:00
Oliver Smith d2b4965e3a cross/musl-*: upgrade to 1.2.5-r20
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6955>
2025-08-20 18:58:19 +02:00
Robert Bloy 0431133641 fbkeyboard: new switch for correct interpret x/y touc event
On some devices, the x/y coordinates are interpreted incorrectly, e.g., Amazon Ford. The -i switch applies a transformation of y = max - y.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6942>
2025-08-19 14:35:55 -07:00
Robert Bloy 721f3e6b8d downstream/linux-amazon-ford: Change Downstream Kernel to 3.10.108 and add Patch for Touchpanel
With Amazon Ford Tab 7 where was a scaling in Touchpanel Driver for ssd60xx, this lead to misfunctional touch events in fbkeyboard. This patch remove the scaling and swapping x/y-coordinates

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6942>
2025-08-19 14:35:55 -07:00
Clayton Craft 668933bec1 linux-postmarketos-qcom-laptop: enable dm-verity, erofs
See:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6949

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6948>
2025-08-19 21:32:32 +00:00
Clayton Craft a31e5d40b0 systemd/qemu-binfmt: new aport
This could be folded into aports/qemu.. but I'm not sure if
they'd accept it since the path these install to seems(?) to be
systemd-specific? Once there's -systemd split pkg support in abuild,
then maybe it'll make sense to move this to aports.

fixes #3394

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6950
[ci:skip-build]: already built successfully in CI
2025-08-19 10:34:57 -07:00
Henrik Grimler 19589d554d device-odroid-u2: fix so that extlinux config is generated again
I accidentally dropped it in a rebase.

Fixes: e76edf7044 ("device-odroid-u2: depend on firmware-odroid-u2
and clean up cmdline")

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6940>
2025-08-19 09:13:03 +00:00
Barnabás Czémán dbd82b84c9 main/lk2nd: Upgrade to 21.0
Upgrade to 21.0 and ignore devices with QCDTB on MSM8953 for
fix xiaomi-markw and maybe other devices.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6938>
2025-08-18 21:22:27 +00:00
Oliver Smith ff77857739 systemd/drkonqi: upgrade to 6.4.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6945>
2025-08-17 20:23:53 +02:00
Tomasz Duda 97d391b2e7 systemd/systemd-services: add system-watchdog-kick.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6883
2025-08-17 12:47:56 -04:00
Oliver Smith 8c823bc6ce systemd/plasma-workspace: upgrade to 6.4.4
[ci:skip-build]: CI has passed for all arches, but armv7 and riscv64. It
has already been doing these for 3 hours and would probably take another
3h to complete... seems unlikely that it will fail here from past
experience, so I'll just skip these here as this will fix a lot of
errors.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Oliver Smith c3e234a128 systemd/kwin: upgrade to 6.4.4
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Oliver Smith 0d07c43771 systemd/kscreenlocker: upgrade to 6.4.4
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Oliver Smith 5053fa4853 cross/.gitlab-ci.yml: add tags: [qemu]
The runners from OSUOSL sometimes still fail to run jobs that emulate
other arches via QEMU. We run into this when building gcc-x86_64 for
aarch64 on x86_64 through QEMU. Use the usual workaround of running the
job on our own builder.

Related: postmarketos issue 83
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
2025-08-17 16:13:35 +00:00
Oliver Smith ed7213823e cross/.gitlab-ci.yml: store log on error
Make the log available, currently it gets cut off:

> Job's log exceeded limit of 4194304 bytes.
> Job execution will continue but no more output will be collected.

Remove --details-to-stdout, as it causes the log to only get written to
stdout, not to the log file.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
2025-08-17 16:13:35 +00:00
Oliver Smith 6d9ab71015 cross/.gitlab-ci.yml: fix building 3 pkgs
The hello-world, iskey, pbsplash packages didn't actually get built in
this test as --force was missing and the versions don't change when
upgrading gcc. The last and most important one for building gcc-x86_64
with gcc-aarch64 did work though.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
2025-08-17 16:13:32 +00:00
Oliver Smith 689d67be2e cross/gcc-*: upgrade to 15.2.0-r0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
2025-08-17 16:13:29 +00:00
Oliver Smith 9b53a9c973 device/archived/firmware-*: add Archived comments
Fix that CI is currently failing with errors like:

> FAILED .ci/testcases/test_device.py::test_aports_archived -
> AssertionError:
> /builds/postmarketOS/pmaports/device/archived/firmware-samsung-nevisp/APKBUILD
> should have an Archived: comment that describes why the package is
> archived

Push this directly to master as this is a trivial but important fix to
make CI pass again for open MRs.
2025-08-17 18:11:59 +02:00
Jens Reidel 4182d118f9 main/qemu-ppc64le: new device (MR 5774)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-vercheck]: forked paackages

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5774>
2025-08-17 12:43:26 +00:00
Jens Reidel 1d9acd0cb1 main/postmarketos-qemu-common: support ppc64le (MR 5774)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5774>
2025-08-17 12:43:26 +00:00
Jens Reidel ed1039bc18 cross/{gcc-ppc64le,musl-ppc64le}: Generate with aportgen (MR 5774)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5774>
2025-08-17 12:43:26 +00:00
Luca Weiss 5ce8ad66ce device/downstream/*: move broken kernels plus devices to archived
All these kernels do not compile anymore, move them and the associated
device and firmware packages to archived.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6700>
2025-08-17 12:29:01 +00:00
Luca Weiss 6333082d49 linux-asus-tf101: drop
No package depends on this one, so drop it. It doesn't build either.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6700>
2025-08-17 12:29:01 +00:00
Achill Gilgenast 1554af78c0 main/postmarketos-base: allow to use doas for different users than root
The user is already able to log in as root and allowing to directly log
into other users allows stuff like running as postgres user.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6936>
2025-08-17 06:44:50 +00:00
Henrik Grimler 306e615062 firmware-odroid-u2: add dependency on linux-firmware-s5p-mfc
Just like for the other exynos4412 and exynos542x devices odroid-u2
wants to load s5p-mfc.fw.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6848
2025-08-16 22:05:02 -04:00
Henrik Grimler e76edf7044 device-odroid-u2: depend on firmware-odroid-u2 and clean up cmdline
firmware-odroid-u2 provides the bootloaders that are necessary to boot
the system.

There is no reason to always boot with loglevel=9, or with rw, and
most often not with PMOS_FORCE_PARTITION_RESIZE.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6848
2025-08-16 22:04:28 -04:00
Henrik Grimler d1ef71b2c7 firmware-odroid-xu4: put s5p-mfc and rtl_nic deps in _pmb_recommends
These firmware packages are not strictly necessary for a booting
system, so move them to _pmb_recommends.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6848
2025-08-16 22:04:28 -04:00
Henrik Grimler 2315bf0f65 device-odroid-xu4: depend on firmware-odroid-xu4
firmware-odroid-xu4 provides the bootloaders needed to successfully
boot odroid-xu4. Also remove the linux-firmware-rtl_nic
dependency (will be moved to firmware-odroid-xu4 instead).

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6848
2025-08-16 22:04:28 -04:00
Jens Reidel 090f511837 systemd/systemd-services: only start q6voiced if config exists
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6927>
2025-08-17 01:31:46 +02:00
Sicelo A. Mhlongo add7b4b13d systemd/postmarketos-base-systemd: enable N900's wl1251-cal service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6932
2025-08-16 14:22:12 -04:00
Sicelo A. Mhlongo 4c6ed166d4 wl1251-cal: support systemd
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6932
2025-08-16 14:22:09 -04:00
Oliver Smith e0e550ee92 treewide: rebuild against libdisplay-info-0.3.0
Fix failures seen in upstream-compat:

  +     'cmd:gdctl (x86_64): missing dep so:libdisplay-info.so.2',
  +     'cmd:mutter (x86_64): missing dep so:libdisplay-info.so.2',
  +     'mutter (x86_64): missing dep so:libdisplay-info.so.2',
  +     'mutter-mobile (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-clutter-16.so.0 (x86_64): missing dep '
  +     'so:libdisplay-info.so.2',
  +     'so:libmutter-cogl-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-mtk-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6929
2025-08-16 12:22:07 -04:00
Jens Reidel f867644592 */*: make all users of soc-qcom depend on soc-qcom-pd-mapper
This is a rather conservative change to preserve previous behaviour on
current users of soc-qcom.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>

[ci:ignore-count]
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6905
2025-08-16 13:38:04 +02:00
Jens Reidel 357287dbe7 community/soc-qcom: make pd-mapper optional
The in-kernel pd-mapper is the preferred choice nowadays and used for
some kernel packages of devices that already/want to depend on soc-qcom.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6905
2025-08-16 13:38:04 +02:00
Achill Gilgenast f09fa74192 main/postmarketos-ui-phosh: depend on cellbroadcastd
p-m-s uses cellbroadcastd for cell broadcast notifications. p-m-s already
links to it already, but also depend on it here to install the daemon,
the service & stuff.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6937
[ci:skip-build]: already built successfully in CI
2025-08-16 10:25:13 +02:00
Achill Gilgenast 7ebb24dc74 systemd/systemd-services: add user-xdg-desktop-portal-phrosh.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6912

[ci:skip-build]: already built successfully in CI
2025-08-15 16:05:54 +02:00
Achill Gilgenast 26678f44a0 systemd/phosh: upgrade to 0.49.0
https://gitlab.gnome.org/World/Phosh/phosh/-/blob/v0.49.0/NEWS

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6912
2025-08-15 16:05:52 +02:00
Oliver Smith a4a01e6896 cross/musl-*: upgrade to 1.2.5-r19
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6930

[ci:skip-build]: already built successfully in CI
2025-08-15 14:31:33 +02:00
Oliver Smith 4b0b332191 systemd/networkmanager: disable lto for armv7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6874
2025-08-15 13:52:32 +02:00
fossdd ff057004b9 systemd/networkmanager: upgrade to 1.54.0
https://gitlab.alpinelinux.org/alpine/aports/-/commit/3e32f5d44411c607b89078bd3854a9d3fb468012

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6874
2025-08-15 13:47:46 +02:00
postmarketOS CI 13e503ce5f linux-next: upgrade to next-20250815 2025-08-15 04:49:34 +00:00
Sandelinos 43fbd229f9 main/postmarketos-ui-retroarch: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6852
2025-08-14 14:39:20 +02:00
Vasiliy Doylov 2c04e1c2d3 systemd/systemd-services: add speakersafetyd.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6923
2025-08-14 13:23:43 +03:00
Bart Ribbers b106bcdd49 systemd/plasma*: enable on armv7
It was disabled in aa765f7fd9 due to build
issues which have since been resolved.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6842

[ci:skip-vercheck]
[ci:skip-build]: CI times out building this (>10hrs), builds fine locally
2025-08-14 12:43:50 +03:00
postmarketOS CI d07e169bb5 linux-next: upgrade to next-20250814 2025-08-14 04:45:32 +00:00
Aster Boese 73f73428ae lenovo-21bx: enable GNOME fractional-scaling and clean up APKBUILD
Add an override file to enable fractional-scaling since the scaling factor
of the display is a Goldilocks problem.

Along with this, clean up the APKBUILD and follow some Alpine best practices.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6790
[ci:skip-build]: already built successfully in CI
2025-08-13 16:13:46 -04:00
Maanush Putcha 8dc5cb9d7b device-lenovo-manning: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6898
2025-08-13 13:16:20 +02:00
faveoled c65e2961c6 samsung-beyond1lte: kernel update
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6907

[ci:skip-build]: already built successfully in CI
2025-08-13 13:13:33 +02:00
Pablo Correa Gómez 9efda70d16 build-jobs: use parallel:matrix instead of copy-pasting job definitions
This has the additional benefit that the job is always defined, and
then we can just add the placeholder as any other job

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6693
[ci:skip-build]: already built successfully in CI
2025-08-13 12:59:38 +02:00
SzczurekYT 9ddc0e0cb0 modem/qcom-diag: update and make consistent with systemd
- Update diag-router to include two new commits made this year
- Use linux-msm repo (the andersson one is now a redirect to it)
- Make diag-router start before rmtfs on OpenRC like on Systemd
- Add myself as a maintainer, to replace Jami Kettunen, who resigned
from this role

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6887
2025-08-13 13:50:40 +03:00
Aster Boese 24a7035676 pine64-pinephone: move alsa config under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6913
2025-08-13 19:38:07 +09:00
Henrik Grimler 72b75df3b2 device-samsung-i9100: set console=ttySAC2 in cmdline
So that we get debug output from kernel.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6917
2025-08-13 10:32:31 +02:00
postmarketOS CI 0994cc4296 linux-next: upgrade to next-20250813 2025-08-13 04:49:41 +00:00
Jens Reidel e2e2b6145f Revert "systemd: Don't ship /usr/share/factory"
This reverts commit ea6e5010c1.

Results in systemd starting systemd-firstboot and prompting for keyboard
input, which is very suboptimal on touch-only devices and results in an
infinite "Starting..." animation on the screen for users.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6919
2025-08-13 03:16:20 +02:00
Pan Ortiz 93a38dfccc device-xiaomi-nabu: remove cmdline and microphone hacks
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6906
2025-08-12 20:15:38 +00:00
Pan Ortiz f1be4ee17f linux-postmarketos-qcom-sm8150: Upgrade to v6.16.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6906

[ci:skip-build]: already built successfully in CI
2025-08-12 20:15:22 +00:00
postmarketOS CI 6053b85ad5 linux-next: upgrade to next-20250812 2025-08-12 04:45:03 +00:00
Petr Vorel a12a7ca515 device-lg-bullhead: take over maintainership
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6910
2025-08-11 18:41:21 -04:00
Petr Vorel 52890c7b82 device-huawei-angler: take over maintainership
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6910
2025-08-11 18:41:20 -04:00
Achill Gilgenast 1e44786344 systemd/postmarketos-base-systemd: enable cellbroadcastd.service
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6895

[ci:skip-build]: already built successfully in CI
2025-08-11 23:53:46 +02:00
fossdd 81ae9db45b systemd/systemd-services: add user-cellbroadcastd.service
Becomes a more stricter dependency of Phosh

From https://gitlab.freedesktop.org/devrtz/cellbroadcastd/-/blob/main/data/cellbroadcastd.service.in
plus https://gitlab.freedesktop.org/devrtz/cellbroadcastd/-/merge_requests/43

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6895
2025-08-11 23:53:46 +02:00
r00t a217d2e40c linux-samsung-crownlte: backport statx syscall,
quite a few programs require this syscall,
severely restricting usability without it.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6877
2025-08-11 17:02:23 -04:00
Ermine 3e7e4650aa linux-postmarketos-rockchip-rk3588: disable CONFIG_RELR
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6855
2025-08-11 15:29:09 -04:00
Ermine 765dbcee22 linux-postmarketos-rockchip-rk3588: compress modules
Currently modules are not compressed. Compress them with zstd.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6855
2025-08-11 15:29:05 -04:00
Robert Eckelmann c6e372cae5 linux-postmarketos-grate: upgrade to 6.16.0
squashed: linux-postmarketos-grate: enable linux-gpib-drivers
squashed: linux-postmarketos-grate: enable MFD_WM8994
squashed: linux-postmarketos-grate: enable CONFIG_UDMABUF

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6904
2025-08-11 13:13:45 -04:00
Antoine Martin 2703aebeb8 u-boot-pine64-pinenote: set blob versions on seperate lines
To facilitate tracking upstream versions of ddr and trust blobs, set
versions on seperate line so that my infra (via
https://ayakael.net/forge/ayaports/commit/953627f48d799649b2da5ce9e7a632579c9c5b37)
can alert me if there are new blob versions.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6914
2025-08-11 12:51:00 -04:00
Clayton Craft ea6e5010c1 systemd: Don't ship /usr/share/factory
When building immutable images, we'll be putting /etc into
/usr/share/factory, and then using systemd-tmpfiles to symlink all of
that stuff under /etc. When systemd installs into this dir, it leads to
accidentally adding some "example" config to the system's runtime
config, e.g. adding pam config with a comment like this which completely
breaks login/auth for many UIs (Phosh, Plasma Mobile, etc) :

  # You really want to adjust this to your local distribution. If you use this
  # unmodified you are not building systems safely and securely.

I could technically just scrub this dir when building immutable images,
but tbh I can't think of any reason why we'd want to ship this in the
first place.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6915
2025-08-11 12:06:34 -04:00
Antoine Martin c3cd1180eb linux-pine64-pinenote: upgrade to 6.15.9
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6911
2025-08-10 23:43:28 -07:00
Luca Weiss 05dcc7d201 linux-postmarketos-qcom-sm6350: upgrade to 6.16.0
Manual kconfig changes:
* SND_USB_AUDIO_QMI=m
* SND_SOC_USB=m
* SND_SOC_QCOM_OFFLOAD_UTILS=m
* SND_SOC_QDSP6_USB=m
* USB_XHCI_SIDEBAND=y

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6862
2025-08-10 13:31:00 -04:00
Luca Weiss d2ff552d94 linux-postmarketos-qcom-sc7280: upgrade to 6.16.0
Manual kconfig changes:
* SND_USB_AUDIO_QMI=m
* SND_SOC_USB=m
* SND_SOC_QCOM_OFFLOAD_UTILS=m
* SND_SOC_QDSP6_USB=m
* USB_XHCI_SIDEBAND=y

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6863
2025-08-10 12:51:50 -04:00
Sicelo A. Mhlongo c4e9e5d15a device-nokia-n900: improve wlroots support and initramfs charging
1. Relocate the WLR_BACKEND environment variable away from sway subpackage to
enable its use on other wlroots compositors. Install this for any wayland
environment, even though it is only useful under wlroots. However, there are
currently many wlroots versions in Alpine to come up with a sane install_if
directive.

2. Add the USB PHY driver (isp1704) to the initramfs to allow the charger
driver to autodetect the charger type and pull higher current as needed.
Improves upon e040fa5e51 ("device-nokia-n900: initfs: add charger driver")).

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6908
2025-08-09 19:48:57 -04:00
Aster Boese 95c010250d apple-idevice: add m1n1-apple-idevice to depends
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6775

[ci:skip-build]: already built successfully in CI
2025-08-09 10:15:23 -07:00
Aster Boese 632d79d0b9 m1n1-apple-idevice: new bootloader package
Adds the m1n1 bootloader with iDevice patches.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6775
2025-08-09 10:15:23 -07:00
Achill Gilgenast bd90af1032 */*: update my email address
- Remove all contributor lines

- Use maintainer comment

- Add myself to .mailmap

[ci:ignore-count]
[ci:skip-vercheck]: some just have the co-maintainer changed and bq-tenshi is in archived
[ci:skip-build]: CI tries to build device/archived/, except that it built successfully

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6899
2025-08-09 12:10:16 +02:00
Achill Gilgenast 1b6ddf3679 bq-tenshi: move to archived
Kernel doesn't build anymore

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6899
2025-08-09 12:10:16 +02:00
Aster Boese 7bcafbda1f linux-postmarketos-apple-4k: upgrade to 6.16.0 and sync config with 16k version
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6893

[ci:skip-build]: already built successfully in CI
2025-08-08 17:23:17 -07:00
Aster Boese 49c15c62d2 linux-postmarketos-apple-16k: upgrade to 6.16.0
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6893
2025-08-08 17:23:17 -07:00
Oliver Smith c836f3a0b6 cross/busybox-static-*: upgrade to 1.37.0-r22
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6901

[ci:skip-build]: already built successfully in CI
2025-08-08 17:20:59 -07:00
Oliver Smith abee2c9bd0 cross/systemd-boot-x86: upgrade to 257.8
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/6240e9faf618122bd2a99be9b7c87447c5effe51

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6902
[ci:skip-build]: already built successfully in CI
2025-08-08 17:19:12 -07:00
Petr Vorel 3b8d29c0e6 linux-postmarketos-qcom-msm8994: upgrade to 6.16
* Refresh not-yet-mainlined patch
* Start using CONFIG_PSI=y and CONFIG_UDMABUF=y
  (required by checks)

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6885
[ci:skip-build]: already built successfully in CI
2025-08-08 17:17:07 -07:00
Clayton Craft 1793892a4c qemu-{aarch64,amd64}: use zstd for initramfs compression
Fixes #3861

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6853
2025-08-08 13:16:05 +02:00
postmarketOS CI 5554df1355 linux-next: upgrade to next-20250808 2025-08-08 04:49:40 +00:00
Biswapriyo Nath 02d77ed22f main/postmarketos-bootsplash: Fix PMOS_NOSPLASH typo
The typo was added in 2327b6efdb commit.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6886
2025-08-07 22:33:34 -04:00
Robert Mader 307c05c345 temp/libcamera: upgrade to 0.5.2
See
https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.5.2

No significant changes for pmOS use-cases, just a lot of fixes. The
next release, 0.6, will bring bigger changes also affecting our
downstream patches.

Also added py3-sphinxcontrib-doxylink as explicit dependency to
work around build issues.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6896
[ci:skip-build]: already built successfully in CI
2025-08-07 23:17:52 +02:00
postmarketOS CI dc2d241711 linux-next: upgrade to next-20250807 2025-08-07 15:44:53 +00:00
Sicelo A. Mhlongo e040fa5e51 device-nokia-n900: initfs: add charger driver
As an enhancement, add charger driver to initramfs to permit charging, e.g.
when battery is too drained to boot, or when doing extended debugging in the
initramfs.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6890
[ci:skip-build]: already built successfully in CI
2025-08-07 08:25:07 -07:00
Sicelo A. Mhlongo b15d6beb43 device-nokia-n900: provide touch calibration data in initramfs
With libinput in use, the calibration is off, so add the udev rule that
corrects it to the initramfs

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3361

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6890
2025-08-07 08:25:07 -07:00
Sicelo A. Mhlongo fd3b2c9efb temp/xkeyboard-config: workaround apk-tools bug
apk-tools has a bug in connection with handling symlink in some scenarios,
which is an issue for xkeyboard-config, which installs a symlink since version
2.45. implement Alpine workaround until apk-tools is fixed.

Fixes: 5edf40fbe9 ("xkeyboard-config: upgrade to latest upstream")

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6891
[ci:skip-build]: already built successfully in CI
2025-08-07 08:37:16 +02:00
postmarketOS CI 53af81d63b linux-next: upgrade to next-20250806 2025-08-06 04:51:14 +00:00
Jane Rachinger 2edc560b12 systemd/systemd: fix boot on split-usr systems and cleanup meson options
systemd's meson.build looks up various systems utilties at build-time.
This wasn't a problem before, but as our buildroots are now usr-merged
we can no longer expect that meson's $PATH traversal results in a path
to a binary on non-usr-merge system. We need to state our expectations
explictly now.

This also removes some unneeded options. meson's get_option returns on
booleans without any default `true`.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6884
[ci:skip-build]: already built successfully in CI
2025-08-05 16:27:50 +02:00
postmarketOS CI 1d45fa8abf linux-next: upgrade to next-20250805 2025-08-05 04:45:33 +00:00
Clayton Craft da5a6ad928 main/postmarketos-mkinitfs: upgade to 2.6.4
Fixes:
  - Fix .zst fallback when including firmware

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6882
[ci:skip-build]: already built successfully in CI
2025-08-04 17:42:49 -07:00
Clayton Craft f55e636267 systemd: enable systemd-import
Used by systemd-sysupdate

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Clayton Craft a8a325d80a systemd: enable sysupdate
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Clayton Craft 35a3e6de05 systemd: enable bless-boot generator
This does a hack to removing the need to build the stuff in src/boot for
enabling bless-boot. Previously I tried to enable bless-boot by adding
-Dbootloader=enable, which would be required without this hack, but
cross-compiling systemd/src/boot failed on 32-bit archs and it seemed
unnecessary to go down that rabbit hole to debug/fix.

Why? Because:

1) It's not actually needed for building the stuff I care about enabling
in this MR (systemd-bless-boot and its generator). These things build
and work just fine without building stuff in src/boot.

2) Even if it worked, we would have to remove the artifacts made
from src/boot and not package them here. They would conflict with the
systemd-boot package in Alpine.

So it seems pointless to waste time fixing some weird cross-compiling
issue for some components that don't actually need to be built to enable
the extra features I want and would be discarded anyways in package()

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Pablo Correa Gómez 80d1db23ba main/postmarketos-ui-plasma-mobile: add replaces on plasma-mobile-meta
Since we replace some files, e.g: /etc/xdg/kscreenlockerrc

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6879
[ci:skip-build]: already built successfully in CI
2025-08-04 20:01:20 +02:00
Pablo Correa Gómez 653b73efce main/postmarketos-base-ui-plasma: add replaces on plasma-mobile-meta
Since we replace some files, e.g:
/etc/skel/.local/share/kwalletd/kdewallet.kwl

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6879
2025-08-04 20:01:20 +02:00
Clayton Craft e48304b386 Revert "main/bootchart2: upgrade to 0.14.9_git20220807"
This reverts commit 6a62061056.

see: https://gitlab.postmarketos.org/postmarketOS/build.postmarketos.org/-/issues/164
2025-08-04 10:51:48 -07:00
Clayton Craft 26f0531efb main/postmarketos-mkinitfs: upgrade to 2.6.3
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6878

[ci:skip-build]: already built successfully in CI
2025-08-04 09:54:07 -07:00
postmarketOS CI 97a0169d34 linux-next: upgrade to next-20250804 2025-08-04 15:49:37 +00:00
Alicja Michalska fbb05a04f9 xiaomi-pyxis: new device
Add initial port for Xiaomi Mi 9 Lite (xiaomi-pyxis).
SDM710 is WIP.

Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6819
[ci:skip-build]: already built successfully in CI
2025-08-04 16:57:43 +02:00
Felix Kaechele cee82ca962 device-qcom-msm8953: add wakeup keys for Lenovo ThinkSmart View
This forces the volume keys to wake up the screen.

For now, this device has no other method of waking up the screen if no
external input methods are attached.

On the vendor's Android OS the proximity sensor wakes up
the screen, but it doesn't work on pmOS yet.

The touchscreen is disabled when the screen is blanked, so we cannot use
it to wake up the device.

Signed-off-by: Felix Kaechele <felix@kaechele.ca>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6832
[ci:skip-build]: already built successfully in CI
2025-08-04 16:41:06 +02:00
Aster Boese b0542f4161 main/postmarketos-base: install sysctl.d configs under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6836

[ci:skip-build]: already built successfully in CI
2025-08-04 16:38:11 +02:00
Biswapriyo Nath 00aca7844f systemd/systemd-services: add service file for spectacle
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6860

[ci:skip-build]: already built successfully in CI
2025-08-04 16:27:11 +02:00
Pablo Correa Gómez 1008b91e7b main/0xffff: upgrade 0.10
picked by pmbootstrap aportupgrade

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6601
[ci:skip-build]: already built successfully in CI
2025-08-04 16:25:21 +02:00
Pablo Correa Gómez 6a62061056 main/bootchart2: upgrade to 0.14.9_git20220807
picked by pmbootstrap aportupgrade

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6601
2025-08-04 16:25:21 +02:00
Sicelo A. Mhlongo 5edf40fbe9 xkeyboard-config: upgrade to latest upstream
Upgrade to latest upstream HEAD, paving the way to eventually drop the fork.
The Nokia patch has been submitted upstream,
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/840

As of xkeyboard-config 2.45, the data directory has been changed to
/usr/share/xkeyboard-config-2/ instead of the legacy /usr/share/X11/xkb. Update
paths in the device-nokia-n900 package to match.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6869
[ci:skip-build]: already built successfully in CI
2025-08-04 16:17:36 +02:00
fossdd 814e59b5a5 systemd/gnome-shell: upgrade to 48.4
https://gitlab.alpinelinux.org/alpine/aports/-/commit/45ae831b92535c7769edd87097b7470b976e3c09

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6875
[ci:skip-build]: already built successfully in CI
2025-08-04 16:08:59 +02:00
Robert Eckelmann d38e745439 linux-postmarketos-marvell: upgrade to 6.16
beside the migration to 6.16,
UDMABUF was also enabled to satisfy the kconfig check

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6868
2025-08-04 06:22:44 -04:00
Richard Acayan 24d161508f device-google-sargo: install modem-gnss in subpackage for real
Fixes: ba2403462a ("google-sargo: move openrc gnss service to openrc subpackage")
Closes: https://builds.sr.ht/~postmarketos/job/1543528#task-img
2025-08-03 22:05:34 -04:00
Michal Bogdziewicz 3ab5259d47 linux-postmarketos-mediatek-mt81: fix corsola audio
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6831
2025-08-03 14:20:23 -04:00
Eisenbahnfan a7de13067c firmware-samsung-n2awifi: Add touchscreen config file
This adds the config file for the maXTouch mXT1664S file for n2awifi.
The only difference to the original config is, that CTE_SCAN is disabled,
because it made the touchscreen unusable on linux.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6871
2025-08-03 13:53:07 -04:00
Eisenbahnfan 6020fecb90 firmware-samsung-v1awifi: Add touchscreen config file
This adds the config file for the maXTouch mXT1664S file for v1awifi.
The only difference to the original config is, that CTE_SCAN is disabled,
because it made the touchscreen unusable on linux.
2025-08-03 00:33:00 +02:00
Henrik Grimler dbc2aea5c6 u-boot-samsung-i9100: move to archived category
The downstream port of i9100 does not use u-boot-samsung-i9100, so it
is essentially dead code. Furthermore, this u-boot is ancient, based
on 2012.04-rc1, with backported patches to get ext4 support. It is
hence not really suitable for use with postmarketos.

[ci:skip-build]: build fails.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6847
2025-08-02 10:14:23 -07:00
Clayton Craft 5ef4d6143a systemd/gdm: add sysuser config
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6851
2025-08-02 00:13:21 -04:00
Clayton Craft 91aa907554 systemd/systemd-services: add sysuser conf for ssh and dnsmasq
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6851
2025-08-02 00:13:18 -04:00
Anjandev Momi 1473d92280 systemd/systemd-services: add service file for siglo
Tested this service file on my postmarketOS device by copying this file
to ~/.config/systemd/user and enabling.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6743
2025-08-01 23:49:14 -04:00
Richard Acayan ba2403462a google-sargo: move openrc gnss service to openrc subpackage
On a new installation, the OpenRC subpackage can be installed before the
main package. The modem-gnss service is already needed when the
subpackage is installed. Move the service file to the subpackage so new
installations don't error out.

    ( 66/750) Installing device-google-sargo-openrc (13-r0)
    device-google-sargo-openrc-13-r0.post-install: Executing script...
    device-google-sargo-openrc-13-r0.post-install:  * service hexagonrpcd-adsp-sensorspd added to runlevel sysinit
    device-google-sargo-openrc-13-r0.post-install:  * rc-update: service `modem-gnss' does not exist
    ERROR: device-google-sargo-openrc-13-r0.post-install: exited with error 1
    ...
    (199/750) Installing device-google-sargo (13-r0)
    ...
    1 error; 1335 MiB in 766 packages

Link: https://builds.sr.ht/~postmarketos/job/1542762#task-img

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6866
2025-08-01 23:43:37 -04:00
maddinkunze f4ec8960a3 zte-v0720: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6826
2025-08-01 11:52:02 -04:00
postmarketOS CI 20583dfc59 linux-next: upgrade to next-20250801 2025-08-01 15:49:35 +00:00
Biswapriyo Nath 2d84b7fcff systemd/gdm: fix building with gcc 15
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6861

[ci:skip-build]: already built successfully in CI
2025-07-31 23:51:49 -07:00
Oliver Smith a068708156 systemd/sddm: upgrade to 0.21.0-r6
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/392c1094580003f3bd8c7e663214c0fe93f48c3d

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6857
[ci:skip-build]: already built successfully in CI
2025-08-01 07:59:52 +02:00
Oliver Smith 08c7d7d784 cross/gcc-*: upgrade to 15.1.1_git20250726-r0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6858

[ci:skip-build]: already built successfully in CI
2025-08-01 07:58:05 +02:00
Oliver Smith 403c5a4059 cross/musl-*: upgrade to 1.2.5-r17
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6856

[ci:skip-build]: already built successfully in CI
2025-08-01 07:55:57 +02:00
Clayton Craft ff3eeeb4f8 device-asus-s5507q: remove module dropped in 6.16, remove dependency on wifi fw pkg
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a

This also drop dependency on wifi firmware pkg, for context see:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6709#note_494045

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6709
[ci:skip-build]: already built successfully in CI
2025-07-31 22:38:08 -07:00
Clayton Craft 2c713d1d93 device-postmarketos-trailblazer: remove module dropped in 6.16
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a
2025-07-31 22:31:19 -07:00
Clayton Craft 3422ba45dd device-qcom-rbx: remove module dropped in 6.16
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a
2025-07-31 22:31:19 -07:00
Clayton Craft c09b0dc4e7 linux-postmarketos-qcom-laptop: upgrade to 6.16
- Enable module for CH34x usb serial converters
- Enable module for VHOST_VSOCK (useful for `mkosi vm`)
2025-07-31 22:31:19 -07:00
Duje Mihanović 47c1e47cd4 device-samsung-coreprimevelte: use mmp subdir for DTs
With the latest PXA1908 kernel patchset, the device tree is placed into
marvell/mmp/ instead of marvell/. Reflect this in the device package.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6849
[ci:skip-build]: already built successfully in CI
2025-07-31 19:09:34 +02:00
Duje Mihanović 7018e9422f linux-samsung-coreprimevelte: upgrade to 6.15.8
The PXA1908 patchset is also updated.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6849
2025-07-31 19:09:34 +02:00
Robert Eckelmann 61827eaa2c device-samsung-i927: enable initfs_extra
required to keep the boot.img below 8 MB.

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6821
[ci:skip-build]: already built successfully in CI
2025-07-31 18:51:23 +02:00
Antoine Martin b52cbea878 u-boot-pine64-pinenote: upgrade to 2025.07
Incidently, move to upstream source

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6844
[ci:skip-build]: already built successfully in CI
2025-07-31 18:46:52 +02:00
Sandelinos 277b60dca1 device-raspberry-pi0: remove config.txt
This file is generated by raspberrypi-bootloader

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6850
[ci:skip-build]: already built successfully in CI
2025-07-31 18:35:40 +02:00
Sandelinos dbcde128a0 device-raspberry-pi0: remove legacy video options from config.txt
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6850
2025-07-31 18:35:40 +02:00
Sandelinos 52d3137a36 device-raspberry-pi0: fix booting, enable vc4-kms-v3d
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6850
2025-07-31 18:35:40 +02:00
Barnabás Czémán 21dc9c4195 linux-postmarketos-qcom-msm89x7: Upgrade to v6.15.7-r1
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6827

[ci:skip-build]: already built successfully in CI
2025-07-31 09:18:46 -07:00
postmarketOS CI 20e143b36c linux-next: upgrade to next-20250731 2025-07-31 04:45:15 +00:00
postmarketOS CI 59102218e5 linux-next: upgrade to next-20250730 2025-07-30 15:52:46 +00:00
Henrik Grimler 18590df8ff linux-samsung-gts210lte: set console=ttySAC1
ttySAC1 is the debug uart on this device.

Unfortunately something stops kernel output a certain time into boot,
so we only get output for the first few seconds.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6745
2025-07-30 16:03:50 +02:00
Henrik Grimler ac421c24eb linux-samsung-gts210lte: re-generate config and cleanup patches
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6745
2025-07-30 16:03:50 +02:00
Henrik Grimler cc6086d029 device-samsung-gts210lte: set getty to ttySAC1
ttySAC1 is the debug uart on this device.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6745
2025-07-30 16:03:50 +02:00
Henrik Grimler 02e10a2161 device-samsung-gts210lte: deviceinfo: drop un-needed variables
screen_width and screen_height are only needed for
dev_touchscreen_calibration calculation. We do not need to set
dev_touchscreen_calibration though, as we already ship a custom
90-sec_touchscreen.rules file with the same calibration.

Suggested-by: @sicelo
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6745
2025-07-30 16:03:50 +02:00
Henrik Grimler fcca70824e device-samsung-gts210lte: re-add 90-sec_touchscreen.rules
The install command was accidentally dropped in commit
dd04440b64 ("device-samsung-gts210lte: avoid overriding udev v4l
rule in /etc").

Also change so it is installed to /usr/lib/udev/rules.d/.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6745
2025-07-30 16:03:50 +02:00
binarycraft007 adea3cc823 firmware-asus-s5507q: remove ath12k firmware override
With the latest release of linux-firmware, ath12k regression is now
fixed, so there is no need to bring our own wifi fw:

- https://gitlab.com/kernel-firmware/linux-firmware/-/commit/225e865382d484dbedf4fd5e0347d91c3f9ec0c4
- https://gitlab.alpinelinux.org/alpine/aports/-/commit/da7cfa95cf57285b2f3a23eab563523686765569

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6681
2025-07-30 21:56:17 +09:00
Martin Roukala (né Peres) 8c2bf6c07e qemu-aarch64: add hwci support
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:25 +02:00
Martin Roukala (né Peres) 89407374b2 qemu-aarch64/deviceinfo: set the default baudrate for ttyAMA0
This ensures consistency between the kernel boot messages' baudrate
and getty's.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Martin Roukala (né Peres) 553479cfe8 qemu-amd64: add hwci support
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Martin Roukala (né Peres) 541f804b97 qemu-amd64/deviceinfo: set the default baudrate for ttyS0
This ensures consistency between the kernel boot messages' baudrate
and getty's.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Martin Roukala (né Peres) a0fd5e421c ci: add support for building and testing device boot images
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Martin Roukala (né Peres) dd643bff2a ci: ignore "gitlab-ci.yml.j2" files in packages
These files are meant for hardware CI and are unrelated to the actual
package.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Pablo Correa Gómez 0257d1ee5c build-jobs: expose the locally-generated key as an artifact
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6696
2025-07-30 12:54:24 +02:00
Aster Boese ac6e83ec15 nokia-n900: install files under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6807

[ci:skip-build]: already built successfully in CI
2025-07-30 09:16:05 +02:00
Aster Boese 32ce8a293f samsung-manta: remove wlan modification files
As per https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6804#note_491990,
these files are irrelevant and not useful anymore, so just remove them.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6804
[ci:skip-build]: already built successfully in CI
2025-07-30 09:12:52 +02:00
Aster Boese a19344088d samsung-manta: install files under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6804
2025-07-30 09:12:52 +02:00
Aster Boese 78b2485f3a samsung-goyawifi: install files under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6806

[ci:skip-build]: already built successfully in CI
2025-07-30 09:10:56 +02:00
adamthiede 76762ffd01 linux-postmarketos-mediatek-mt8173: upgrade to 6.16
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6833
2025-07-29 21:52:34 -07:00
Antoine Martin f82228f16f temp/pneink-theme: drop to sync with aports
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6841

[ci:skip-build]: already built successfully in CI
2025-07-29 21:38:32 +02:00
Antoine Martin a37aed0124 temp/rot8: drop to sync with aports
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6841
2025-07-29 21:38:32 +02:00
Antoine Martin ad272faee5 temp/nwg-menu: drop to sync with aports
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6841
2025-07-29 21:38:31 +02:00
postmarketOS CI 6c9a8fee3d linux-next: upgrade to next-20250729 2025-07-29 15:44:47 +00:00
Antoine Martin a8d06bf180 u-boot-pine64-pinenote: use latest ddr and bl31 firmware
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6839

[ci:skip-build]: already built successfully in CI
2025-07-29 08:38:21 +02:00
Oliver Smith fcaffd5ecd Revert "systemd/gdm: revert to pkgrel=1"
This reverts commit 3136413814. I made a
mistake there, the pkgrel of the current binary packages is at -r2.

  root@bpo:…/extra-repos/systemd/master/x86_64# ls gdm-* -1
  gdm-99948.0-r2.apk
  gdm-dev-99948.0-r2.apk
  gdm-doc-99948.0-r2.apk
  gdm-lang-99948.0-r2.apk
  gdm-systemd-99948.0-r2.apk

[ci:skip-build]
[ci:skip-vercheck]
2025-07-28 23:13:58 +02:00
Oliver Smith 3136413814 systemd/gdm: revert to pkgrel=1
The current binary package is at pkgrel 1, looks like this was bumped
twice in a row.

[ci:skip-build]
[ci:skip-vercheck]
2025-07-28 22:37:28 +02:00
Oliver Smith b5362184ce systemd: revert some of the pkgrel bumps
Revert some of the pkgrel bumps from 7429bed2 ("*/*: bump pkgrels of
packages with systemd subpackages"), as they fail for various reasons in
BPO now that are unrelated to rebuilding with the latest abuild +
systemd patch. We can't fix all of them now (I've already spent some
significant time firefighting here today...), so let's unblock BPO and
all pmaports users who currently need to build all of the systemd
packages themselves until BPO finishes the repo, and will also run into
the same errors when trying to build those packages in particular.

* cups -> unkown:
  https://builds.sr.ht/~postmarketos/job/1540055
  https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3867

* gdm -> GCC 15:
  https://gitlab.alpinelinux.org/alpine/aports/-/commit/a09144387e314c213b69f9ef43265acc7c345e60
  (let's add this another time after the queue in BPO is cleared)

* networkmanager -> unkown:
  https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3866

* plasma-workspace -> unknown:
  https://gitlab.alpinelinux.org/alpine/aports/-/issues/17407

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6837
2025-07-28 22:25:56 +02:00
Oliver Smith 6ce0f6b1db systemd/gnome-settings-daemon: add dep systemd-dev
Add the missing makedepend to systemd-dev. For some reason this has
mostly worked previously, I guess because systemd-udev got pulled in to
replace eudev, which then also caused systemd-dev to get installed. This
even was the case on my local system when I initally tried to reproduce
this. Only after using BPO's current WIP repos I was able to reproduce
the behavior on BPO, and verify that this fixes the bug.

Fixes: https://builds.sr.ht/~postmarketos/job/1540044

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6835
[ci:skip-build]: already built successfully in CI
2025-07-28 20:50:26 +02:00
postmarketOS CI c4f2cbb659 linux-next: upgrade to next-20250728 2025-07-28 15:49:44 +00:00
Alistair Francis 1a139f85fb systemd/postmarketos-base-systemd: enable Pixel 3a modem-gnss.service
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6588

[ci:skip-build]: already built successfully in CI
2025-07-28 10:39:12 +02:00
Alistair Francis 42dd2e07d2 device-google-sargo: Enable GNSS automatically
Following the steps described here:
https://gitlab.com/sdm670-mainline/linux/-/issues/4#note_2448131089
we can enable GNSS automatically at boot.

Resolves: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2788
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6588
2025-07-28 10:39:12 +02:00
Antoine Martin c4055c71fa device-pine64-pinenote: add sway subpackage
Integrates hrdl's sway config files.
See https://git.sr.ht/~hrdl/pinenote-dist

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
[ci:skip-build]: already built successfully in CI
2025-07-28 10:33:00 +02:00
Antoine Martin d49671638c device-pine64-pinenote: add symbolic link to wifi firmware in nonfree subpackage
This fixes an error with bcrmfmac is looking for wifi firmware via a
symbolic link that doesn't exist in the linux-firmware package

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin 704c2d80db device-pine64-pinenote: add xournalpp subpackage
Includes xournal config files to adapt it to e-ink screen

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin 837cea09fa device-pine64-pinenote: add x11 subpackage
Includes touchscreen config file

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin 8016012af9 device-pine64-pinenote: add nonfree-firmware-systemd subpackage
Subpackage includes waveform extraction services which only start once
when device is booted for the first time.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin 111dba9e3b temp/pneink-theme: new aport
Upstream MR: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/87513

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin a7833f3439 temp/nwg-menu: new aport
Upstream MR: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/87512

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:33:00 +02:00
Antoine Martin 4b450cac66 temp/rot8: new aport
Upstream MR: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/87514

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:32:59 +02:00
Antoine Martin ba9a20264a device-pine64-pinenote: add partition-table
* add `partition-table.txt` which sets the partition table using
`rkdeveloptool`. Due to lack of support from pmbootstrap, currently has
to be done manually.  Comments are added in `deviceinfo` to make that clear.
* removes from `deviceinfo` `deviceinfo_sd_embed_firmware` as unused.
Due to lack of support from pmbootstrap for flashing u-bout using
pmbootstrap, currently has to be done manually. Comments are added
in `deviceinfo` to make that clear.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
2025-07-28 10:32:59 +02:00
Oliver Smith a1b32209a3 cross/gcc-*: upgrade to 15.1.1_git20250719-r2
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6829

[ci:skip-build]: already built successfully in CI
2025-07-27 17:08:14 -04:00
Aster Boese 7783568da9 temp/gnome-settings-daemon-mobile: bump pkgrel to make CI happy
[ci:skip-build]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6713
2025-07-27 17:03:11 -04:00
Aster Boese 7429bed2ca */*: bump pkgrels of packages with systemd subpackages
Update to use the new version of the abuild systemd split function.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6713
2025-07-27 17:03:09 -04:00
Clayton Craft 63d2bc78f5 temp/abuild: update to latest version of -systemd split patch
A few minor changes/refactorings were made from feedback received in
https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/394

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6713
2025-07-27 17:02:45 -04:00
Pablo Correa Gómez 20cecf9a7e main/msm-firmware-loader: install openrc init scripts from upstream
These are now included upstream, no need to keep them in pmaports

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6824
[ci:skip-build]: already built successfully in CI
2025-07-27 12:47:31 +02:00
Pablo Correa Gómez ad9d651dba main/msm-firmware-loader: upgrade to 1.8.0
The firmware mountpoint is now created under /run, so no need to
create it

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6824
2025-07-27 12:47:27 +02:00
Pablo Correa Gómez 652e1afa0f pmaports.cfg: add supported_usr_merge
Since 2a9d4da33a this is supported in
pmaports.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6825
2025-07-27 12:18:14 +02:00
Oliver Smith 48279a26b8 cross/musl-*: upgrade to 1.2.5-r15
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6828

[ci:skip-build]: already built successfully in CI
2025-07-27 11:26:03 +02:00
Oliver Smith 3fe30397b9 cross/busybox-static-*: upgrade to 1.37.0-r21
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6828
2025-07-27 11:25:59 +02:00
Hendra Manudinata d0995c138e linux-samsung-j4lte: enable required configurations for Docker
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6716
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6716
2025-07-27 00:24:40 -04:00
Hendra Manudinata d7e410d6a3 linux-samsung-j4lte: update source and add zstd zram algorithm
- Enable zstd zram algorithm support
- Refresh kernel patches
- Switch to a new source location

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6716
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6716
2025-07-27 00:24:40 -04:00
Bart Ribbers 1b091bd281 google-sargo: install config for plasma-camera
The google-sargo is not quick enough to handle the default plasma-camera
settings. The resolution is a setting too high so this sets it back to
720p which works well enough.
The codec is set to default but I'm adding it to make sure it's
something we know works when the upstream default changes.

The app still says the codec can't keep up but we can't get much better
out of it currently.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6791
2025-07-26 18:17:53 -04:00
Biswapriyo Nath 9ee0b6ef19 systemd/systemd-services: add service files for blueman
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6803
2025-07-26 15:57:52 -04:00
adamthiede f5c2d24785 linux-postmarketos-mediatek-mt8173: upgrade to 6.15.8
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6823
2025-07-26 15:44:25 -04:00
Antoine Martin b4cb0a240b pinenote-dbus-service: add systemd subpackage
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6811
2025-07-24 23:29:20 -07:00
postmarketOS CI 2df6eac627 linux-next: upgrade to next-20250725 2025-07-25 04:49:59 +00:00
GoldenVadim ea9a248af4 device-xiaomi-fog: change bootimg header version to 3
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6810
2025-07-24 15:44:13 +02:00
Casey Connolly 5613801b5b device-qcom-rbx: new aport
Add a generic device target which can boot on any of the Qualcomm
RB3/5/3Gen2 boards via systemd-boot. The boards are expected to have
U-Boot flashed as per the U-Boot documentation.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6650
[ci:skip-build]: already built successfully in CI
2025-07-24 15:40:58 +02:00
postmarketOS CI ae5c9f2892 linux-next: upgrade to next-20250724 2025-07-24 04:49:36 +00:00
Oliver Smith 3fb4a0427f issue template: remove v24.12 (EOL) 2025-07-23 22:00:24 +02:00
Oliver Smith d4957d791c channels.cfg: mark v24.21 as unsupported (EOL) 2025-07-23 21:59:49 +02:00
Barnabás Czémán 4a61fa034d soc-qcom-msm89x7: Add subpackages for enable modem
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6774

[ci:skip-build]: already built successfully in CI
2025-07-23 21:03:49 +02:00
Barnabás Czémán 7d997f5c40 systemd/systemd-services: Add new service for msm-modem-wwan-port
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6774
2025-07-23 21:03:46 +02:00
Barnabás Czémán 16885b7f42 modem/msm-modem-wwan-port: new package
Add new package for create wwan interface for MSM8909
and MSM89x7 devices.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6774
2025-07-23 20:49:54 +02:00
Oliver Smith e0a9749818 systemd/pipewire: upgrade to 1.4.7
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/342116acb74ca90003990de8bd0f5300006850ec

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6817
[ci:skip-build]: already built successfully in CI
2025-07-23 19:35:45 +02:00
Oliver Smith 9ee28aa4de cross/busybox-static: upgrade to 1.37.-r20
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6816

[ci:skip-build]: already built successfully in CI
2025-07-23 19:24:02 +02:00
Dzmitry Sankouski 0a53e63792 device-samsung-starqltechn: add unl0kr-fbforcerefresh dependency
Add unl0kr-fbforcerefresh, for unl0kr to refresh screen.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6692
[ci:skip-build]: already built successfully in CI
2025-07-23 18:59:15 +02:00
Val Packett f08523a221 systemd/systemd-services: add tinysparql
The tinysparql-xdg-portal-3.service is required for D-Bus activation of
the XDG portal used for Tracker/LocalSearch by e.g. GNOME Music.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6766
2025-07-23 18:10:44 +02:00
Val Packett 271d477d45 systemd/systemd-services: rename tracker/localsearch filenames to match dbus
This fixes D-Bus activation for LocalSearch services.

Note that in the repo, the *filenames* for these are still 'tracker', but
the Meson build system installs them under new 'localsearch' names!

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6766
2025-07-23 18:10:11 +02:00
Antoine Martin 64f63588eb u-boot: use same bl31, ddr, as downstream u-boot
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6796

[ci:skip-build]: already built successfully in CI
2025-07-23 17:58:58 +02:00
Antoine Martin eed92b3f42 u-boot-pine64-pinenote: upgrade to 2025.04
* manually generate idbloader.img, as it fails when using BL31 from
  arm-trusted-firmware
* packages proprietary SPL as it is needed when flashing a new
  partition table using rkdeveloptool
* add update-u-boot script to facilitate upgrades

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6796
2025-07-23 17:58:58 +02:00
Antoine Martin 7ea96d5718 linux-pine64-pinenote: upgrade to 6.15.7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6815

[ci:skip-build]: already built successfully in CI
2025-07-23 17:37:30 +02:00
postmarketOS CI 2c14a84e9f linux-next: upgrade to next-20250723 2025-07-23 04:50:04 +00:00
Luca Weiss 383028dfa5 device-huawei-sturgeon: add lk2nd-msm8226 dependency
Add the dependency to be able to use "pmbootstrap flasher flash_lk2nd".

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6699
2025-07-22 19:01:04 +02:00
Luca Weiss c8c5a935c1 device-asus-sparrow: add lk2nd-msm8226 dependency
Add the dependency to be able to use "pmbootstrap flasher flash_lk2nd".

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6699
2025-07-22 19:01:04 +02:00
Luca Weiss a23cc0aa14 linux-postmarketos-qcom-msm8226: upgrade to 6.15.2
No manual kconfig changes

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6684
[ci:skip-build]: already built successfully in CI
2025-07-22 18:53:15 +02:00
Luca Weiss f2f354e7f3 linux-postmarketos-qcom-msm8953: shorten LOCALVERSION to -msm8953
The full version number with -postmarketos-qcom-msm8953 appended becomes
a bit long for the splash screen. Shorten it to just -msm8953.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6736
[ci:skip-build]: already built successfully in CI
2025-07-22 18:49:25 +02:00
postmarketOS CI 26062589a1 linux-next: upgrade to next-20250722 2025-07-22 04:49:45 +00:00
postmarketOS CI bcd094d8ae linux-next: upgrade to next-20250721 2025-07-21 15:49:52 +00:00
Nikita Travkin 6640b432b6 main/dtbloader: upgrade to 1.5.0
ar is set to binutils one since it seems like "cmd:llvm-ar" in Alpine
resolves to "llvm" that installs the symlink but the binary itself
isn't being installed somehow...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6808
[ci:skip-build]: already built successfully in CI
2025-07-21 11:10:59 +02:00
Stefan Hansson cdd4c651ca device-xiaomi-perseus: fix checksum
I removed an unnecessary comment from the deviceinfo file (mentioned
osk-sdl which is gone since long) when merging, but I didn't think to
upodate the checksums.

Fixes 0397051146
2025-07-21 08:42:15 +02:00
Aster Boese e67d12752d raspberry-pi3: install files under /usr
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6805

[ci:skip-build]: already built successfully in CI
2025-07-21 07:42:22 +02:00
Robert Eckelmann e7711f02cb device-google-nyan-blaze: take over maintainership
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6782

[ci:skip-build]: already built successfully in CI
2025-07-21 07:39:49 +02:00
Robert Eckelmann a7c3137977 device-google-nyan-big: take over maintainership
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6782
2025-07-21 07:39:48 +02:00
Robert Eckelmann 71e8067cbc linux-google-nyan: take over maintainership
as proposed in https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6765#note_490866

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6782
2025-07-21 07:39:48 +02:00
Barnabás Czémán 39fbc6ae69 main/msm-firmware-loader: Upgrade to 1.7.0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6799

[ci:skip-build]: already built successfully in CI
2025-07-21 07:37:14 +02:00
Barnabás Czémán e4719fea2e device-qcom-msm89x7: Add support for SDM429
Add support for SDM429 and SDM429W.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6809
[ci:skip-build]: already built successfully in CI
2025-07-21 07:31:03 +02:00
Barnabás Czémán ca02eec4a6 linux-postmarketos-qcom-msm89x7: upgrade to v6.15.7-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6809
2025-07-21 07:31:03 +02:00
Noi 0397051146 xiaomi-perseus: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6610

[ci:skip-build]: already built successfully in CI
2025-07-20 19:17:20 +02:00
postmarketOS CI 8c498045f9 linux-next: upgrade to next-20250718 2025-07-18 15:49:39 +00:00
Clayton Craft 1de3ea4e3d Revert "temp/eudev-compat: fork eudev from alpine to build systemd"
This reverts commit 61d0f3de8b.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6797
[ci:skip-build]: already built successfully in CI
2025-07-17 17:58:40 -07:00
Clayton Craft e05f990135 Revert hacks to get systemd to build again
This reverts commit cd60d78ac1.
This reverts commit d1ec69e1f2.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6797
2025-07-17 17:58:08 -07:00
Clayton Craft cd60d78ac1 systemd: add eudev-compat to makedepends
in order to build systemd when systemd-udev pkg is broken in binary repo

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
[ci:skip-build]: already built successfully in CI
2025-07-17 17:52:29 -07:00
Clayton Craft 61d0f3de8b temp/eudev-compat: fork eudev from alpine to build systemd
This is temporary, just to fix building systemd

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 17:52:19 -07:00
Clayton Craft d1ec69e1f2 systemd: drop libfido2 dependency
This allows building systemd without pulling in udev, and should be
reverted once systemd is updated in the binary repos...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 17:04:37 -07:00
Clayton Craft 44688263bd Revert "systemd: provide -dev as elogind-dev"
This commit (and the one before it) seem to have broken building new
images, apk hits a conflict with udevd and systemd-udevd:

  systemd-udevd-257.7-r1:
    conflicts: systemd-257.7-r1[eudev=257.7-r1]
    satisfies: systemd-257.7-r1[systemd-udevd=257.7-r1]
  systemd-257.7-r1:
    conflicts: systemd-udevd-257.7-r1[eudev=257.7-r1]
    satisfies: postmarketos-base-systemd-48-r0[systemd]
               systemd-journald-257.7-r1[so:libsystemd-shared-257.so]
               systemd-logind-257.7-r1[systemd=257.7-r1]
               systemd-logind-257.7-r1[so:libsystemd-shared-257.so]
               systemd-timesyncd-257.7-r1[systemd=257.7-r1]
               systemd-timesyncd-257.7-r1[so:libsystemd-shared-257.so]
               systemd-udevd-257.7-r1[so:libsystemd-shared-257.so]

This reverts commit a6a31b3fe7.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 14:28:20 -07:00
Clayton Craft f10fb45ae5 Revert "systemd: versionize systemd-related provides"
This reverts commit 74f754ecef.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 14:22:23 -07:00
fossdd 74f754ecef systemd: versionize systemd-related provides
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6381
2025-07-17 13:12:42 -04:00
fossdd a6a31b3fe7 systemd: provide -dev as elogind-dev
systemd-dev includes headers for logind and Alpine packages depending on
these headers specify elogind as dependency.

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6381
2025-07-17 13:12:42 -04:00
Pablo Correa Gómez 2a9d4da33a temp/alpine-baselayout: fork from alpine's /usr-merge branch
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/85504

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6754
[ci:skip-build]: already built successfully in CI
2025-07-17 19:07:09 +02:00
postmarketOS CI 3695b0bf4f linux-next: upgrade to next-20250717 2025-07-17 15:55:27 +00:00
Anri Dellal cc3d04f233 pmaports.cfg: add systemd_linux_{min,recommended}_version
Add properties to check if port meets kernel version requirement for systemd

Set values according to systemd's readme

See also:
https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2588
https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2647

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6781
[ci:skip-build]: already built successfully in CI
2025-07-16 21:26:43 +02:00
Ferass El Hafidi 6dcf578de6 device-amlogic-aarch64-tvbox: add support for Amlogic P281 reference board
(S905W)

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Tested-by: Ivan Davydov <lotigara@lotigara.ru>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6771
[ci:skip-build]: already built successfully in CI
2025-07-16 21:22:11 +02:00
Oliver Smith c0667cb4ea systemd/sddm: set proper pkgver and _pkgrel
* Include 0.21.0 in the pkgver instead of _git20240428, as we use the
  0.21.0 git tarball as source just like the Alpine package.

* Set _pkgrel=5 to indicate what Alpine pkgrel this fork is based on.
  This makes it easier to compare the packages / patches that we might
  need to apply downstream. Furthermore with _pkgrel set and pmb MR 2649
  merged, we will get notified when the pkgrel of the Alpine package and
  _pkgrel of this package get out-of-sync.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6769
[ci:skip-build]: already built successfully in CI
2025-07-16 21:01:13 +02:00
Stefan Hansson 4456501395 main/postmarketos-ui-os-installer: don't run os-installer and pmbootstrap as root
I'm not sure what the original motivation for doing this was, I would
guess just to get a minimal viable product working as soon as possible.
But based on my current testing, with these changes along with an
earlier commit that disabled the password requirement for privilege
escalation with doas, it is unnecessary and also solves at least one bug.

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6787
[ci:skip-build]: already built successfully in CI
2025-07-16 20:54:46 +02:00
Devin Lin 9962707c1e postmarketos-ui-plasma-mobile: add default homescreen
The current script doesn't do anything because the path was changed
during the Plasma 5 -> 6 transition. Change the script to supply a
default homescreen layout.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6786
[ci:skip-build]: already built successfully in CI
2025-07-16 20:44:37 +02:00
postmarketOS CI de4856cf46 linux-next: upgrade to next-20250716 2025-07-16 15:49:37 +00:00
Alicja Michalska e2a37f0d7e linux-postmarketos-qcom-sc7180: Re-enable internal USB HUB
Keyboard in wormdingler seems to have an integrated hub. Kernel update
from 6.6 to 6.12 changed kconfig's naming scheme, which resulted in this
module not being included.

This caused issues on wormdingler, but worked fine on lazor - hence why
I didn't catch it.

Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6788
2025-07-16 15:01:14 +02:00
Stefan Hansson e01e91736c main/postmarketos-ui-os-installer: allow passwordless root during installation
This can be useful for manually installing additional packages, running
programs that require root, debugging issues, and to the best of my
knowledge poses no real security issue as it's just during installation.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6784
[ci:skip-build]: already built successfully in CI
2025-07-16 10:51:11 +02:00
Ferass El Hafidi 6f7c861606 device-generic-x86_64: add myself as co-maintainer
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6779
2025-07-15 08:38:44 +02:00
Oliver Smith 9481543b7b CI: add cross-gcc-tests
When upgrading our cross gcc packages, build some packages with them to
ensure they work as expected.

Put the gitlab-ci.yml in cross/ instead of cross/gcc-x86_64, because:
* it tests gcc-aarch64 too
* so it does not get removed when regenerating gcc-x86_64 with
  pmbootstrap

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6776
2025-07-15 08:32:56 +02:00
Oliver Smith 1e8d98e1fb cross/gcc: upgrade to 14.3.0-r6
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/d0e738b780902942b991d6c993cb92cb6089c1a0

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6776
2025-07-15 08:32:56 +02:00
Devin Lin ac5949e1ca main/postmarketos-base-ui-plasma: switch snapshot with plasma-camera
plasma-camera now supports libcamera, we can use it instead of GNOME
Snapshot on Plasma.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6780
2025-07-14 22:58:21 -04:00
Oliver Smith ada641bbf4 cross/musl-*: upgrade to 1.2.5-r14
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6778

[ci:skip-build]: already built successfully in CI
2025-07-14 22:15:39 +02:00
fossdd 76400ae725 main/postmarketos-base-ui-gnome: remove org.gnome.Epiphany search-engines setting
Deprecated since
https://gitlab.gnome.org/GNOME/epiphany/-/commit/fbde9b187244be4ff899ac33922e621031e5b438
(December 2021) in favor or search-engine-providers.

Also it showed t he following warning in the glib trigger:

	glib-2.85.1-r0.trigger: No such key “search-engines” in schema “org.gnome.Epiphany” as specified in override file “/usr/share/glib-2.0/schemas/00_postmarketos-base-ui-gnome.gschema.override”; ignoring override for this key.

I'm not sure why the search-engines were originally overriden, see
d5c046c74e ("main/postmarketos-ui-gnome: new aport (!990)"). So I
think it's safe to keep using upstream's search engines as it is right
now.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6773
[ci:skip-build]: already built successfully in CI
2025-07-14 13:39:07 +02:00
Oliver Smith 5733a2b81a main/postmarketos-release-upgrade: upgrade to 1.10.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6772

[ci:skip-build]: already built successfully in CI
2025-07-13 17:55:54 +02:00
Jens Reidel 2fd253416e pmb:crossdirect: support ppc64le
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6770

[ci:skip-build]: already built successfully in CI
2025-07-13 15:34:28 +02:00
Biswapriyo Nath d227a5828e systemd/sddm: Fix dbus config filename conflict with lightdm
This fixes the following error while installing sddm and lightdm together.
ERROR: lightdm-1.32.0-r6: trying to overwrite usr/share/dbus-1/system.d/org.freedesktop.DisplayManager.conf owned by sddm-9999_git20240428-r0.

Backported from https://gitlab.alpinelinux.org/alpine/aports/-/commit/e3996ee2af40676e3be4afcc9582ddeaa83c1813

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6752
[ci:skip-build]: already built successfully in CI
2025-07-13 12:54:39 +02:00
Biswapriyo NathandBart Ribbers 7126f997aa systemd/sddm: set minimum UID to 1000
Convention on *nix systems is for non system-UID's to start at 1000.
Having the minimum UID set to lower than that means it'll show system
users where not intended.

Fixes a downstream (postmarketOS) reported issue.

Backported from https://gitlab.alpinelinux.org/alpine/aports/-/commit/6449f7759eb4e1902ac829d947cd74fb52036922

Co-authored-by: Bart Ribbers <bribbers@disroot.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6752
2025-07-13 12:54:34 +02:00
Robert Eckelmann f19d53f0cd linux-google-nyan: enable UDMABUF
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6765
2025-07-13 12:47:32 +02:00
Robert Eckelmann e38d25df46 linux-google-nyan: adjust CONFIG_HID as much as possible on this kernel version
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6765
2025-07-13 12:47:32 +02:00
Robert Eckelmann 875cd3fe7e linux-google-nyan: switch to -Os and enable xz compression for modules
as reported in #3477, the current kernel configuration causes an oversized image,
which cannot be installed.

Tests on actual HW welcome

closes #3477

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6765
2025-07-13 12:47:27 +02:00
Oliver Smith 8a7c9ce707 cross/crossdirect: run archivers natively too
Run native binaries for extracting / packing various archives if they
are installed in the native chroot when using the crossdirect
compilation method, instead of having them go through QEMU. The
resulting extracted/packed files should always be the same but this is
significantly faster.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6763
2025-07-13 12:25:58 +02:00
Oliver Smith 7e4ddbdc55 cross/crossdirect: tweak package() variables
* make arches and compilers diff friendly
* order arches alphabetically
* rename _bin to _bin_compilers in preparation for _bin_archivers

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6763
2025-07-13 12:25:58 +02:00
Robert Eckelmann 0bb036f300 postmarketos-ui-{mate,xfce4}: add systemd to options
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6668

[ci:skip-build]: already built successfully in CI
2025-07-13 12:21:05 +02:00
Robert Eckelmann a83b92dc72 systemd/postmarketos-base-systemd: add defaults for lightdm and xfce4
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6668
2025-07-13 12:21:05 +02:00
Robert Eckelmann 77ddd2827c systemd/systemd-services: add service files for XFCE4
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6668
2025-07-13 12:21:05 +02:00
Robert Eckelmann d03e385d60 systemd/systemd-services: add lightdm.service
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6668
2025-07-13 12:21:01 +02:00
Arnav Singh b80d00118d linux-postmarketos-allwinner: upgrade to 6.15.6_git20250710
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6764
2025-07-12 09:22:34 -07:00
WeirdTreeThing bb57bd6b80 linux-postmarketos-mediatek-mt8183: drop aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552

[ci:skip-build]: already built successfully in CI
2025-07-12 08:38:55 -07:00
WeirdTreeThing 9539bf687b linux-postmarketos-mediatek-mt81xx: drop aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:55 -07:00
WeirdTreeThing 425e5371fb device-google-corsola: switch to mt81 kernel
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:55 -07:00
WeirdTreeThing ea63a6fa8f device-google-cherry: switch to mt81 kernel
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:54 -07:00
WeirdTreeThing 34c37be315 device-google-asurada: switch to mt81 kernel
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:54 -07:00
WeirdTreeThing 0c781ca0d6 device-google-kukui: switch to mt81 kernel
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:54 -07:00
WeirdTreeThing 6923fa56e5 linux-postmarketos-mediatek-mt81: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6552
2025-07-12 08:38:51 -07:00
Ferass El Hafidi 88963a9c4f device-amlogic-tvbox: rename to device-amlogic-aarch64-tvbox
This port is exclusively for AArch64 TV boxes.  Given that there is an
Amlogic TV box port for Meson8 (ARMv7) in the works, it doesn't make
sense for the AArch64 port to have that generic name anymore.  So rename
it to reflect which Amlogic SoCs are suitable for it.

[ci:skip-vercheck]

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6744
2025-07-12 12:01:32 +00:00
Ferass El Hafidi e2203fa367 soc-amlogic-s905: rename to soc-amlogic-aarch64
This package is being used by a huge number of Amlogic devices besides
Amlogic S905.  This can lead to confusion, so rename it to a more
generic name.

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

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6744
2025-07-12 12:01:32 +00:00
Antoine Martin 368d76cad9 linux-pine64-pinenote: upgrade to 6.15.5
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6757

[ci:skip-build]: already built successfully in CI
2025-07-12 11:48:43 +02:00
André Apitzsch ca2a1ea8b4 device-motorola-peregrine: add support for newer lk2nd
Switch to msdos partition type, since lk2nd doesn't support GPT yet.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6678
2025-07-11 17:14:51 -04:00
Luca Weiss 76b33cdb15 ci: wiki: Use https in URLs
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6719
2025-07-11 22:20:55 +02:00
Luca Weiss 947b2d6bba ci: wiki: Use pathlib instead of os.path
Pathlib is the modern way to use

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6719
2025-07-11 22:20:55 +02:00
Luca Weiss 0973c059e5 ci: wiki: Add type hints
For one of the urllib responses, we need to make it a bit more explicit
that urlopen returns a bytes object - as per Python documentation. Not
sure why mypy needs some extra help there.

Checked with "mypy --strict".

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6719
2025-07-11 22:20:55 +02:00
Luca Weiss 6f8ce18d96 ci: wiki: Resolve some pylint warnings
Use resource management with urllib.request.urlopen, and move a print
out of an unnecessary "else" since the line before returns anyways.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6719
2025-07-11 22:20:50 +02:00
Henrik Grimler f94f17f188 linux-postmarketos-exynos5: update to 6.12.36
Tested on odroid-xu4 and samsung-n2awifi.

Changes include:

- Add driver for Wacom W9000-series touchscreen pens (@Eisenbahnfan)
- Fixes and enhancements for the Galaxy Tab Pros, {n2a,v1a}wifi (@Eisenbahnfan):
  - penabled touchscreen on V1A WiFi
  - DVFS for memory
  - fix sensors sometimes not starting on V1A WiFi
  - fix display lags due to frequency changes
  - fix cpus stuck on low frequency level
- Re-implement support for allocating a non-coherent DMA region (@Eisenbahnfan)
- Add driver for the AMS as3668 led, and enable it on manta (@LaT3St)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6756
[ci:skip-build]: already built successfully in CI
2025-07-11 22:12:41 +02:00
Henrik Grimler 481e494cdc main/dtbtool-exynos: fix unreliable behaviour
Hopefully these can be merged in the repo we track, but let's add them
to pmaports in the meanwhile.

Fixes issue where allocated, but non-set memory is used, which gives
unpredictable behaviour.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6746
[ci:skip-build]: already built successfully in CI
2025-07-11 22:03:33 +02:00
Alicja Michalska 6eb947d2e0 linux-postmarketos-qcom-sc7180: Update maintainer, bump to newest LTS
Jenneron sent me his Trogdor/Lazor (Acer Chromebook Spin 513-1H) nearly
a year ago, as he doesn't have time to work on it anymore... I didn't
have time to do it either (until now).

I updated maintainer to myself, removed patches that have been merged
and bumped the kernel to newest LTS as of today.

Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6740
[ci:skip-build]: already built successfully in CI
2025-07-11 15:11:30 +02:00
Sample Text 3620e3713e device-clockworkpi-uconsole-rpi: fix speakers regression
The speakers are not working on CM4 with the current configuration. usercfg.txt was misconfigured when CM3 and CM5 were added

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6760
[ci:skip-build]: already built successfully in CI
2025-07-11 12:56:37 +02:00
Alicja Michalska db58f4cd67 lynx-r1: New device
Add initial port for Lynx R1.
Kernel fork will be merged with sm8250-mainline in the future.

Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6748
[ci:skip-build]: already built successfully in CI
2025-07-11 01:09:50 +02:00
Oliver Smith 4b1148df72 systemd/networkmanager: upgrade to 1.52.1
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/a3bde6ff213d1deb283509455ba2cf1ed9538b22

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6762
[ci:skip-build]: already built successfully in CI
2025-07-10 20:41:55 +02:00
Aster Boese 114e8f9497 linux-apple-iphone7: fix kconfig
CI is yelling it me for apple-iphone7 being out of date on its kconfig, so just fix it.

[ci:skip-vercheck]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6733
[ci:skip-build]: already built successfully in CI
2025-07-10 19:59:35 +02:00
Aster Boese 3354f13d91 apple-*: move devices supported by apple-idevice to archived
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6733
2025-07-10 19:59:35 +02:00
Aster Boese efce7d736e apple-idevice: new device
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6733
2025-07-10 19:59:35 +02:00
Aster Boese ff439714ee linux-postmarketos-apple-4k: rename from linux-postmarketos-apple and upgrade
Renames linux-postmarketos-apple to linux-postmarketos-apple-4k to represent the page size as
linux-postmarketos-apple-16k does. Also upgrades the kernel version to 6.16.0-rc1.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6733
2025-07-10 19:59:30 +02:00
Bart Ribbers 1db2194def systemd/kwin: rebuild against Qt 6.9
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6761

[ci:skip-build]: already built successfully in CI
2025-07-10 17:41:37 +02:00
Henrik Grimler ea4aba479e systemd/systemd-services: add service file for nginx
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6755
2025-07-10 11:34:20 +00:00
Oliver Smith 4070cdc539 cross/busybox-static: upgrade to 1.37.0-r19
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6759
2025-07-09 20:32:53 +02:00
Oliver Smith a9527ced59 main/mobile-config-firefox: fix librewolf pkg dep
The mobile-config-firefox-librewolf package must depend on the main
package mobile-config-firefox, as it contains some common files.

Fixes: mobile-config-firefox#103

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6753
2025-07-07 19:46:00 +02:00
Oliver Smith a66c5a073b linux-postmarketos-allwinner: armv7: set UDMABUF=y
Adjust config-postmarketos-allwinner.armv7 to pass kconfig check:

  WARNING: config-postmarketos-allwinner.armv7: CONFIG_UDMABUF should be set (category:default)
  ERROR: kconfig check failed! More info: https://postmarketos.org/kconfig

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6533
2025-07-06 09:54:44 -07:00
Willow Barraco abaf0d43bd linux-postmarketos-allwinner: enable NFS over Kerberos security (MR 6533)
To enable NFS and Kerberos authentication, and encryption, I had to
follow the Gentoo documentation, and enable some modules:

https://wiki.gentoo.org/wiki/Nfs-utils#Kerberos

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6533
2025-07-06 09:54:44 -07:00
Bart Ribbers ecb601b7c8 systemd/plasma*: upgrade to 6.4.2
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6749

[ci:skip-build]: already built successfully in CI
2025-07-06 18:21:50 +02:00
Willow Barraco 6f65c4ba66 kconfigcheck: add netmount category to support NFS better
NFS allow the user to mount distant resources locally, and this is
specially great for mobiles devices, with limited disk space. The user
can couple this with FS-Cache, to limit the network impact. Kerberos
bring security to the NFS mounting.

This new category "netmout" make sure the kernels are built to support
this.
2025-07-06 15:05:36 +02:00
Noi 11e29d569f linux-postmarketos-qcom-sdm845: upgrade to 6.16-rc2-4
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6724
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6724
2025-07-06 20:40:53 +09:00
Sicelo A. Mhlongo b2399f7f09 temp: iio-sensor-proxy: import fix for broken buffer sensors
Import
https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/400
pending merge and tagging of new upstream release.

In pmOS, the chromebooks need these patches, since their accelerometer driver
has been found to implement buffers in a broken way.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6747
2025-07-06 11:46:09 +02:00
Richard Acayan d1f8b4179f google-bonito: mirror sargo changes
Mirror some of the changes to the Pixel 3a:

    device-google-sargo: add sensors support (MR 5329)
    google-sargo: add gpi to modules-initfs to fix fde (MR 5347)
    google-sargo: do not enable HexagonRPCD on every upgrade (MR 5400)
    google-sargo: stop HexagonRPCD on suspend (MR 5400)
    google-sargo: make necessary userspace changes for kernel v6.10.2
    device-google-sargo: remove nonfree_firmware subpkg (MR 6107)
    device-google-sargo: Fix hexagonrpcd on systemd (MR 6147)
    device-google-sargo: install hexagonrpcd conf to new location (MR 6217)
    device/*: explicitly depend on openrc if install scripts call rc-update

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6718
2025-07-05 01:26:45 -07:00
Clayton Craft ac28c52eef main/postmarketos-ui-cosmic: depend on bluez
For working BT out of the box...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6737
2025-07-05 09:31:45 +09:00
fossdd cea8e17acd systemd/kwin: depend on aurorae
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/86406/diffs?commit_id=afacd01e1c5c25938ab9bcc59f0ea4dffc1b64c6

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6741
2025-07-04 20:39:07 +00:00
postmarketOS CI 07de775cb3 linux-next: upgrade to next-20250704 2025-07-04 15:44:57 +00:00
fossdd 3c913420f0 systemd/cups: upgrade to 2.4.12
https://gitlab.alpinelinux.org/alpine/aports/-/commit/a7fa242fe9bd05e5e92ac55a95311aafe8a765f3

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6742
[ci:skip-build]: already built successfully in CI
2025-07-04 00:45:12 +02:00
Bart Ribbers c93fb1150b systemd/kjournald: upgrade to 25.04.2
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6735
[ci:skip-build]: already built successfully in CI
2025-07-03 22:47:00 +02:00
Bart Ribbers 1f4c2c1105 systemd/plasma*: upgrade to 6.4.1
drkonqi doesn't support non-systemd systems anymore and has been removed
frmo Alpine because of it, so it's no longer a fork here.

[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6734
[ci:skip-build]: already built successfully in CI
2025-07-03 22:44:30 +02:00
postmarketOS CI c1c5ab8a9b linux-next: upgrade to next-20250703 2025-07-03 15:49:43 +00:00
postmarketOS CI 8fbc1d8578 linux-next: upgrade to next-20250702 2025-07-03 04:44:39 +00:00
Henrik Grimler 51bf16cf8a device-raspberry-pi5: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3716

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
[ci:skip-build]: already built successfully in CI
2025-07-02 21:08:35 +02:00
Henrik Grimler 4dbeee8a99 device-raspberry-pi4: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
2025-07-02 21:08:35 +02:00
Henrik Grimler 6c3cbe795a device-raspberry-pi3: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
2025-07-02 21:08:34 +02:00
Henrik Grimler 5a7a86f118 device-raspberry-pi: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
2025-07-02 21:08:33 +02:00
Henrik Grimler 2a6c3b4bed device-raspberry-pi0: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
2025-07-02 21:08:33 +02:00
Henrik Grimler 00e6509372 device-cutiepi-tablet: use new var deviceinfo_generate_cmdline_txt
It lets us move the variables in cmdline.txt to
deviceinfo_kernel_cmdline. We can thereafter drop the cmdline.txt file
entirely.

By setting deviceinfo_generate_cmdline_txt we tell boot-deploy to
generate /boot/cmdline.txt from deviceinfo_kernel_cmdline. boot-deploy
can then also add information about partition UUIDs to the cmdline,
which helps postmarketos-initramfs find the correct partitions.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6630
2025-07-02 21:08:30 +02:00
postmarketOS CI afcd964003 linux-next: upgrade to next-20250630 2025-07-01 04:45:09 +00:00
Clayton Craft 68c3ba73f1 linux-postmarketos-qcom-laptop: enable systemd BPF requirements
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6708

[ci:skip-build]: already built successfully in CI
2025-06-30 11:03:15 -07:00
Marc Lehmann 8b1222a3c0 device-raspberry-pi3: Use msdos partition table
The Raspberry Pi 3 refuses to boot from a GPT partition table, so we
need to force an msdos partition table. This was tested with a Pi 3
Model B V1.2.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6731
[ci:skip-build]: already built successfully in CI
2025-06-30 18:08:39 +02:00
fossdd 0a568971a1 systemd/phosh: upgrade to 0.48.0
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6701

[ci:skip-build]: already built successfully in CI
2025-06-30 17:39:13 +02:00
Paul Sajna b1f2ccc683 device-lg-judy{ln,p}: add firmware package dependency
Also:
 * unblacklist ipa
 * add deviceinfo_gpu_accelerated

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6329
[ci:skip-build]: already built successfully in CI
2025-06-30 10:30:52 +02:00
Paul Sajna 2abd9400ef firmware-lg-judy: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6329
2025-06-30 10:30:52 +02:00
Oliver Smith b636909bed cross/gcc-*: upgrade to 14.3.0-r5
Done with pmbootstrap MR 2521.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/d59b0fafdf18e18e816f5aa706f54e823d2d2701

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6722
[ci:skip-build]: already built successfully in CI
2025-06-30 00:25:22 +02:00
Oliver Smith 82555b8ade CI: test_aports_ui: fix systemd + armhf dep case
Fix the following error that now appears as the systemd-enabled
gnome-keyring package in pmaports will not be built for armhf:

  main/postmarketos-ui-xfce4/APKBUILD: package 'gnome-keyring' from _pmb_recommends not found for arch 'armhf'

This happened, because before this patch pmb.helpers.package.get() would
return the pmaports version of the package (!armhf) instead of the one
in the binary packages from alpine (alpine one is available for armhf),
and then later check the arches of the returned package and fail because
it is not enabled for armhf.

With the patch, the binary package from alpine repos is returned as the
pmaports one is ruled out due to not being available for armhf. The
latter arch check is not necessary anymore and gets removed.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6710
2025-06-29 23:08:43 +02:00
Clayton Craft 682ad68e4c extra-repos/systemd: drop armhf
We currently don't build systemd for armhf anymore. Disable all other
packages in the systemd repo too, as these can't be built without the
systemd dependency.

FWIW all of Phosh, Gnome Mobile and Plasma Mobile already have major
packages not building for armhf so they couldn't be used on this arch
anyway.

Once pmb issue 2618 is resolved, we can re-enable systemd for armhf.

Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>
Related to !6637
Fixes #3783
[ci:skip-build], [ci:skip-vercheck]: changing arch= only
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6710
2025-06-29 23:08:38 +02:00
Oliver Smith 9342e5f003 cross/musl-*: upgrade to 1.2.5-r13
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6730

[ci:skip-build]: already built successfully in CI
2025-06-29 22:37:16 +02:00
fossdd f042d2bede systemd/mutter: upgrade to 48.4
https://gitlab.alpinelinux.org/alpine/aports/-/commit/57a98bb6f57871e2feb64515a5ac947d055e2326

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6729
[ci:skip-build]: already built successfully in CI
2025-06-29 20:41:58 +02:00
fossdd 830a4300d6 systemd/gnome-shell: upgrade to 48.3
https://gitlab.alpinelinux.org/alpine/aports/-/commit/8995d05c3f4c243e3610098034cb25e3da3a6cc7

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6729
2025-06-29 20:41:58 +02:00
LEdoian a41c9c23f6 systemd/systemd-services: add service file for hkdm
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6723

[ci:skip-build]: already built successfully in CI
2025-06-28 15:40:27 -07:00
fossdd d0d9889cb2 systemd/pipewire: upgrade to 1.4.6
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/86252

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6725
[ci:skip-build]: already built successfully in CI
2025-06-28 12:20:31 +02:00
Luca Weiss 6a2c3f0818 treewide: remove downstream feedbackd vibra rules
All of them are now included upstream with feedbackd, so we can remove
them here.

https://gitlab.freedesktop.org/agx/feedbackd/-/merge_requests/182

[ci:ignore-count]

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6695
2025-06-28 11:16:55 +02:00
Henrik Grimler 94fd3a01db device-samsung-dream: use ncm instead of rndis in initfs network script
PostmarketOS now uses ncm instead of rndis, so update script accordingly.

Unfortunately usb networking does not work even after this change when
I test on dream2lte, so this needs further debugging.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
[ci:skip-build]: already built successfully in CI
2025-06-27 09:08:39 -07:00
Henrik Grimler aa65318036 device-samsung-dream: set getty, and drop kernel_cmdline
The buildvariant=eng variable does absolutely nothing for us when
using postmarketos.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:39 -07:00
Henrik Grimler 3c9279f86e device-samsung-dream: fix too large boot.img
The boot partition is only 40 mb, but the boot.img currently ends up
at ~44 mb. Fix by setting create_initfs_extra.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:39 -07:00
Henrik Grimler a0d79b92e1 linux-samsung-dream: ignore bundled toolchain
To fix errors like:

../toolchain/gcc-cfp/gcc-cfp-jopp-only/aarch64-linux-android-4.9/bin/aarch64-linux-android-ld: line 1: syntax error: unexpected "("
make[3]: *** [../scripts/Makefile.build:345: kernel/bpf/built-in.o] Error 2
make[2]: *** [../scripts/Makefile.build:411: kernel/bpf] Error 2

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:39 -07:00
Henrik Grimler ee1363afa8 linux-samsung-dream: add console=ttySAC0 to cmdline
So that kernel output is printed to the debug uart.

Unfortunately the debug uart is only available on some pads underneath
the silkmask on the board.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:39 -07:00
Henrik Grimler c0e2a66141 linux-samsung-dream: add lxdialog patch
To fix pmbootstrap kconfig edit error.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:39 -07:00
Henrik Grimler 32afb3851a linux-samsung-dream: cleanup patches
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6706
2025-06-27 09:08:38 -07:00
Jane Rachinger 5ea5100cc3 systemd/systemd{,stage0}: upgrade to 257.7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6717

[ci:skip-build]: already built successfully in CI
2025-06-27 09:04:05 -07:00
Sicelo A. Mhlongo ec2571860a device-nokia-n900: add configuration for sway
Notes:
 * In general, keybindings are similar to the existing i3 configuration for
       the Nokia N900
 * Power key and lock switch enable/disable the screen
 * The keypad is always lit (dimly) when the screen/touch are active and is
       turned off at other times
 * The font can be increased/decreased in foot with Ctrl+Up/Down arrow
 * The status uses the configuration and feed generator from i3 (i3blocks)
 * After two minutes of idle, the screen and touch sensor will be disabled

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6714
[ci:skip-build]: already built successfully in CI
2025-06-27 08:58:54 -07:00
Sicelo A. Mhlongo 75ca7dddb3 device-nokia-n900: i3wm: package i3blocks config separately
i3blocks could be useful on sway. Split it off and package it separately so it
can be depended on by a future sway configuration.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6714
2025-06-27 08:58:54 -07:00
Sicelo A. Mhlongo d8423780fa community: omap devices: set drm true in deviceinfo
These devices have DRM through the omapdrm kernel driver in mainline.

However, they do not have GPU acceleration, so programs/stacks requiring
GL(ES) will not work. sway and other wlroots-based stacks work well when
WLR_RENDERER=pixman is set.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6714
2025-06-27 08:58:53 -07:00
Sicelo A. Mhlongo 630327aa0f device-samsung-espresso*: drop deprecated deviceinfo variables
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6714
2025-06-27 08:58:53 -07:00
postmarketOS CI 5b79605420 linux-next: upgrade to next-20250627 2025-06-27 15:46:02 +00:00
fossdd 537d07e241 cross/systemd-boot-x86: upgrade to 257.7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6721

[ci:skip-build]: already built successfully in CI
2025-06-26 23:55:25 +02:00
Luca Weiss 5029df171b fairphone-fp6: new device
Add an initial port for The Fairphone (Gen. 6) smartphone. This includes
firmware and close-to-mainline kernel package.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6715
[ci:skip-build]: already built successfully in CI
2025-06-26 23:45:11 +02:00
adamthiede ada7e1257e linux-postmarketos-mediatek-mt8173: remove fix-mmc-order patch
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6517

[ci:skip-build]: already built successfully in CI
2025-06-26 21:46:10 +02:00
postmarketOS CI c395b5eee9 linux-next: upgrade to next-20250626 2025-06-26 16:05:03 +00:00
Luca Weiss 0ac545f4d6 linux-postmarketos-qcom-msm8974: upgrade to 6.15.2
No manual kconfig changes.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6685
[ci:skip-build]: already built successfully in CI
2025-06-26 15:37:51 +02:00
Casey Connolly 2147df98da linux-postmarketos-qcom-sdm845: upgrade to 6.16-rc2
Signed-off-by: Casey Connolly <kcxt@postmarketos.org>
Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6691

[ci:skip-build]: already built successfully in CI
2025-06-26 15:34:25 +02:00
fossdd 091f82a317 temp/libcamera: rebuild against gtest-1.17.0-r0
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6720

[ci:skip-build]: already built successfully in CI
2025-06-26 14:18:14 +02:00
postmarketOS CI 7f90943b44 linux-next: upgrade to next-20250625 2025-06-25 15:44:32 +00:00
postmarketOS CI f33cc7dbfe linux-next: upgrade to next-20250624 2025-06-24 15:46:59 +00:00
postmarketOS CI 9793f640bc linux-next: upgrade to next-20250623 2025-06-23 17:49:13 +00:00
Luca Weiss a09e6d3b86 device/downstream/linux-*: build fixes
A collection of assorted fixes to fix compilation of a good chunk of
downstream kernels.

[ci:skip-build] # build tested all 148 kernels locally

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6670
2025-06-23 06:14:29 +02:00
Luca Weiss 14654ab7f5 device: Move selinux compile fix to shared patches
Prepare for this patch to be used by other kernels.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6670
2025-06-23 06:09:05 +02:00
Luca Weiss 7fc89853ac device: Move fix_mdp4_parameter.patch to shared patches
Prepare for this patch to be used by other kernels.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6670
2025-06-23 06:09:01 +02:00
Oliver Smith afa8c187a9 cross/gcc-*: upgrade to 14.3.0-r4
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6689

[ci:skip-build]: already built successfully in CI
2025-06-22 20:45:06 +02:00
Oliver Smith 35dcc9e730 cross/grub-efi-x86: upgrade to 2.12-r8
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6688

[ci:skip-build]: already built successfully in CI
2025-06-22 18:58:14 +02:00
Oliver Smith c4fc5538a0 gitlab/issue_template: v24.12: set supported date 2025-06-22 18:56:56 +02:00
Oliver Smith 74560299f1 channels.cfg: mark v25.06 as stable 2025-06-22 18:40:32 +02:00
Luca Weiss 77380c215c meizu-mblu2: move to archived
The kernel sources are 404, does not build anymore.

[skip ci] # some checksums will fail with 404, can't skip individually

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6675
2025-06-22 12:44:54 +02:00
Luca Weiss baf86f255c amazon-suez: move to archived
The kernel sources are 404, does not build anymore.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6675
2025-06-22 11:56:57 +02:00
Luca Weiss a591acae24 samsung-kylessopen: move to archived
Fix up some bits, but it's too broken to easily fix for now.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6675
2025-06-22 11:56:57 +02:00
Luca Weiss c660af4532 linux-amazon-thor: change to undead sources and fix build
Change source URL and add a patch to fix the build.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6675
2025-06-22 11:56:57 +02:00
Luca Weiss bd2ae650f7 linux-amazon-mustang: change to undead sources and fix build
Change source URL and add a patch to fix the build.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6675
2025-06-22 11:56:57 +02:00
Sicelo A. Mhlongo adcdd747c4 postmarketos-ui-sway: use bemenu instead of dmenu
dmenu is an X11 application and will thus require the use of Xwayland on
sway, while bemenu has a native wayland backend and is a drop-in replacement
for dmenu.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6697
[ci:skip-build]: already built successfully in CI
2025-06-21 17:39:30 +02:00
Clayton Craft 0dc0c9f03e soc-qcom: run systemd splitfunc in pulseaudio-systemd subpkg
Just like when defining custom -openrc subpkgs, or prepare funcs, etc,
we *need* to manually the corresponding abuild function or else things
break.

fixes #3781

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6690
[ci:skip-build]: already built successfully in CI
2025-06-20 19:22:57 +02:00
adamthiede df639251e0 linux-postmarketos-mediatek-mt8173: upgrade to 6.15.3
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6683

[ci:skip-build]: already built successfully in CI
2025-06-20 19:08:54 +02:00
postmarketOS CI a7cd396d9b linux-next: upgrade to next-20250620 2025-06-20 15:50:32 +00:00
Clayton Craft ed5f3dd73e systemd: disable armhf
This is a workaround for pmb#2618, basically.

To build systemd with BPF support (so things like unpriv. nspawn work),
we have to install linux-stable-dev to get a special header(vmlinux.h).
This kernel (linux-stable) isn't build in Alpine for armhf. Normally
that's not a problem, we could just add linux-stable-dev conditionally
to the makedepends, right? No... not possible until pmb#2618 is fixed.
Given this arch is used by only 3 devices in testing (the rest are in
`downstream` or `archive`), I think it makes sense to disable systemd on
this arch until someone has the motivation to fix the pmb bug.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6637
[ci:skip-build]: already built successfully in CI
2025-06-20 12:37:11 +02:00
Clayton Craft 1c4fd97318 systemd: enable BPF support for unprivileged systemd-nspawn
Partially fixes #3746, kernel options are required for systemd to
correctly enable support for this in systemd-nsresourced at runtime.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6637
2025-06-20 12:37:07 +02:00
Clayton Craft 32b1a6d9b6 systemd/xorg-server: upgrade to 21.1.18
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6686

[ci:skip-build]: already built successfully in CI
2025-06-20 11:25:02 +02:00
fossdd 74b0524c44 device-qemu-riscv64: replace -kernel-edge with -kernel-stable
[ci:ignore-count]
[ci:skip-vercheck]: makes sense that a different kernel is enough for
a different pkgver

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
[ci:skip-build]: already built successfully in CI
2025-06-20 10:59:28 +02:00
fossdd 6bcdd94c4f device-qemu-amd64: replace -kernel-edge with -kernel-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:28 +02:00
fossdd 66bbaf9513 device-qemu-aarch64: replace -kernel-edge with -kernel-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:28 +02:00
fossdd fd99ac53a1 device-postmarketos-trailblazer: replace -kernel-edge with -kernel-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd a69ebe4aa8 device-google-x64cros: replace -kernel-edge with -kernel-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd de9cbc0edd device-generic-x86_64: replace -kernel-edge with -kernel-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd 1a8fcddeb9 device-samsung-expressatt: drop -kernel-edge
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd 1450be89f0 device-oneplus-dumpling: switch from linux-edge to linux-stable for -kernel-alpine
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd ca7800d2e1 device-oneplus-cheeseburger: switch linux-edge to linux-stable for -kernel-alpine
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:27 +02:00
fossdd 589af2c866 device-sipeed-licheezero: switch from linux-edge to linux-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:26 +02:00
knuxify 5919ade1a5 device-odroid-hc2: switch to linux-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:26 +02:00
fossdd 8382236059 device-cubietech-cubieboard: switch from linux-edge to linux-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:26 +02:00
fossdd df33ddc795 device-asus-me176c: switch from linux-edge to linux-stable
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6590
2025-06-20 10:59:26 +02:00
Dzmitry Sankouski ce67fa69f3 device-samsung-starqltechn: add maintainer
Add Dzmitry Sankouski <dsankouski@gmail.com> as device maintainer.

[ci:skip-vercheck]: no changes to packages

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6493
[ci:skip-build]: already built successfully in CI
2025-06-19 13:56:54 -07:00
Dzmitry Sankouski 932397c42d u-boot-starqltechn: move from testing to community
Moving to community along with device package.

[ci:skip-vercheck]: no changes to packages

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6493
2025-06-19 13:56:54 -07:00
Dzmitry Sankouski f25e01be88 device-samsung-starqltechn: move from testing to community
Starqltechn is a Samsung Galaxy S9 phone running on sdm845 SoC.
Since SDM845 is well supported, the phone has potential to get more
features in the future with less development effort.

Device is running linux-postmarketos-qcom-sdm845 kernel, with
charger, fuelgauge, haptics, calls, mobile data supported.
This make the phone usable with basic scenarios.

Moving to community to increase phone visibility and to attract new
developers and users.

[ci:skip-vercheck]: no changes to packages

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6493
2025-06-19 13:56:53 -07:00
Luca Weiss 92ee04d094 linux-postmarketos-qcom-msm8974: upgrade to 6.14.6
Manual kconfig changes:
* CONFIG_QCOM_SNS_REG=m
* CONFIG_IIO_QCOM_SMGR_ACCEL=m
* CONFIG_IIO_QCOM_SMGR=m
* CONFIG_IIO_QCOM_SMGR_GYRO=m
* CONFIG_IIO_QCOM_SMGR_MAG=m
* CONFIG_IIO_QCOM_SMGR_PRESSURE=m
* CONFIG_IIO_QCOM_SMGR_PROX=m
* CONFIG_UDMABUF=y (for community kconfig check)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6639
[ci:skip-build]: already built successfully in CI
2025-06-19 22:19:04 +02:00
Luca Weiss 6502ab3af5 main/postmarketos-initramfs: modprobe vfat before mounting logs device
Avoid mount failure due to the possibility of the kernel being built
with vfat as a module (CONFIG_VFAT_FS=m) by explicitly trying to probe
the vfat module before trying to mount.

~ # mount /dev/loop0 /tmp/logs
mount: mounting /dev/loop0 on /tmp/logs failed: No such file or directory

~ # modprobe vfat
~ # mount /dev/loop0 /tmp/logs

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6679
[ci:skip-build]: already built successfully in CI
2025-06-19 08:58:00 -07:00
postmarketOS CI b32d6d7def linux-next: upgrade to next-20250619 2025-06-19 15:44:31 +00:00
Luca Weiss 610ab96f8a linux-postmarketos-qcom-msm8226: slim config, build more as modules
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6640
2025-06-19 21:20:17 +09:00
Luca Weiss 5ae1459ac8 linux-postmarketos-qcom-msm8226: upgrade to 6.14.8
Manual kconfig changes:
* CONFIG_QCOM_SNS_REG=m
* CONFIG_IIO_QCOM_SMGR_ACCEL=m
* CONFIG_IIO_QCOM_SMGR=m
* CONFIG_IIO_QCOM_SMGR_GYRO=m
* CONFIG_IIO_QCOM_SMGR_MAG=m
* CONFIG_IIO_QCOM_SMGR_PRESSURE=m
* CONFIG_IIO_QCOM_SMGR_PROX=m

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6640
2025-06-19 21:20:17 +09:00
Clayton Craft a9fe11c77f main/postmarketos-base-ui: always install sleep-inhibitor.conf
Installing this config only when elogind/openrc is installed means that
systemd versions of pmOS don't get the fix in !6612

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6682
[ci:skip-build]: already built successfully in CI
2025-06-18 15:22:00 -07:00
postmarketOS CI b598643699 linux-next: upgrade to next-20250618 2025-06-18 15:49:39 +00:00
exkc 22c85d4972 device-radxa-zero: switch from linux-edge to linux-postmarketos-amlogic
linux-edge is being removed from Alpine and linux-postmarketos-amlogic
has all the necessary config options.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6592
2025-06-18 15:27:54 +02:00
exkc fa911abe87 device-beelink-gt1: drop linux-edge
linux-edge is being removed from Alpine and also lacked a number of
amlogic drivers.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6593
2025-06-18 15:22:58 +02:00
Antoine Martin b6954d59e8 device-pine64-pinenote: add waveform management initd
Previously, waveform information was provided by maintainer. Since every
device panel is slightly different, waveform information is actually
available on the device in a specific partition (partlabel=waveform).

We thus use the device waveform information instead of the less
appropriate generic binary. We do this by having an initd script extract
and prepare the binary from the partition using hrdl's scripts. The
rockchip_ebc module expects both ebc.wbf and custom_wf.bin under
/lib/firmware/rockchip. Thus, if those files are not detected, the initd
runs the necessary operations, regenerates with mkinitfs, and reloads
rockchip_ebc.

gpio_rockchip is also added to modules-initfs as the kernel now compiles
it as a module

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6667
[ci:skip-build]: already built successfully in CI
2025-06-18 08:26:14 -04:00
Antoine Martin d5fc0dee35 firmware-pine64-pinenote: drop in favor of device waveforms
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6667
2025-06-18 08:26:11 -04:00
Antoine Martin 6f78bbc5df linux-pine64-pinenote: upgrade to 6.15.2, use upstream linux tar
Uses patchset from hrdl rather than m-weigand. It was rebased against
v6.15 by myself, from v6.15_rc3. hrdl rebased m-weigand's patchset from
v6.12 and improved upon it.

Much like linux-rpi, source code is generated by first using upstream
linux source code, patched with minor release patchset. The PineNote
downstream patches are then applied.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6667
2025-06-18 08:26:07 -04:00
fossdd b2f0e4f00c systemd/xorg-server: upgrade to 21.1.17
https://gitlab.alpinelinux.org/alpine/aports/-/commit/04b13adec67a1f19be8e228f39bda2d961963bba

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6680
[ci:skip-build]: already built successfully in CI
2025-06-18 00:18:00 +02:00
Nick Chan ce776a7965 apple-d22: new device
Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6642
2025-06-17 19:27:13 +02:00
adamthiede 82d0aff322 postmarketos-ui-cosmic: depend on virtual package and recommend tuned-ppd
power-profiles-daemon is platform specific and tuned does more generic
system tuning. Both provide the power-profiles-provider virtual package,
and users can remove tuned-ppd if they want to switch back to
power-profiles-daemon, which has a higher priority.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6599
[ci:skip-build]: already built successfully in CI
2025-06-17 19:24:22 +02:00
adamthiede 6ba8a772d8 postmarketos-base-ui-gnome: recommend tuned-ppd
power-profiles-daemon is platform specific and tuned does more generic
system tuning. Both provide the power-profiles-provider virtual package,
and users can remove tuned-ppd if they want to switch back to
power-profiles-daemon, which has a higher priority.

[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6599
2025-06-17 19:24:16 +02:00
adamthiede e2e435f326 postmarketos-base-ui-plasma: recommend tuned-ppd
power-profiles-daemon is platform specific and tuned does more generic
system tuning. Both provide the power-profiles-provider virtual package,
and users can remove tuned-ppd if they want to switch back to
power-profiles-daemon, which has a higher priority.

[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6599
2025-06-17 19:24:06 +02:00
George Brooke 2bb9bea1a6 systemd/postmarketos-base-systemd: enable tuned and tuned-ppd by default
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6585

[ci:skip-build]: already built successfully in CI
2025-06-17 19:21:52 +02:00
George Brooke e15e22fcb8 systemd/systemd-services: add services for tuned, tuned-ppd
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6585
2025-06-17 19:21:52 +02:00
binarycraft007 060652e6f9 systemd-services: add sing-box service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6657

[ci:skip-build]: already built successfully in CI
2025-06-17 19:08:30 +02:00
Sonya Sireneva 4824970fa1 device-samsung-a6lte-downstream: mount /efs
It seems that pmbootstrap overwrites /etc/fstab with its own contents
after the post-install scripts have already run. Mount /efs in the
samsungipcd startup script instead.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6644
[ci:skip-build]: already built successfully in CI
2025-06-17 18:53:18 +02:00
Sonya Sireneva bf538bbaae device-samsung-a6lte-downstream: fix audio
It seems that call audio broke when switching to Wireplumber. Fix it.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6644
2025-06-17 18:53:18 +02:00
Sonya Sireneva c775628222 linux-samsung-a6lte-downstream: disable cameras
Having the camera driver in the kernel causes a hangup in wireplumber
when it tries to open a certain /dev/video* device. These camera devices
are not used on postmarketOS anyway, and some of the config options
required for working camera have already been disabled, so just disable
the rest for good.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6644
2025-06-17 18:53:18 +02:00
Luca Weiss 10d2f913b8 device-oneplus-bacon: add dependency on adsp, modem & wcnss firmware
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6671

[ci:skip-build]: already built successfully in CI
2025-06-17 18:48:27 +02:00
Luca Weiss 5d951b077d firmware-oneplus-bacon: squash firmware and add adsp & modem firmware
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6671
2025-06-17 18:48:27 +02:00
Luca Weiss eb7dabc8f7 firmware-fairphone-fp3: drop useless _fwdir variable
Drop the variable and just use /lib/firmware where needed to not rely on
this variable which does not bring any benefit anyways.

[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6672
[ci:skip-build]: already built successfully in CI
2025-06-17 18:45:13 +02:00
postmarketOS CI 5b41b5969e linux-next: upgrade to next-20250617 2025-06-17 15:44:44 +00:00
fossdd c26710efcb temp/abuild: set ninja as default cmake generator
https://gitlab.alpinelinux.org/alpine/aports/-/commit/cce7a609c1d0134be0a1988732cfd44a36f833fe

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6676
2025-06-17 16:59:50 +02:00
Antoine Martin caaad993e8 device-clockworkpi-uconsole-radxa-cm5: add akms submodule with drivers
* following !6604, adds akms module subpackage
* adds missing pinctrl-axp209 module, fixing screen issues

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6620
2025-06-17 23:10:37 +09:00
Antoine Martin bf363b0f8c linux-radxa: upgrade to 6.1.115, add dev() subpackage
* upgrades to 6.1.115, while introducing patches to defconfig to facilitate future upgrades
* adds dev subpackage for out-of-tree module building

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6620
2025-06-17 23:10:36 +09:00
Bart Ribbers 41d3ee8eee linux-postmarketos-qcom-msm8226: enable missing kconfig options
$ pmbootstrap kconfig check postmarketos-qcom-msm8226
[19:19:41] WARNING: config-postmarketos-qcom-msm8226.armv7: CONFIG_UDMABUF should be set (category:default)
[19:19:41] WARNING: config-postmarketos-qcom-msm8226.armv7: CONFIG_BPF_JIT should be set (category:input)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6673
2025-06-17 21:49:11 +09:00
methanal 23e224c776 linux-postmarketos-exynos7870: upgrade to 6.15
[ci:skip-build]: already built successfully in CI

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6645
2025-06-17 21:44:05 +09:00
postmarketOS CI 985960811a linux-next: upgrade to next-20250616 2025-06-17 04:45:56 +00:00
Oliver Smith ba2ec41c96 OP6/OP6T: disable alsa-restore.service
This results in the main speaker not working, so disable it.

Related: issue 3747

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6674
2025-06-16 22:11:54 +02:00
Antoine Martin 4a1b36849b linux-clockworkpi-uconsole-rpi: drop in favor of AKMS modules
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6604

[ci:skip-build]: already built successfully in CI
2025-06-16 08:46:13 -07:00
Antoine Martin e927f76a7a temp/akms: add with patches making sandboxing optional
AKMS builds modules in a sandbox using bubblewrap. Bubblewrap
unfortunately does not work in chroot environment, thus breaking
pmbootstrap. While a PR has been proposed upstream, history shows that
upstream takes a while to consider PRs. Thus, to unblock usage of AKMS,
this adds a patched version that allows disabling of sandbox using
`--no-sandbox` argument or by adding `use_sandbox=false` to
`/etc/akms.conf`. When building in chroot environment, sandboxing is
automatically disabled.

The aport handles conflicts with akms by setting `pkgver=9999$_pkgver`,
thus always overriding Alpine's package.

Upstream PR: https://github.com/jirutka/akms/pull/19

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6604
2025-06-16 08:46:13 -07:00
Antoine Martin a06ec979e6 device-clockworkpi-uconsole-rpi: add akms module with drivers
ClockworkPi's uConsole needs a few out-of-tree drivers to work that are
usually introduced through patches against raspberry Pi's kernel. To
reduce maintenance overhead, this MR drops
linux-clockworkpi-uconsole-rpi in favor of integrating the missing
drivers via AKMS and using linux-rpi directly. This will also allow
easier updating of the drivers, and avoid having to maintain a seperate
kernel aport.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6604
2025-06-16 08:46:13 -07:00
Pablo Correa Gómez bce020ea36 postmarketos-mkinitfs-hook-ci: limit repetition counts to 3
As suggested by Martin in
https://gitlab.postmarketos.org/postmarketOS/postmarketos-mkinitfs/-/merge_requests/63#note_485885

In the process, move the pkgver to integers, since similar to device
packages, nothing else makes sense here.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6659
[ci:skip-build]: already built successfully in CI
2025-06-16 15:57:56 +02:00
Oliver Smith c8b5872b56 systemd/postmarketos-base-systemd: remove motd
Remove the systemd-specific MOTD that says it is still in preview.
v25.06 is about to come out, the first stable release with systemd!

Any future adjustments to make it use fancy ascii colors etc. should be
made in postmarketos-base instead.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6669
[ci:skip-build]: already built successfully in CI
2025-06-15 17:58:44 +02:00
Clayton Craft 72c8e7c6c1 main/boot-deploy: upgrade to 0.19.0
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.19.0

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6656
2025-06-15 00:17:35 -07:00
adamthiede 438fc78b42 linux-postmarketos-mediatek-mt8173: upgrade to 6.15.2
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6664
2025-06-14 23:44:13 -07:00
Jane Rachinger 10b993dc30 systemd/systemd: upgrade to 257.6
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6581

[ci:skip-build]: already built successfully in CI
2025-06-14 18:48:01 -07:00
Sonya Sireneva 2d409761f3 kconfigcheck: minimum kernel version for UDMABUF
CONFIG_UDMABUF was introduced in Linux 4.20, but it was accidentially
required on Linux 3.10+ by the CI.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6666
2025-06-14 21:25:07 +03:00
Richard Acayan efeed0bfc7 linux-postmarketos-qcom-sdm670: upgrade to v6.15.2
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6649

[ci:skip-build]: already built successfully in CI
2025-06-14 20:39:00 +03:00
Federico Amedeo Izzo 93838311aa community/soc-qcom: Add missing systemd unit for call_audio_idle_suspend_workaround
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6663

[ci:skip-build]: already built successfully in CI
2025-06-14 11:12:58 +02:00
Clayton Craft 8734489c8b kconfigcheck: add UDMABUF to default kconfig
See:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6163#note_467983

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6167
[ci:skip-build]: already built successfully in CI
2025-06-13 17:05:24 -07:00
Clayton Craft 34d62b85da systemd: Always install X11 tmpfiles config
This is needed by some(all?) Xwayland implementations too, so don't make
installing it exclusive to having the actual X11 xorg-server installed.

This fixes an issue where Xwayland doesn't work on COSMIC.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6658
[ci:skip-build]: already built successfully in CI
2025-06-13 17:02:32 -07:00
Clayton Craft d336e2f0ef firmware-lenovo-21bx: drop aport
All firmware that this used to provide is now upstream in
linux-firmware 🎉

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6660
[ci:skip-build]: already built successfully in CI
2025-06-13 11:42:00 -07:00
Clayton Craft 2c2e4e8895 device-lenovo-21bx: drop dependency on firmware-lenovo-21bx
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6660
2025-06-13 11:42:00 -07:00
Clayton Craft 9d7f74090c device-lenovo-21bx: use dtbloader, remove bootmac
bootmac is no longer necessary for configuring bluetooth MAC when using
dtbloader.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6603
[ci:skip-build]: already built successfully in CI
2025-06-13 08:51:13 -07:00
postmarketOS CI f874e071c1 linux-next: upgrade to next-20250613 2025-06-13 15:46:46 +00:00
Bart Ribbers 98fdc4d1e2 linux-postmarketos-qcom-msm8226: enable the community kconfig checks
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6655
2025-06-13 07:24:42 +02:00
Bart Ribbers 2352754a2f lg-lenok: add lk2nd-msm8226 to deps
It won't actually boot without it.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6655
2025-06-13 07:24:42 +02:00
Henrik Grimler 18a9e1452e device-odroid-u2: add console=ttySAC1 to cmdline
This is needed if we want to get kernel log output over serial.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6616
[ci:skip-build]: already built successfully in CI
2025-06-12 16:38:05 -07:00
Barnabás Czémán e129d82cd2 linux-postmarketos-qcom-msm89x7: upgrade to 6.15-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6633

[ci:skip-build]: already built successfully in CI
2025-06-12 16:28:31 -07:00
fossdd 9b03326184 systemd/phosh: backport media player fixes
https://gitlab.alpinelinux.org/alpine/aports/-/commit/e376f4d57a04a06fa73d4103e9790e46872b4aac

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6654
[ci:skip-build]: already built successfully in CI
2025-06-12 22:55:08 +02:00
Oliver Smith f929604351 main/postmarketos-artwork: set v25.06 wallpaper
The new wallpaper is called Evergreen, by Dikasp!

Related: https://social.treehouse.systems/@postmarketOS/114655194291545930
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6652
2025-06-12 21:53:05 +02:00
Oliver Smith 879be2b85c cross/musl-*: upgrade to 1.2.5-r12
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6651

[ci:skip-build]: already built successfully in CI
2025-06-12 19:04:24 +02:00
Oliver Smith c2b9218453 cross/musl-*: upgrade to 1.2.5-r11
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6647

[ci:skip-build]: already built successfully in CI
2025-06-12 09:43:17 +02:00
Oliver Smith 5bc86711b1 cross/gcc-*: upgrade to 14.3.0-r3
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6619

[ci:skip-build]: already built successfully in CI
2025-06-12 09:42:07 +02:00
postmarketOS CI ad78efaae2 linux-next: upgrade to next-20250612 2025-06-12 04:51:14 +00:00
Stefan Hansson d9c3faf7d0 firmware-xiaomi-polaris: update commit
The repository was removed and re-created. As such, the commit hashes
changed. Use the new one.

Thanks to Molly Sophia for being quick to restore this repository after
being notified of that its removal caused build failures!

Related: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6618

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6636
[ci:skip-build]: already built successfully in CI
2025-06-11 23:31:39 +02:00
Clayton Craft aae0373b2d kconfigcheck: add missing option dependencies
These options are things that other required kconfig depend on, found
when creating a new config from scratch and noticing a few required
kconfig wasn't making it into the final config.

I don't expect this to have any impact on existing kernel packages that
already pass the kconfig check, because they would already need to have
these options enabled.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6641
2025-06-11 23:27:04 +02:00
Barnabás Czémán 8a8c337317 linux-postmarketos-qcom-msm8953: upgrade to 6.15.0-r0
Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6631

[ci:skip-build]: already built successfully in CI
2025-06-11 23:23:51 +02:00
Barnabás Czémán fddc16aa1a device-qcom-msm8953: Replace nt36xx with novatek_nvt_ts
nt36xxx have been droped from the kernel infavor of
novate_nvt_ts driver.

Signed-off-by: Barnabás Czémán <barnabas.czeman@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6631
2025-06-11 23:23:46 +02:00
Henrik Grimler 9550de18ec device-*: drop deprecated deviceinfo_mesa_driver var
It was used by osk-sdl, which has now been dropped.  See
https://wiki.postmarketos.org/wiki/Deviceinfo_reference#Obsolete_options.

[ci:ignore-count]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6635
[ci:skip-build]: already built successfully in CI
2025-06-11 22:55:02 +02:00
Henrik Grimler 9574c85979 device-lark-freeme-70-2s: add u-boot-tools to makedepends
To fix build error:

    /usr/bin/abuild: line 28: mkimage: not found

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6635
2025-06-11 22:55:02 +02:00
Henrik Grimler 4ab371c4af device-goclever-gcta741l: add u-boot-tools to makedepends
To fix build error:

    /usr/bin/abuild: line 28: mkimage: not found

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6635
2025-06-11 22:55:02 +02:00
Henrik Grimler c6f73181bd device-sourceparts-pocketpc: add u-boot-tools to makedepends
To fix build error:

    /usr/bin/abuild: line 28: mkimage: not found

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6635
2025-06-11 22:55:01 +02:00
Dzmitry Sankouski 034aa79592 u-boot-starqltechn: fix compiler warnings
Patch adjustments to fix compiler warnings.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6638
[ci:skip-build]: already built successfully in CI
2025-06-11 22:51:37 +02:00
Dzmitry Sankouski ebf4a4984c u-boot-starqltechn: use https for source url
Http link is broken. Use https.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6638
2025-06-11 22:51:37 +02:00
Dzmitry Sankouski 7e3cf45a82 u-boot-starqltechn: add maintainer
Add Dzmitry Sankouski <dsankouski@gmail.com> as device maintainer.

[ci:skip-vercheck]: no changes to packages

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6638
2025-06-11 22:51:32 +02:00
Oliver Smith 59341cab2e main/postmarketos-release-upgrade: upgrade to 1.9.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6632

[ci:skip-build]: already built successfully in CI
2025-06-11 22:44:56 +02:00
postmarketOS CI ca9f55c086 linux-next: upgrade to next-20250611 2025-06-11 15:52:54 +00:00
postmarketOS CI 0878b489e2 linux-next: upgrade to next-20250610 2025-06-10 15:47:22 +00:00
Clayton Craft 492fead1ce main/postmarketos-base-ui: stop inhibiting sleep/suspend during audio playback
This test is apparently wrong a lot now, so let's disable it. Audio
apps should inhibit sleep/suspend on their own, or worst case you can do
something like `systemd-inhibit <audio app>`.

We still want sleep-inhibitor around for now to inhibit sleep/shutdown
when an SSH client is connected or when apk is running.

Fixes #3745

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6612
[ci:skip-build]: already built successfully in CI
2025-06-10 12:17:36 +02:00
Oliver Smith d147cfdd5e device-nextbit-robin: move to downstream
This package depends on a downstream kernel so move it to the downstream
device category.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6624
[ci:skip-build]: already built successfully in CI
2025-06-10 12:15:36 +02:00
Antoine Martin 422f031a1f device-clockworkpi-uconsole-rpi: add ttyAMA0 to inittab
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6621
2025-06-10 10:53:40 +02:00
Antoine Martin e27f254ed7 device-clockworkpi-uconsole-rpi: add xorg config file to fix bad screen orientation
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6621
2025-06-10 10:53:40 +02:00
Antoine Martin be653e6edb device-clockworkpi-uconsole-radxa-cm5: add xorg config file to fix bad screen orientation
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6621
2025-06-10 10:53:40 +02:00
user0-07161 5377b2827e linux-postmarketos-qcom-msm8930: update to 6.15.0_rc7, fix building
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6629

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

[ci:skip-build]: already built successfully in CI
2025-06-10 10:21:26 +02:00
Oliver Smith 3488afe03d issue_templates/Default: add v25.06 2025-06-09 22:48:34 +02:00
Oliver Smith 6449f2bc92 device-*: add missing u-boot-tools makedep
Add the missing makedepend to armv7 devices too.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6634
[ci:skip-build]: already built locally
[ci:skip-vercheck]: rebuild not necessary
2025-06-09 22:33:32 +02:00
Shinjo Park d06dfedb06 main/tizen-mkdzimage: fix source repository URL
Since https://git.tizen.org is not reachable for a logn amount of time, switch
the upstream URL to postmarketOS GitLab instead.

Fixes issue #3752.

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6628
2025-06-09 13:52:21 +02:00
Clayton Craft 7bf6a9da16 systemd/systemd-services: fix zram_swap unit
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6614

[ci:skip-build]: already built successfully in CI
2025-06-09 13:02:30 +02:00
Clayton Craft b524646bde device-generic-x86_64: depend on hwdata
This is useful for having more hardware work OOTB when using
this generic image. On openrc installs, which pulls in eudev-hwids.

Fixes #3744

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6611
[ci:skip-build]: already built successfully in CI
2025-06-09 12:59:14 +02:00
Oliver Smith 726a56ff40 testing/u-boot-*: add missing SWIG patch
Apply libfdt.i_shipped-use-SWIG_AppendOutput.patch, so the packages
build with modern Alpine.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6627
2025-06-09 12:13:36 +02:00
Oliver Smith c1b3ec05f3 device/*: fix missing makedepends
These failed to build in v25.06 because they use packages during the
build that are only listed in depends, not in makedepends. pmbootstrap
is more strict about it these days, so fix it.

[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6626
[ci:skip-build]: already built successfully in CI
2025-06-09 12:09:23 +02:00
Alexey Minnekhanov e2a9015897 firmware-xiaomi-whyred: switch firmware URL to more stable
gitflic.ru broke something (due to anti-bot protection?) so that
release download URLs are not accessible for automated services
even though they can be downloaded in a browser. I'll talk to
their support, but for now host file somewhere else.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6625
[ci:skip-build]: already built successfully in CI
2025-06-09 12:04:10 +03:00
Antoine Martin b874ab70a7 pinenote-dbus-service: upgrade to 0.2.3
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6622

[ci:skip-build]: already built successfully in CI
2025-06-09 00:27:06 +02:00
Oliver Smith fa0f9e64f0 firmware-samsung-a6lte: add missing makedep
pmbootstrap only installs makedepends when building packages, not the
depends as it did in the past. Adjust this package to fix:
  >>> firmware-samsung-a6lte: Entering fakeroot...
  /usr/bin/abuild: line 21: can't open /lib/firmware/brcm/brcmfmac43456-sdio.bin.zst: no such file

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6617
[ci:skip-build]: already built successfully in CI
2025-06-08 13:32:15 +02:00
Oliver Smith de667973e9 firmware-qcom-adreno: switch source mirror
Fix for:
  >>> firmware-qcom-adreno: Fetching https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-20241110.tar.gz
  Connecting to git.kernel.org (172.105.64.184:443)
  wget: server returned error: HTTP/1.1 400 Bad Request

[ci:skip-vercheck]: same checksum

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6617
2025-06-08 13:32:15 +02:00
Antoine Martin affdd02064 {device,linux}-clockworkpi-uconsole-rpi: rename from {device,linux}-clockworkpi-uconsole-cm4
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6597
2025-06-07 21:56:06 +02:00
binarycraft007 59d9391dc8 asus-s5507q: update firmware
Extracted firmware from qualcomm board support package V1.366.7800.0,
also added iris vpu fw, tested with custom kernel from linaro.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6600
2025-06-07 21:48:43 +02:00
postmarketOS CI 023b737f68 linux-next: upgrade to next-20250606 2025-06-06 15:46:45 +00:00
Oliver Smith 1418ffce6e main/postmarketos-ui-phosh: Stevia: add arrow keys
Configure the new keyboard Stevia to have arrow keys by default in the
terminal. The previous default terminal Squeekboard had separate arrow
keys as well.

While it is possible to move up/down/left/right with Stevia after
pressing the space bar and moving the finger into a given direction, I
found that it:
* Is less precise (e.g. going up exactly 1 command in the terminal,
  which is my main use case, requires some effort to not go up 2 or 3
  commands by accident).
* Takes longer to do this action vs. having a separate button (you need
  to press space for ~a second until it goes into that special movement
  mode and then take more time to carefully move where you want, a
  simple button press is much quicker).
* I saw other users note on Mastodon that moving down is cumbersome for
  them, given that there is not much space towards the bottom of the
  screen below the space bar.

Having a lot of buttons in the list is fine IMHO, they can be scrolled
through quickly by swiping left and right.

Related: https://fosstodon.org/@phosh/114026426425496074

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6609
[ci:skip-build]: already built successfully in CI
2025-06-05 19:56:13 +02:00
postmarketOS CI 51c7095130 linux-next: upgrade to next-20250605 2025-06-05 15:48:14 +00:00
Clayton Craft 832128c3db systemd: fix udevd symlink
On a merged /usr system, this results in a broken symlink since
sbin/udevd is really usr/sbin/udevd, and usr/sbin/../usr/lib/ is not a
real thing. This should have no effect on unmerged /usr systems, since
sbin/../../usr/lib/.... is still a correct (if ugly) path.

It's quite difficult to create a relative symlink for these things
that works reliably on a merged AND unmerged /usr install, so for now
I'm going to make the symlink source path absolute so that we can be
confident it'll work on either type of installation, and we can revisit
making them relative after usr merge is done/deployed on all installs.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6598
2025-06-05 15:44:30 +02:00
Oliver Smith 06134a113f systemd/mutter: upgrade to 48.3.1
https://gitlab.alpinelinux.org/alpine/aports/-/commit/cef03054797a30051a5353b4ef0434f469b4a0df

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6607
[ci:skip-build]: already built successfully in CI
2025-06-05 15:04:19 +02:00
Robert Mader 5677fe9d6d temp/libcamera: upgrade to 0.5.1
See
https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.5.1

Additional changes:
 - Adopt build to commit "ipa: Move IPA installations to a subdir"
 - Backport a fix for the simple pipeline

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6608
[ci:skip-build]: already built successfully in CI
2025-06-05 12:42:12 +02:00
fossdd 25d47fa572 systemd/gnome-desktop: upgrade to 44.3
https://gitlab.alpinelinux.org/alpine/aports/-/commit/e611a2686d92002700bb21b978038d2083393833

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6606
[ci:skip-build]: already built successfully in CI
2025-06-05 09:25:11 +02:00
fossdd 568af58e84 systemd/pipewire: upgrade to 1.4.5
https://gitlab.alpinelinux.org/alpine/aports/-/commit/ca3448da95750d93e6bcaa6b1e2c91c3c37fd632

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6606
2025-06-05 09:25:07 +02:00
fossdd b4bf724ac1 main/postmarketos-ui-phosh: actually make p-o-s uninstallable
That's the best i came up with without changing the provider priorities
in Alpine upstream. This would also work but since p-o-s- self-describes
it self as the secondary choice for Phosh's OSK I chose this.

> Stevia is an alternative keyboard for Phosh. It can replace the default OSK
> squeekboard.

To switch from our default away:

	apk add !postmarketos-ui-phosh-default-osk <squeekboard/phosh-osk-stub>

If you then want to switch again:

	apk add <new osk> !<current osk>

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6605
[ci:skip-build]: already built successfully in CI
2025-06-04 22:56:44 +02:00
Oliver Smith 8a3b3e8092 CI: add test_systemd_stage0_version
Add a test that ensures systemd-stage0 and systemd have the same pkgver.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
[ci:skip-build]: already built successfully in CI
2025-06-04 20:34:23 +02:00
Oliver Smith 991d91e0a5 pmaports.cfg: remove systemd bootstrap logic
This isn't needed anymore as now we build each package only once:
* Now we build a systemd-stage0 package first, against which we build
  dbus and polkit.
* The proper systemd package gets built against these afterwards.

Doing it this way simplifies things a lot:
* Can do the bootstrap iteratively, instead of only in one go (and if it
  fails having to start all over again).
* Makes pmbootstrap and bpo easier to maintain as we can drop this
  bootstrap logic.
* CI works as expected again when modifying multiple packages that would
  need to be bootstrapped.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
2025-06-04 20:34:23 +02:00
Oliver Smith f9601f1502 systemd: remove previous bootstrap logic
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
2025-06-04 20:34:23 +02:00
Oliver Smith 6f5d86f3c1 systemd/polkit: build with systemd-stage0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
2025-06-04 20:34:22 +02:00
Oliver Smith b34ad51f0e systemd/dbus: build with systemd-stage0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
2025-06-04 20:34:22 +02:00
Oliver Smith e27fce7e65 systemd/systemd-stage0: new package
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
2025-06-04 20:34:22 +02:00
Clayton Craft d0e480eda1 systemd/systemd-services: add sshd@.service unit
This is inspired by the units shipped by Fedora and Debian:
https://salsa.debian.org/ssh-team/openssh/-/blob/master/debian/systemd/sshd@.service
https://src.fedoraproject.org/rpms/openssh/blob/rawhide/f/sshd%40.service

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6566
[ci:skip-build]: already built successfully in CI
2025-06-04 20:24:35 +02:00
Clayton Craft a3e5f4cda7 systemd/systemd-services: Fix zram_swap unit
This change makes the zram_swap service depend on a deviceinfo being
present in the rootfs (which may not always be the case, e.g. when
building an image with mkosi), and it replaces the ExecStartPre with
a dependency on modprobe@zram.service so that modprobe is only called
once if other services happen to also depend on this module (which is
unlikely, but a nicer way to handle this)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6566
2025-06-04 20:24:31 +02:00
Antoine Martin 00633f4ce3 u-boot-radxa-cm5: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6580

[ci:skip-build]: already built successfully in CI
2025-06-04 18:34:18 +02:00
Antoine Martin 8e8149062f linux-radxa: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6580
2025-06-04 18:34:18 +02:00
Antoine Martin 4f2c13dd0f device-clockworkpi-uconsole-radxa-cm5: new device
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6580
2025-06-04 18:34:18 +02:00
Pablo Correa Gómez 6cd2c5bc2b main/postmarketos-base: add main package replaces for baselayout and release
Otherwise upgrades will fail since the files amoved where owned by the
main package before

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6602
[ci:skip-build]: already built successfully in CI
2025-06-04 18:14:37 +02:00
Clayton Craft 0dabd564d1 systemd/postmarketos-base-systemd: replace pmos-baselayout
Some files overwritten by this package are in pmos-baselayout now

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6565
[ci:skip-build]: already built successfully in CI
2025-06-04 09:09:37 -07:00
Clayton Craft c9790be804 main/postmarketos-base: add -release and -baselayout subpkgs
This splits off two new subpackages in postmarketos-base, allowing for
tools (e.g. mkosi) to build a very small "postmarketOS" rootfs.

postmarketos-base depends on these two new packages, so there should be
no functional change outside of enabling this specific use case.

The versioned replaces is meant to fix installing this new package on
existing installs. In some cases apk installs this package *before*
installing the `postmarketos-base-systemd` update that accompanies this
patch.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6565
2025-06-04 09:09:36 -07:00
fossdd 4af9d991e7 main/postmarketos-ui-phosh: switch to phosh-osk-stub
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2628

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6596
[ci:skip-build]: already built successfully in CI
2025-06-04 17:30:57 +02:00
Rudraksha Gupta 05c0292ba9 linux-next: build using clang and enable Rust
The rational behind this is no actual functionality is lost, we just
gain the ability to now run Rust drivers (if they come out/we develop
them). It should be stable enough since Android manufacturers switched
to Clang a long time ago.

Currently, I foresee no drawbacks with this change.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6541
2025-06-04 12:38:09 +02:00
postmarketOS CI 08c2318c48 linux-next: upgrade to next-20250604 2025-06-04 04:44:47 +00:00
WeirdTreeThing 34812abec4 main/postmarketos-base-ui: Add alsa-utils to postmarketos-base-ui-audio
The UCM for some devices, such as MT8192 Chromebooks, relies on the
alsactl save/restore service to initialize default audio mixer settings.
Without this, the audio server is unable to control the sound card.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6556
[ci:skip-build]: already built successfully in CI
2025-06-03 15:19:34 -07:00
Robert Eckelmann 0094f42267 main/postmarketos-base-ui: revert mali workaround for Mediatek SoCs
reverts !6470
to be merged with !6589

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6595
[ci:skip-build]: already built successfully in CI
2025-06-03 15:05:20 -07:00
Icenowy Zheng 92e3b88f6b linux-postmarketos-mediatek-mt8183: fix Wayland compositors AFBC issue
Some Wayland compositors (tested with GNOME) are broken because of the
mediatek DRM driver wrongly announce AFBC on SoCs w/o AFBC displaying
support.

Pick a patch from mailing list to fix this issue.

Test is done on a kodama with google-kukui generic port and GNOME Shell
recipe.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6589
[ci:skip-build]: already built successfully in CI
2025-06-03 15:02:34 -07:00
postmarketOS CI 4e86be8579 linux-next: upgrade to next-20250603 2025-06-03 15:44:28 +00:00
Clayton Craft 97b9d77632 main/postmarketos-qemu-common: disable hw cursors on wlroots
This partially works around #2246

This is setting a var specific to wlroots, BUT many UIs use wlroots and some
(phosh) vendor it so adding a single text file with 1 line in it seems better
than having at least 2 extra subpackages (1 for installing if phoc, 1 for
installing if wlroots, and others?)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:58 +02:00
Clayton Craft 68ed2f96a1 device-qemu-*: depend on postmarketos-qemu-common
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:57 +02:00
Clayton Craft 6272fcbf15 main/postmarketos-qemu-common: new aport
This package contains common config shared between all qemu "devices"

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:57 +02:00
Antoine Martin dc1b38ab57 device-clockworkpi-uconsole-cm4: use new panel drivers, new dtoverlay
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6582

[ci:skip-build]: already built successfully in CI
2025-06-03 12:15:54 +02:00
Antoine Martin 5cf4d21c7e linux-clockworkpi-uconsole-cm4: upgrade to 6.12.30
Use patches from https://github.com/ak-rex/ClockworkPi-linux

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6582
2025-06-03 12:15:54 +02:00
Clayton Craft 5747b80ab1 linux-postmarketos-qcom-laptop: upgrade to 6.15
- Enable boot_delay support (can help with debugging)

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6414
[ci:skip-build]: already built successfully in CI
2025-06-03 12:08:31 +02:00
Vitalii Skorkin aec06e469e device-xiaomi-miatoll: use U-Boot
Convert the device package to use U-Boot.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6591
2025-06-03 11:24:48 +02:00
Vitalii Skorkin 33c75a29fe soc-qcom-sm7125: update alsa ucm configs
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6591
2025-06-03 11:24:48 +02:00
Vitalii Skorkin 4e368157b6 device-xiaomi-miatoll: add haptics udev rules
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6591
2025-06-03 11:24:47 +02:00
Vitalii Skorkin cf17d73779 linux-postmarketos-qcom-sm7125: upgrade to 6.14.7
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6591
2025-06-03 11:24:43 +02:00
Vitalii Skorkin b5e37eb856 */*: update email address
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6591
2025-06-03 11:24:17 +02:00
Luca Weiss 9f5a636c02 linux-postmarketos-qcom-sm6350: upgrade to 6.15.0
Manual kconfig changes:
* SND_SOC_SM8250=m (plus dependencies)
* QCOM_STATS=m

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6576
[ci:skip-build]: already built successfully in CI
2025-06-02 23:44:48 +02:00
Luca Weiss 86bfad3b13 linux-postmarketos-qcom-sc7280: upgrade to 6.15.0
Manual kconfig changes:
* SND_SOC_SM8250=y (and disable SND_SOC_SC8280XP)
* SC_LPASS_CORECC_7280=y
* QCOM_STATS=y

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6577
[ci:skip-build]: already built successfully in CI
2025-06-02 23:40:57 +02:00
binarycraft007 3c5d110aba Add ASUS Vivobook S 15
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6578

[ci:skip-build]: already built successfully in CI
2025-06-02 23:38:22 +02:00
Pablo Correa Gómez 18cd11d7fc main: postmarketos-ui-*: mark UIs with DRM requirement
"pmb:gpu-accel" is deprecated now, replace it with "pmb:drm"

Set "pmb:drm" for UIs to hide them for installations
without DRM support (mostly downstream).

This also bumps the minimum required version for pmbootstrap, since it
requires pmb to support the renamed variable. 2.4.0 is the first
release with such change.

Closes #2999
Closes #1481

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6419

[ci:ignore-count]: The MR just includes many packages.
[ci:skip-vercheck]: Changes don't affect built packages.
[ci:skip-build]: already built successfully in CI
2025-06-02 23:27:40 +02:00
Alistair Francis 8519c1f3f3 device-purism-librem5: update to 69pureos2
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6584

[ci:skip-build]: already built successfully in CI
2025-06-02 23:25:38 +02:00
exkc 1613d6749f linux-postmarketos-marvell: upgrade to 6.15.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6586

[ci:skip-build]: already built successfully in CI
2025-06-02 23:19:47 +02:00
Luca Weiss 3c8552ecc1 main/hwtest: add missing py3-setuptools makedepend
This is required to build.

Take the opportunity to clean up the APKBUILD a bit.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6594
[ci:skip-build]: already built successfully in CI
2025-06-02 22:43:00 +02:00
Oliver Smith d4c110d809 cross/gcc-*: upgrade to 14.3.0-r1
Done with pmb MR 2521. I've verified that gcc-aarch64 builds and the
following packages can be cross compiled from aarch64 to x86_64:

* hello-world
* iskey
* pbsplash
* gcc-x86_64

Related: https://gitlab.postmarketos.org/postmarketOS/continuous-testing/upstream-compat/-/blob/master/docs/how-to-fix-upstream-compat-errors.md#gcc-

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6587
[ci:skip-build]: already built successfully in CI
2025-06-01 15:09:21 +02:00
5679 changed files with 1707398 additions and 48118 deletions

No files matched your search

+3 -5
View File
@@ -1,14 +1,12 @@
#!/bin/sh -e
# Description: run apkbuild-lint on modified APKBUILDs
# Options: native
# Use 'native' because it requires git commit history.
# Options: with-dot-git
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
apk add atools git python3
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
.ci/lib/apkbuild_linting.py
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh -e
# Copyright 2025 Pablo Correa Gomez
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: create documentation with antora
# Options: with-dot-git
# Artifacts: build/site
# https://postmarketos.org/pmb-ci
# Install dependencies
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add git nodejs npm
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
npm install antora
npx antora -v
# FIXME: https://gitlab.com/antora/antora/-/issues/1183
git clone --depth 1 https://gitlab.postmarketos.org/postmarketOS/handbook
npx antora --clean antora-test.yml
+111 -33
View File
@@ -1,25 +1,25 @@
image: alpine:latest
stages:
- build
- hardware tests
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
include:
- project: *ci-tron-template-project
ref: *ci-tron-template-commit
file: '/ci-tron/common.yml'
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "parent_pipeline"
{% if archs|length == 0 %}
# Needed because gitlab fails if no jobs are ran:
# - https://gitlab.com/gitlab-org/gitlab/-/issues/368248
# This applies to `when: manual` is used on all jobs.
placeholder:
stage: build
script:
- 'true'
{% endif %}
.build:
# Create jobs, but don't run them unless this is
# Create jobs, but do not run them unless this is
# overriden in jobs that extend it
when: manual
stage: build
interruptible: true
before_script:
@@ -30,35 +30,113 @@ placeholder:
- .ci/lib/gitlab_prepare_ci.sh
after_script:
- cp -r /home/pmos/.local/var/pmbootstrap/packages/ packages/ || true
- mkdir -p keys
- cp /home/pmos/.local/var/pmbootstrap/config_apk_keys/pmos@local*.pub keys/ || true
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
artifacts:
expire_in: 1 week
paths:
- packages/
- keys/
timeout: 10 h
build-x86_64:
{% if ('x86_64' in archs) %}
when: always
{% endif %}
build:
extends: .build
parallel:
matrix:
{% for arch in archs %}
- ARCH: {{ arch }}
TAG: {{ archtag[arch] }}
{% endfor %}
{% if archs|length == 0 %}
- ARCH: placeholder
TAG: shared
{% endif %}
tags:
- $TAG
script:
- .ci/build-x86_64.sh
# Needed because gitlab fails if no jobs are ran:
# - https://gitlab.com/gitlab-org/gitlab/-/issues/368248
{% if archs|length == 0 %}
- 'true'
{% else %}
- .ci/build-$ARCH.sh
{% endif %}
build-aarch64:
{% if ('aarch64' in archs) %}
when: always
{% endif %}
extends: .build
tags: [arm64]
script:
- .ci/build-aarch64.sh
# Hardware testing
build-armv7:
{% if ('armv7' in archs) %}
when: always
{% endif %}
extends: .build
tags: [qemu]
script:
- .ci/build-armv7.sh
# 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.
.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_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"
# Include all the devices that need and can to be tested
{% for device in devices_under_test if device.is_present_in_ci %}
prepare-{{ device.name }}:
stage: hardware tests
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
# 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 %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
needs:
- job: "build"
parallel:
matrix:
- ARCH: "{{ device.arch }}"
TAG: "{{ archtag[device.arch] }}"
variables:
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
.test-{{ device.name }}:
stage: hardware tests
extends:
- .pmos-ci-tron-initramfs-test
{%- if device.has_kernel_variants %}
# Let's test all the kernels 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 %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
dependencies: []
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
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 }}'
# Include the gitlab ci yml fragment, as found in
# `device/$category/device-$devicename/gitlab-ci.yml.j2` which defines the jobs
{{ device.gitlab_ci_fragment }}
{% endfor %}
+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
Executable
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh -e
# Description: Validate and lint deviceinfo files
# Options: with-dot-git
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk add git python3
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/master
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
.ci/lib/deviceinfo_linting.py
+44 -7
View File
@@ -2,25 +2,62 @@
# SPDX-License-Identifier: GPL-3.0-or-later
import common
import os.path
import os
import sys
import subprocess
import tomllib
custom_valid_options = [
"!pmb:crossdirect",
"!pmb:kconfigcheck",
"pmb:cross-native",
"pmb:cross-native2",
"pmb:drm",
"pmb:gpu-accel", # deprecated
"pmb:strict",
"pmb:systemd",
"pmb:systemd-never",
]
def get_kconfigcheck_categories() -> list [str]:
with open("kconfigcheck.toml", "rb") as kconfigcheck_config:
kconfigcheck_data = tomllib.load(kconfigcheck_config)
kconfigcheck_categories = []
for category_name in kconfigcheck_data:
if category_name == "aliases":
for alias_name in kconfigcheck_data["aliases"]:
kconfigcheck_categories.append(f"pmb:kconfigcheck-{alias_name}")
else:
kconfigcheck_categories.append(category_name)
return [item.replace("category:", "pmb:kconfigcheck-") for item in kconfigcheck_categories]
if __name__ == "__main__":
common.add_upstream_git_remote()
kconfigcheck_categories = get_kconfigcheck_categories()
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)
if os.path.basename(file) == "APKBUILD"}
if len(apkbuilds) < 1:
print("No APKBUILDs to lint")
sys.exit(0)
packages = []
apkbuilds_filtered = []
for apkbuild in apkbuilds:
if apkbuild.startswith("temp/") or apkbuild.startswith("cross/"):
print(f"NOTE: Skipping linting of {apkbuild}")
continue
packages.append(os.path.basename(os.path.dirname(apkbuild)))
if len(packages) < 1:
apkbuilds_filtered.append(apkbuild)
if len(apkbuilds_filtered) < 1:
print("No APKBUILDs to lint")
sys.exit(0)
common.run_pmbootstrap(["-q", "lint"] + packages)
try:
subprocess.run(["apkbuild-lint", *apkbuilds_filtered], text=True, check=True)
except subprocess.CalledProcessError as exception:
sys.exit(exception.returncode)
-4
View File
@@ -32,12 +32,8 @@ if __name__ == "__main__":
arch = sys.argv[1]
# Get and print modified packages
common.add_upstream_git_remote()
packages = common.get_changed_packages()
# Package count sanity check
common.get_changed_packages_sanity_check(len(packages))
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
+40 -6
View File
@@ -46,7 +46,7 @@ def get_package_contents(package, revision, check=True):
def get_package_version(package, revision, check=True):
""" returns version in the format "{pkgver}-r{pkgrel}", or None if no
""" 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:
@@ -104,6 +104,9 @@ def check_versions(packages):
# 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]):
@@ -180,19 +183,50 @@ def check_versions(packages):
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
common.add_upstream_git_remote()
packages = common.get_changed_packages()
print(f"Changed packages: {packages}")
# Verify modified package count
common.get_changed_packages_sanity_check(len(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"
-2
View File
@@ -75,8 +75,6 @@ def show_error_all():
if __name__ == "__main__":
common.add_upstream_git_remote()
if "kconfigcheck.toml" in common.get_changed_files():
print("kconfigcheck.toml changed -> checking all kernels")
if not check_kconfig_all():
+33 -20
View File
@@ -2,20 +2,20 @@
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
import argparse
import glob
import os
import sys
import urllib.request
# Same dir
import common
def get_devices():
def get_devices() -> list[str]:
""":returns: list of all devices"""
ret = []
pmaports = (os.path.realpath(os.path.join(os.path.dirname(__file__) +
"/../..")))
for path in glob.glob(pmaports + "/device/*/device-*/"):
device = os.path.dirname(path).split("device-", 1)[1]
pmaports = Path(__file__).resolve().parents[2]
for path in pmaports.glob("device/*/device-*/"):
device = path.name.split("device-", 1)[1]
# -downstream suffix is used when packaging the downstream kernel for
# devices that have a working mainline kernel. Those are usually
@@ -28,7 +28,7 @@ def get_devices():
return sorted(ret)
def get_wiki_devices_html(path):
def get_wiki_devices_html(path: Path | None) -> dict[str, str]:
""":param path: to a local file with the saved content of the devices wiki
page or None to download a fresh copy
:returns: HTML of the page, split into booting and not booting:
@@ -41,8 +41,9 @@ def get_wiki_devices_html(path):
content = handle.read()
else:
# Download wiki page
url = "http://wiki.postmarketos.org/wiki/Devices"
content = urllib.request.urlopen(url).read().decode("utf-8")
url = "https://wiki.postmarketos.org/wiki/Devices"
with urllib.request.urlopen(url) as f:
content = f.read().decode("utf-8")
# Split into booting and not booting
split = content.split("<span class=\"mw-headline\" id=\"Non-booting_devices\">")
@@ -53,14 +54,16 @@ def get_wiki_devices_html(path):
return {"booting": split[0], "not_booting": split[1]}
def get_wiki_renamed_devices_html():
def get_wiki_renamed_devices_html() -> str:
""":returns: HTML of the page"""
# Download wiki page
url = "http://wiki.postmarketos.org/wiki/Renamed_Devices"
return urllib.request.urlopen(url).read().decode("utf-8")
url = "https://wiki.postmarketos.org/wiki/Renamed_Devices"
with urllib.request.urlopen(url) as f:
res: bytes = f.read()
return res.decode("utf-8")
def check_device(device, html, is_booting):
def check_device(device: str, html: dict[str, str], is_booting: bool) -> bool:
""":param is_booting: require the device to be in the booting section, not
just anywhere in the page (i.e. in the not booting
table).
@@ -82,7 +85,7 @@ def check_device(device, html, is_booting):
return False
def main():
def main() -> int:
# Parse arguments
parser = argparse.ArgumentParser()
parser.add_argument("--booting", help="devices must be in the upper table,"
@@ -92,14 +95,24 @@ def main():
action="store_true")
parser.add_argument("--path", help="instead of downloading the devices"
" page from the wiki, use a local HTML file",
default=None)
type=Path, default=None)
parser.add_argument("--all", help="check all devices (default: check only"
" devices changed from branch point)",
action="store_true")
args = parser.parse_args()
# Check all devices
html = get_wiki_devices_html(args.path)
html["renamed"] = get_wiki_renamed_devices_html()
error = False
for device in get_devices():
devices = []
if args.all:
devices = get_devices()
else:
devices = common.get_changed_devices()
# remove 'device-' prefix
devices = [d[7:] for d in devices]
devices = [d.removesuffix("-downstream") for d in devices]
for device in devices:
if not check_device(device, html, args.booting):
error = True
@@ -126,8 +139,8 @@ def main():
print("wiki as well and make sure to add it here:")
print("https://postmarketos.org/renamed")
return 1
else:
print("*** Wiki check successful!")
print("*** Wiki check successful!")
return 0
+23 -43
View File
@@ -7,7 +7,6 @@
import configparser
import os
import subprocess
import sys
cache = {}
@@ -33,19 +32,19 @@ def run_git(parameters, check=True, stderr=None):
return None
def add_upstream_git_remote():
""" Add a remote pointing to postmarketOS/pmaports. """
run_git(["remote", "add", "upstream",
"https://gitlab.postmarketos.org/postmarketOS/pmaports.git"], False)
run_git(["fetch", "-q", "upstream"])
def commit_message_has_string(needle):
base_commit = get_base_commit()
return needle in run_git(["log", "--pretty=format:%B", f"{base_commit}..HEAD"])
def all_committed_by_merge_bot():
base_commit = get_base_commit()
commit_emails = run_git(["log", "--pretty=format:%ce", f"{base_commit}..HEAD"]).splitlines()
bot_email = os.getenv("PMOS_MERGE_BOT_EMAIL", "merge-bot@postmarketos.org")
return all(bot_email == ce for ce in commit_emails)
def run_pmbootstrap(parameters):
""" Run pmbootstrap with the pmaports dir as --aports """
cmd = ["pmbootstrap", "--aports", get_pmaports_dir()] + parameters
@@ -92,6 +91,15 @@ 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."""
commit = os.getenv("CI_MERGE_REQUEST_DIFF_BASE_SHA")
if commit is not None:
return commit
# Add a remote pointing to postmarketOS/pmaports
run_git(["remote", "add", "upstream",
"https://gitlab.postmarketos.org/postmarketOS/pmaports.git"], False)
run_git(["fetch", "-q", "upstream"])
branch_upstream = f"upstream/{get_upstream_branch()}"
commit_head = run_git(["rev-parse", "HEAD"])[:-1]
commit_upstream = run_git(["rev-parse", branch_upstream])[:-1]
@@ -133,41 +141,6 @@ def get_changed_files(removed=True):
return ret
def get_changed_packages_sanity_check(count):
for mark in ["[ci:ignore-count]", "[ci:skip-build]"]:
if commit_message_has_string(mark):
print("NOTE: package count sanity check skipped (" + mark + ").")
return
if count <= 10:
return
branch = 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.
""")
sys.exit(1)
def get_changed_packages():
ret = set()
for file in get_changed_files():
@@ -211,3 +184,10 @@ def get_changed_kernels():
if pkgname.startswith("linux-"):
ret += [pkgname]
return ret
def get_changed_devices():
ret = []
for pkgname in get_changed_packages():
if pkgname.startswith("device-"):
ret += [pkgname]
return ret
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env python3
# Copyright 2025 Stefan Hansson
# SPDX-License-Identifier: GPL-3.0-or-later
import common
import os.path
import subprocess
import sys
if __name__ == "__main__":
deviceinfo_files = {file for file in common.get_changed_files(removed=False)
if os.path.basename(file) == "deviceinfo"}
try:
subprocess.run(["dint", "check", *deviceinfo_files], text=True, check=True)
except subprocess.CalledProcessError as exception:
sys.exit(exception.returncode)
+194 -11
View File
@@ -2,19 +2,163 @@
# Copyright 2025 Pablo Correa Gomez
# SPDX-License-Identifier: GPL-3.0-or-later
from functools import cached_property
from pathlib import Path
import shutil
from typing import Self
import sys
import traceback
from jinja2 import Template
import add_pmbootstrap_to_import_path
import pmb.parse
from pmb.parse.deviceinfo import Deviceinfo
from pmb.types import Apkbuild
import pmb.helpers.devices
import pmb.helpers.logging
import pmb.helpers.package
from pmb.core.arch import Arch
# Same dir
import common
class Device:
def __init__(self, codename: str):
self.codename = codename
self.full_path = pmb.helpers.devices.find_path(codename)
def __repr__(self):
return f"Device({self.codename})"
@property
def name(self):
return self.full_path.name.removeprefix("device-")
@cached_property
def gitlab_ci_fragment(self) -> str | None:
fragment_path = self.full_path / "gitlab-ci.yml.j2"
try:
fragment_tmpl = fragment_path.read_text()
except Exception:
return None
return Template(fragment_tmpl).render(device=self)
@property
def is_present_in_ci(self):
return bool(self.gitlab_ci_fragment)
@cached_property
def pmaports_path(self) -> Path:
# Find the root of pmaports
pmaports_root = self.full_path.parent
while (not (pmaports_root / "pmaports.cfg").exists() and
pmaports_root != pmaports_root.root):
pmaports_root = pmaports_root.parent
assert pmaports_root != pmaports_root.root
return self.full_path.relative_to(pmaports_root)
@cached_property
def apkbuild(self) -> Apkbuild:
return pmb.parse.apkbuild(self.full_path)
@property
def pkgname(self) -> str:
return self.apkbuild['pkgname']
@property
def arch(self) -> Arch:
return Arch(self.apkbuild['arch'][0])
@property
def testing_dependencies(self) -> set[str]:
# TODO: Source this from the APKGBUILD
return {"postmarketos-mkinitfs-hook-ci"}
@cached_property
def package_dependencies(self) -> list[str]:
# HACK: Work around a bug in depends_recurse which prevents listing all the dependencies
# Bug: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2623
return {"postmarketos-initramfs"}
# return pmb.helpers.package.depends_recurse(pkgname=self.pkgname,
# arch=self.arch)
@cached_property
def dependencies(self) -> set[str]:
return self.package_dependencies | self.testing_dependencies
@cached_property
def kernels(self) -> list[str] | None:
kernels = []
subpackage_prefix = f"device-{self.codename}-kernel-"
for subpkgname in self.apkbuild.get('subpackages', []):
if not subpkgname.startswith(subpackage_prefix):
continue
kernel_name = subpkgname.removeprefix(subpackage_prefix)
# Ignore `none` kernels as they are not bootable
if kernel_name != "none":
kernels.append(kernel_name)
if kernels:
return kernels
else:
return None
@cached_property
def deviceinfo(self) -> dict[str, Deviceinfo] | Deviceinfo:
# NOTE: deviceinfo files that have different values per kernel are
# currently unsupported due to a gitlab-ci issue which prevents us
# from having a per-kernel list of variables that would be selected
# using `.extends`:
# https://gitlab.com/gitlab-org/gitlab/-/issues/299423
return Deviceinfo(self.full_path / "deviceinfo", None)
@property
def has_kernel_variants(self):
return len(self.kernels) > 0
@classmethod
def supported_devices(cls) -> dict[Path, Self]:
# NOTE: Not sure I like relying on pmboostrap just to avoid listing
# devices ourselves, but since we need it to parse the APKBUILD, then
# let's avoid duplicating the logic?
supported_devices = {}
for vendor in pmb.helpers.devices.list_vendors():
for device in pmb.helpers.devices.list_codenames(vendor):
try:
dev = cls(device.codename)
# Ignore devices that do not have a gitlab ci fragment,
# since we won't be able to make use of them
if not dev.gitlab_ci_fragment:
continue
supported_devices[dev.pmaports_path] = dev
except Exception:
traceback.print_exc()
return supported_devices
class ArchTagSet(set):
supported_arches = [
Arch.x86_64,
Arch.x86,
Arch.aarch64,
Arch.armv7,
Arch.armhf,
Arch.riscv64,
Arch.ppc64le,
]
def update(self, iterable):
# 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])
if __name__ == "__main__":
# Needs input to output if we should create the jobs
if len(sys.argv) != 3:
@@ -29,28 +173,67 @@ if __name__ == "__main__":
# be changed to a file and added as a CI artifact if we need to debug
# something.
pmb.logging.init(Path("/dev/null"), False)
archs = set()
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
# Get the list of supported devices
supported_devices = Device.supported_devices()
archs = ArchTagSet()
devices_under_test = set()
packages_modified = set()
# Get and print modified packages
common.add_upstream_git_remote()
for file in common.get_changed_files():
path = Path(file)
# Check if the modified's file parent folder is one of a supported dev
if device := supported_devices.get(path.parent):
devices_under_test.add(device)
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"])
# Add all the devices found in CI that depend on the package that got
# modified
for device in supported_devices.values():
if apkbuild['pkgname'] in device.dependencies:
devices_under_test.add(device)
skip = False
if common.commit_message_has_string("[ci:skip-build]"):
print("User requested skipping build, not creating child pipeline file")
archs = set()
print("User requested skipping build, skipping build")
skip = True
if common.all_committed_by_merge_bot():
print("All commits in branch committed by merge bot, skipping build")
skip = True
if skip:
archs = ArchTagSet()
devices_under_test = set()
# This ignores things like !armv7, that could be a follow-up optimization
if 'noarch' in archs or 'all' in archs:
archs = set([str(arch) for arch in Arch.supported()])
print(f"Architectures to build: {archs}")
print(f"Devices under test: {devices_under_test}")
print(archs)
with open(template) as f:
rendered = Template(f.read()).render(archs=archs)
rendered = Template(f.read()).render(
archs=archs,
devices_under_test=devices_under_test,
packages_modified=packages_modified,
archtag={
Arch.x86_64: "shared",
Arch.x86: "shared",
Arch.aarch64: "arm64",
Arch.armv7: "qemu",
Arch.armhf: "qemu",
Arch.riscv64: "qemu",
Arch.ppc64le: "ppc64le",
},
)
with open(child_pipeline, "w") as fw:
fw.write(rendered)
+84
View File
@@ -23,6 +23,8 @@ _test_passedn=0
_test_failedn=0
_test_current_test=""
_test_statefile="$(mktemp)"
_test_original_pwd=""
_test_temp_root=""
# Set by each test
results_dir="${results_dir:-}"
@@ -42,6 +44,23 @@ test_debug() {
echo -e "${YELLOW}$*${RESET}" >&2
}
create_test_root() {
_test_original_pwd="$(pwd)"
_test_temp_root="$(mktemp -d)"
cd "$_test_temp_root"
}
cleanup_test_root() {
if [ -n "$_test_original_pwd" ]; then
cd "$_test_original_pwd"
fi
if [ -n "$_test_temp_root" ] && [ -d "$_test_temp_root" ]; then
rm -rf "$_test_temp_root"
fi
_test_original_pwd=""
_test_temp_root=""
}
assert_strequal() {
# $1: first string
# $2: second string
@@ -87,6 +106,71 @@ assert_unset() {
test_log " ✅ \$$1 is unset"
}
assert_exists() {
# $1: filename to test
if [ -z "$1" ]; then
test_log "ERROR: assert_exists: not enough arguments given"
exit 1
fi
if ! [ -e "$1" ]; then
_test_assert_failed="\$$1 should exist but does not"
test_log " ❌ $_test_assert_failed"
return
fi
test_log " ✅ \$$1 exists"
}
assert_not_exists() {
if [ -z "$1" ]; then
test_log "ERROR: assert_not_exists: not enough arguments given"
exit 1
fi
if [ -e "$1" ]; then
_test_assert_failed="\$$1 should NOT exist but does"
test_log " ❌ $_test_assert_failed"
return
fi
test_log " ✅ \$$1 does not exist"
}
assert_contains() {
# $1: string to search in
# $2: substring to find
if [ -z "$1" ] || [ -z "$2" ]; then
test_log "ERROR: assert_contains: not enough arguments given"
exit 1
fi
case "$1" in
*"$2"*)
test_log " ✅ '$2' found in '$1'"
;;
*)
_test_assert_failed="'$2' not found in '$1'"
test_log " ❌ $_test_assert_failed"
return
;;
esac
}
assert_not_contains() {
# $1: string to search in
# $2: substring that should not be found
if [ -z "$1" ] || [ -z "$2" ]; then
test_log "ERROR: assert_not_contains: not enough arguments given"
exit 1
fi
case "$1" in
*"$2"*)
_test_assert_failed="'$2' found in '$1' but should not be"
test_log " ❌ $_test_assert_failed"
return
;;
*)
test_log " ✅ '$2' not found in '$1'"
;;
esac
}
# Log some expression and evaluate it
logeval() {
eval "$*"
-1
View File
@@ -26,7 +26,6 @@ def verify_checksums(packages):
if __name__ == "__main__":
# Get and print modified packages
common.add_upstream_git_remote()
packages = common.get_changed_packages()
# Load context
+2 -12
View File
@@ -26,17 +26,7 @@ pmbootstrap work_migrate
pmbootstrap config aports "$pmaports"
pmbootstrap -q shutdown
# Make sure we have a valid device (pmbootstrap#1128)
device="$(pmbootstrap config device)"
deviceinfo="$pmaports/device/*/device-$device/deviceinfo"
# shellcheck disable=SC2086
if ! [ -e $deviceinfo ]; then
echo "ERROR: Could not find deviceinfo file for selected device '$device'."
echo "Expected path: $deviceinfo"
echo "Maybe you have switched to a branch where your device does not exist?"
echo "Use 'pmbootstrap config device qemu-amd64' to switch to a valid device."
exit 1
fi
# Needed to import "common"
export PYTHONPATH=".ci/lib"
# Run testcases
pytest -vv -x --tb=native "$pmaports/.ci/testcases" "$@"
+1
View File
@@ -24,6 +24,7 @@ sh_files="
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./device/community/soc-qcom/call_audio_idle_suspend_workaround.sh
./extra-repos/systemd/postmarketos-base-systemd/rootfs-usr-libexec-systemd-apk-trigger
$(find . -path './main/postmarketos-ui-*/*.sh')
$(find . -path './main/postmarketos-ui-*/*.pre-install')
-1
View File
@@ -27,7 +27,6 @@ def args(request):
args.offline = False
args.action = "init"
args.cross = False
args.ccache = False
args.log = None
init_args(args)
+10 -6
View File
@@ -46,20 +46,20 @@ def test_executable_files():
"m0755` or a variation thereof.")
# Make sure files are either:
# - in root directory (README.md)
# - hidden (.ci/, device/.shared-patches/)
# - or belong to a package (below a directory with APKBUILD)
# Make sure files belong to a package (below a directory with APKBUILD)
def test_files_belong_to_package():
# Walk directories and set package_dir when we find an APKBUILD
# This allows matching files in subdirectories to the package directory.
package_dir = None
for dirpath, dirs, files in os.walk("."):
# Skip "hidden" directories
# Skip "hidden" directories (.ci/, device/.shared-patches/)
dirs[:] = [d for d in dirs if not d.startswith(".")]
# Ignore files in root directory
# Ignore files in root directory (README.md)
if dirpath == '.':
continue
# Ignore files under docs/
if dirpath.startswith('./docs'):
continue
# Switched to another directory?
if package_dir and not dirpath.startswith(package_dir + os.sep):
@@ -70,5 +70,9 @@ def test_files_belong_to_package():
"both contain an APKBUILD"
package_dir = dirpath
# Skip specific ".gitlab-ci.yml" files outside of usual structure
if dirpath in ["./cross"]:
files[:] = [f for f in files if f != ".gitlab-ci.yml"]
assert not files or package_dir, "Found files that do not belong to any package: " \
f"{dirpath}/{files}"
+1 -1
View File
@@ -99,7 +99,7 @@ def test_aports_unreferenced_files():
for file in glob.iglob(dirname + "/**", recursive=True):
rel_file_path = os.path.relpath(file, dirname)
# Skip APKBUILDs and directories
if rel_file_path == "APKBUILD" or os.path.isdir(file):
if rel_file_path in ["APKBUILD", "gitlab-ci.yml.j2"] or os.path.isdir(file):
continue
if os.path.basename(rel_file_path) not in sources_chk \
+18 -14
View File
@@ -2,14 +2,10 @@
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pytest
import sys
import os
from pathlib import Path
import add_pmbootstrap_to_import_path
import common
import pmb.parse
from pmb.core.pkgrepo import pkgrepo_iglob
def test_aports_ui():
@@ -17,18 +13,25 @@ def test_aports_ui():
Raise an error if package in _pmb_recommends is not found
"""
pmaports_cfg = pmb.config.pmaports.read_config()
for arch in pmaports_cfg["supported_arches"].split(","):
for path in pkgrepo_iglob("main/postmarketos-ui-*/APKBUILD"):
for path in common.get_changed_files():
path = Path(path)
if path.name != "APKBUILD":
continue
if not path.parent.name.startswith("postmarketos-ui"):
continue
apkbuild = pmb.parse.apkbuild(path)
# Skip if arch isn't enabled
if not pmb.helpers.package.check_arch(apkbuild["pkgname"], arch, False):
continue
for package in apkbuild["_pmb_recommends"]:
depend = pmb.helpers.package.get(package,
arch, must_exist=False)
if depend is None or not pmb.helpers.package.check_arch(package, arch):
depend = pmb.helpers.package.get(
package, arch, must_exist=False, try_other_arches=False
)
if depend is None:
raise RuntimeError(f"{path}: package '{package}' from"
f" _pmb_recommends not found for arch '{arch}'")
@@ -36,8 +39,9 @@ def test_aports_ui():
if f"{apkbuild['pkgname']}-extras" in apkbuild["subpackages"]:
apkbuild = apkbuild["subpackages"][f"{apkbuild['pkgname']}-extras"]
for package in apkbuild["_pmb_recommends"]:
depend = pmb.helpers.package.get(package,
arch, must_exist=False)
if depend is None or not pmb.helpers.package.check_arch(package, arch):
depend = pmb.helpers.package.get(
package, arch, must_exist=False, try_other_arches=False
)
if depend is None:
raise RuntimeError(f"{path}: package '{package}' from _pmb_recommends "
f"of -extras subpackage is not found for arch '{arch}'")
+3 -1
View File
@@ -7,9 +7,11 @@
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add \
git \
python3
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
.ci/lib/check_devices_in_wiki.py --booting
# shellcheck disable=SC2068
.ci/lib/check_devices_in_wiki.py --booting $@
+6
View File
@@ -49,6 +49,12 @@ case "$lcp" in
device/*/*)
prefix="$(echo "$lcp" | cut -d/ -f3)"
;;
docs/*.adoc)
prefix="docs/$(basename $lcp .adoc)"
;;
docs/*)
prefix="docs"
;;
device/*)
# Multiple packages touched for same device category. More
# logic could be added to detect if they all belong to same
+2 -1
View File
@@ -65,8 +65,9 @@ instance/
# Scrapy stuff:
.scrapy
# Sphinx documentation
# Documentation
docs/_build/
build/site
# PyBuilder
target/
+45 -1
View File
@@ -10,6 +10,7 @@ stages:
- build
- autoupdate
- test
- deploy
variables:
# Default of 20 is pretty small, sometimes MRs have >20 commits in them. 100
# seems like a reasonable balance. If this is too low, git merge-base (from ci/
@@ -21,6 +22,8 @@ workflow:
rules:
# Run for merge requests
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
# Some things have to run in the default branch
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Run scheduled pipeline for autoupdate or manually triggered pipeline
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
@@ -101,6 +104,22 @@ aport-lint:
- .ci/apkbuild-lint.sh
allow_failure: true
# deviceinfo linting
dint:
stage: lint
rules:
- if: *mr_rule
changes:
- .ci/**/*
- .gitlab-ci.yml
- device/*/device-*/deviceinfo
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/dint.sh
allow_failure:
exit_codes:
- 2 # returned by dint on non-fatal warning
# kernel kconfig check
kernel-kconfig:
stage: lint
@@ -155,7 +174,11 @@ generate-build-jobs:
script:
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh py3-jinja2
- .ci/lib/generate_build_jobs.py .ci/build-jobs.yaml.j2 .ci/build-jobs.yaml
# 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
artifacts:
paths:
@@ -176,6 +199,27 @@ build-jobs:
rules:
- if: *mr_rule
build-docs:
stage: build
before_script:
- adduser -D build
script:
- .ci/build-docs.sh
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- docs/**/*
deploy-docs:
stage: deploy
trigger:
project: postmarketOS/handbook
strategy: depend
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "postmarketOS"
changes:
- docs/**/*
auto-update:
stage: autoupdate
rules:
+1 -2
View File
@@ -27,8 +27,7 @@
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v24.12`
* [ ] `v24.06` (supported until 2025-01-23)
* [ ] `v25.06`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
+1 -1
View File
@@ -1,3 +1,3 @@
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>
+11 -1
View File
@@ -7,7 +7,17 @@ There are many more packages defined in the [Alpine Linux aports](https://gitlab
Helpful resources:
* [How to create a package](https://wiki.postmarketos.org/wiki/Create_a_package)
* [APKBUILD reference](https://wiki.alpinelinux.org/wiki/APKBUILD_Reference)
* [pmaports commit style](./COMMITSTYLE.md)
* [Review and merging guidelines](./docs/modules/ROOT/pages/merging-rules.adoc)
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
* [postmarketOS commit style](./COMMITSTYLE.md)
## Git Hooks
You can find some useful git hooks in the `.githooks` directory.
To use them, run the following command after cloning this repository:
```sh
git config --local core.hooksPath .githooks
```
+16
View File
@@ -0,0 +1,16 @@
site:
title: Device ports
start_page: pmaports::index.adoc
content:
sources:
- url: .
start_path: docs
branches: HEAD
- url: https://gitlab.postmarketos.org/postmarketOS/handbook
branches: HEAD
ui:
bundle:
url: https://gitlab.postmarketos.org/postmarketOS/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
snapshot: true
+75
View File
@@ -0,0 +1,75 @@
# 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.06]
description=Latest release / Recommended for best stability
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
+21
View File
@@ -0,0 +1,21 @@
cross-gcc-tests:
extends: .package-test
tags: [qemu]
before_script:
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- su pmos -c "pmbootstrap build gcc-aarch64"
- su pmos -c "pmbootstrap build --arch=aarch64 hello-world --force"
- su pmos -c "pmbootstrap build --arch=aarch64 iskey --force"
- su pmos -c "pmbootstrap build --arch=aarch64 pbsplash --force"
- su pmos -c "pmbootstrap build --arch=aarch64 gcc-x86_64"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- cross/gcc-x86_64/APKBUILD
artifacts:
when: always
paths:
- log.txt
expire_in: 1 week
+2 -2
View File
@@ -5,7 +5,7 @@
pkgname=ccache-cross-symlinks
pkgver=3
pkgrel=1
pkgrel=2
pkgdesc="Enable ccache for cross-compilers with symlinks"
url="https://ccache.samba.org/"
arch="noarch"
@@ -15,7 +15,7 @@ options="!check"
package() {
# Keep in sync with pmb.config.build_device_architectures
local _archs="armhf armv7 aarch64 x86_64 x86 riscv64"
local _archs="armhf armv7 aarch64 x86_64 x86 riscv64 ppc64le"
local _bins="c++ cc cpp g++ gcc clang clang++"
mkdir -p "$pkgdir/usr/lib/ccache/bin"
+61 -15
View File
@@ -1,5 +1,5 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# https://wiki.postmarketos.org/wiki/Pmbootstrap:_Cross_Compiling
# https://docs.postmarketos.org/pmbootstrap/cross_compiling.html
#
# Wrapper for the "crossdirect" compilation method.
# pmbootstrap mounts the native chroot in the foreign arch (e.g. armhf) chroot
@@ -12,26 +12,33 @@
# -> /native/usr/bin/rustc --target=armv6-alpine-linux-musleabihf ...
#
# When building packages in the armhf chroot, PATH will get prepended with
# "/native/usr/lib/crossdirect/armhf". The end game is of course invoking the
# cross compiler from the native chroot, running at native speed, whenever
# calling the compiler from the foreign arch chroot. See crossdirect.c for
# implementation details of the C version (llvm, fakeroot, rpath). The rust
# version is implemented as simple shell wrappers.
# "/native/usr/lib/crossdirect/armhf". The end game is of course invoking
# programs such as cross compilers and archivers from the native chroot,
# running at native speed, whenever they get called from the foreign arch
# 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.
pkgname=crossdirect
pkgver=5.2.0
pkgrel=1
pkgdesc="Wrappers to launch native cross compilers in foreign chroots"
pkgver=5.3.1
pkgrel=0
pkgdesc="Wrappers to launch native programs (e.g. cross compilers) in foreign chroots"
url="https://postmarketOS.org"
arch="all"
license="MIT"
options="!check"
source="cargo.sh crossdirect.c rustc.sh rust-qemu-linker.sh"
source="
cargo.sh
crossdirect.c
exec_native.sh
rust-qemu-linker.sh
rustc.sh
"
build() {
cd "$srcdir"
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64 riscv64"
_archs="x86_64 armhf armv7 aarch64 ppc64le riscv64"
for _arch in $_archs; do
[ "$_arch" == "$CARCH" ] && continue
_hostspec="$(arch_to_hostspec $_arch)"
@@ -48,8 +55,37 @@ build() {
package() {
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64 riscv64"
_bins="c++ cc cpp g++ gcc clang clang++"
_archs="
aarch64
armhf
armv7
ppc64le
riscv64
x86_64
"
_bin_compilers="
c++
cc
clang
clang++
cpp
g++
gcc
"
_bin_archivers="
bzip2
gunzip
gzip
lzip
lzma
lzop
pigz
unlzma
unpigz
unxz
unzip
xz
"
# Rust wrappers
install -Dm755 "$srcdir/rust-qemu-linker.sh" \
@@ -57,6 +93,9 @@ package() {
install -Dm755 "$srcdir/cargo.sh" "$pkgdir/usr/lib/crossdirect/cargo.sh"
install -Dm755 "$srcdir/rustc.sh" "$pkgdir/usr/lib/crossdirect/rustc.sh"
# For archivers
install -Dm755 "$srcdir/exec_native.sh" -t "$pkgdir/usr/lib/crossdirect/"
# Iterate over architectures
for _arch in $_archs; do
[ "$_arch" == "$CARCH" ] && continue
@@ -70,11 +109,17 @@ package() {
cp "$srcdir/crossdirect-$_arch" "./"
# GCC: create compiler symlinks
for _bin in $_bins; do
for _bin in $_bin_compilers; do
ln -s "crossdirect-$_arch" "$_bin"
ln -s "crossdirect-$_arch" "$_hostspec-$_bin"
done
# Archivers
for _bin in $_bin_archivers; do
ln -s ../exec_native.sh "$_bin"
done
# Rust
ln -s ../cargo.sh cargo
ln -s ../rustc.sh rustc
done
@@ -83,6 +128,7 @@ package() {
sha512sums="
0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh
b2e602b7fc95ed403d29f0d754879d5f773c39ee33e726bb10cff17b3c088406dac84f2ca6d8ad563c64370007d98af805d6ee9cd4a06fe3d4c61c0cb90c5c0c crossdirect.c
de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh
73e2b5d2d8ef7c6002b3a787d14945586991493b8d81f59e5c0beda0d3b290543e1fdc6f288da726c5dd121c0861d2a894410b7b749a537df0df5b409e102330 exec_native.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh
de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh
"
+27
View File
@@ -0,0 +1,27 @@
#!/bin/sh -e
# Execute the binary from the native chroot if it is installed there. This is
# done for archiver tools such as unxz, so they don't need to go through QEMU.
BASENAME="$(basename "$0")"
if [ -n "$LD_PRELOAD" ]; then
# The archiver tool gets called during package(), which abuild runs
# with libfakeroot.so. Some packages do this, like bootchart2, which
# compresses man pages in its "make install". We can't run the native
# binary here due to the LD_PRELOAD, so run the foreign arch one.
export PATH="/usr/bin:/usr/sbin:/sbin:/bin"
exec "$BASENAME" "$@"
fi
# Try /native first, then the foreign arch paths. Never try
# /native/usr/lib/crossdirect as this would result in a loop.
UNWRAPPED_PATH="/native/usr/bin:/native/usr/sbin:/native/sbin:/native/bin:/usr/bin:/usr/sbin:/sbin:/bin"
UNWRAPPED_BIN="$(PATH="$UNWRAPPED_PATH" command -v "$BASENAME")"
case "$UNWRAPPED_BIN" in
/native/*)
export LD_LIBRARY_PATH="/native/usr/lib:/native/lib"
export PATH="$UNWRAPPED_PATH"
;;
esac
exec "$UNWRAPPED_BIN" "$@"
+4 -4
View File
@@ -1,14 +1,14 @@
From 47b4bd4deb2c356bb07d2a96f22127aefafec3a4 Mon Sep 17 00:00:00 2001
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 01/35] posix_memalign
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 3527283693b..c4071b64b53 100644
index d1d79a32fc9..069c3bb8324 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
@@ -38,5 +38,5 @@ index 3527283693b..c4071b64b53 100644
else
return NULL;
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 4fa620d8c3e6730211bfb071eb4c817320491bd0 Mon Sep 17 00:00:00 2001
From 0d5e04099a3d2609105719f7396a4ff941b873b6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH 02/35] gcc: poison-system-directories
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
@@ -11,25 +11,25 @@ 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>
Upstream-Status: Pending
---
gcc/common.opt | 4 ++++
gcc/config.in | 6 ++++++
gcc/configure | 16 ++++++++++++++++
gcc/configure.ac | 10 ++++++++++
gcc/config.in | 10 ++++++++++
gcc/configure | 19 +++++++++++++++++++
gcc/configure.ac | 16 ++++++++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 2 ++
gcc/incpath.cc | 21 +++++++++++++++++++++
7 files changed, 68 insertions(+)
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 862c474d3c8..64c4277c991 100644
index e3fa0dacec4..bea1adc0940 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -711,6 +711,10 @@ Wreturn-local-addr
@@ -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.
@@ -41,10 +41,10 @@ index 862c474d3c8..64c4277c991 100644
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 4cad077bfbe..0679fbbf4c6 100644
index a79c51adb2b..8a531ed591c 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -236,6 +236,12 @@
@@ -249,6 +249,16 @@
#endif
@@ -52,24 +52,28 @@ index 4cad077bfbe..0679fbbf4c6 100644
+#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 c7b26d1927d..8c46369f73f 100755
index 16965953f05..0f4a5d52c30 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1026,6 +1026,7 @@ enable_maintainer_mode
@@ -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_libquadmath_support
@@ -1788,6 +1789,8 @@ Optional Features:
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
@@ -77,8 +81,8 @@ index c7b26d1927d..8c46369f73f 100755
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
@@ -31753,6 +31756,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
--enable-host-pie build host code as PIE
@@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
@@ -89,9 +93,12 @@ index c7b26d1927d..8c46369f73f 100755
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+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
+
@@ -99,41 +106,47 @@ index c7b26d1927d..8c46369f73f 100755
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 09082e8ccae..5504bf6eb01 100644
index 9f67e62950a..b0e3615e5aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7292,6 +7292,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
@@ -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]),,
+ [warn for use of native system header directories (no/yes/error)]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+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 af0e5933fdb..b6731a4673c 100644
index 72009c33cd0..29aea724731 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}.
@@ -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-prio-ctor-dtor -Wredundant-decls
-Wrestrict -Wno-return-local-addr -Wreturn-type
-Wno-scalar-storage-order -Wsequence-point
@@ -8426,6 +8427,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
-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
@@ -143,15 +156,28 @@ index af0e5933fdb..b6731a4673c 100644
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@opindex Wfloat-equal
@opindex Wno-float-equal
@item -Wfloat-equal
@opindex Winvalid-pch
@opindex Wno-invalid-pch
@item -Winvalid-pch
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 16bb07f2cdc..33b56e721d2 100644
index 4fd87f2c4a1..79d4920a047 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-z now " \
@@ -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} \
@@ -159,8 +185,26 @@ index 16bb07f2cdc..33b56e721d2 100644
%{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 4d44321183f..0f3f071b44c 100644
index c1bbfd3872a..2cdbebc4c50 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
@@ -171,9 +215,20 @@ index 4d44321183f..0f3f071b44c 100644
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
@@ -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"));
}
fprintf (stderr, _("End of search list.\n"));
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
@@ -182,22 +237,22 @@ index 4d44321183f..0f3f071b44c 100644
+ 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);
+ }
+ {
+ 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.41.0
2.50.1
@@ -1,7 +1,7 @@
From ff4dd4ce33133e675b7bedc86b73357c04631cb9 Mon Sep 17 00:00:00 2001
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 03/35] specs: turn on -Wl,-z,now by default
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.
@@ -14,10 +14,10 @@ now by default.
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b6731a4673c..f393c7846c6 100644
index 29aea724731..6fb3ab70cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -17961,6 +17961,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
@@ -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}.
@@ -28,10 +28,10 @@ index b6731a4673c..f393c7846c6 100644
@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 33b56e721d2..f82fae23c22 100644
index 79d4920a047..74a356fdf5e 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1144,6 +1144,7 @@ proper position among the other output files. */
@@ -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 \
@@ -40,5 +40,5 @@ index 33b56e721d2..f82fae23c22 100644
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.41.0
2.50.1
@@ -1,8 +1,8 @@
From 1b315235433701e4a974da259b8d651169ddc7ac Mon Sep 17 00:00:00 2001
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 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
ObjC, ObjC++, if the optimization level is > 0
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 ++++
@@ -10,10 +10,10 @@ Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 5d64625fcd7..868d69506e4 100644
index 4589ee4a3a6..9edf095384c 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1546,6 +1546,10 @@ c_cpp_builtins (cpp_reader *pfile)
@@ -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);
@@ -25,10 +25,10 @@ index 5d64625fcd7..868d69506e4 100644
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index f393c7846c6..ef3c14a189e 100644
index 6fb3ab70cc7..799ce073dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11868,6 +11868,12 @@ also turns on the following optimization flags:
@@ -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.
@@ -42,5 +42,5 @@ index f393c7846c6..ef3c14a189e 100644
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
2.41.0
2.50.1
@@ -1,8 +1,8 @@
From 67c0f5789630b27149f60ff831999ef7c1dba5d5 Mon Sep 17 00:00:00 2001
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 05/35] On linux targets pass --as-needed by default to the
linker, but always link the sanitizer libraries with --no-as-needed.
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 +
@@ -12,6 +12,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
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 ++--
@@ -19,13 +20,13 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
14 files changed, 36 insertions(+), 19 deletions(-)
15 files changed, 37 insertions(+), 20 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 4277f03da2a..b131983a546 100644
index 116bb4e69f3..daf99f8dce9 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -35,6 +35,7 @@
@@ -39,6 +39,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
@@ -34,7 +35,7 @@ index 4277f03da2a..b131983a546 100644
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 03f783f2ad1..d946e700dda 100644
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
@@ -47,7 +48,7 @@ index 03f783f2ad1..d946e700dda 100644
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 7b7b7cbbe14..49c050c6f2c 100644
index d4d389e2aa8..adccc0b11c2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
@@ -59,7 +60,7 @@ index 7b7b7cbbe14..49c050c6f2c 100644
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index eda8010b133..b26b17f2f2a 100644
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
@@ -87,7 +88,7 @@ index eda8010b133..b26b17f2f2a 100644
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index a79b739089d..e0752673dff 100644
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
@@ -100,7 +101,7 @@ index a79b739089d..e0752673dff 100644
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index 3b63b99acf6..759bf0db86f 100644
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
@@ -112,7 +113,7 @@ index 3b63b99acf6..759bf0db86f 100644
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index 5dfd428aa17..02656dad7fc 100644
index a2494c214c4..e1a5d530cdf 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
@@ -124,8 +125,21 @@ index 5dfd428aa17..02656dad7fc 100644
%{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 a4e5380b589..3cc61bce69f 100644
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
@@ -137,7 +151,7 @@ index a4e5380b589..3cc61bce69f 100644
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 3e625e0f867..f8c2c351e5a 100644
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
@@ -147,12 +161,12 @@ index 3e625e0f867..f8c2c351e5a 100644
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
%{mbig-endian:-EB} \
-X \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 9e457033d11..08016bf224d 100644
index 0316d8cb65d..139e1b6796c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -377,13 +377,13 @@ extern int dot_symbols;
@@ -378,13 +378,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
@@ -169,10 +183,10 @@ index 9e457033d11..08016bf224d 100644
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index ae932fc22f0..c8ff0c6dc8e 100644
index afb5c6ad867..b64638fb25b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -780,7 +780,7 @@ GNU_USER_TARGET_CC1_SPEC
@@ -781,7 +781,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
@@ -182,7 +196,7 @@ index ae932fc22f0..c8ff0c6dc8e 100644
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 02aa1edaff8..64df5801134 100644
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
@@ -195,7 +209,7 @@ index 02aa1edaff8..64df5801134 100644
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 0e33b3cac2c..c2f44546e62 100644
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);
@@ -208,10 +222,10 @@ index 0e33b3cac2c..c2f44546e62 100644
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index f82fae23c22..da6417dd0d1 100644
index 74a356fdf5e..fc9c7d15b04 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -754,8 +754,11 @@ proper position among the other output files. */
@@ -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)
@@ -225,7 +239,7 @@ index f82fae23c22..da6417dd0d1 100644
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -790,8 +793,11 @@ proper position among the other output files. */
@@ -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)
@@ -239,7 +253,7 @@ index f82fae23c22..da6417dd0d1 100644
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -808,8 +814,11 @@ proper position among the other output files. */
@@ -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)
@@ -253,7 +267,7 @@ index f82fae23c22..da6417dd0d1 100644
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -824,8 +833,11 @@ proper position among the other output files. */
@@ -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
@@ -268,5 +282,5 @@ index f82fae23c22..da6417dd0d1 100644
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.41.0
2.50.1
@@ -1,18 +1,18 @@
From bb25e8489384504cd59e4a2538720863da1fb29c Mon Sep 17 00:00:00 2001
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 06/35] Enable -Wformat and -Wformat-security by default.
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 a75038930ae..b98726f33ed 100644
index 75b6531860e..78830ce4b42 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -704,7 +704,7 @@ Warn about function calls with format strings that write past the end
of the destination region. Same as -Wformat-overflow=1.
@@ -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)
@@ -20,7 +20,7 @@ index a75038930ae..b98726f33ed 100644
Warn about possible security problems with format functions.
Wformat-signedness
@@ -725,7 +725,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
@@ -830,7 +830,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
@@ -28,7 +28,7 @@ index a75038930ae..b98726f33ed 100644
+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.
Wformat-overflow=
Wframe-address
--
2.41.0
2.50.1
@@ -1,18 +1,18 @@
From 4a728ad48a7b437cc6f2697e26603bf648149f86 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:48:24 +0000
Subject: [PATCH 07/35] Enable -Wtrampolines by default.
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 64c4277c991..c24839d32bc 100644
index bea1adc0940..e65a575d9f8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -803,7 +803,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers.
@@ -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
@@ -21,5 +21,5 @@ index 64c4277c991..c24839d32bc 100644
Wtrivial-auto-var-init
--
2.41.0
2.50.1
@@ -1,53 +0,0 @@
From 32f24560d0602f7735d5e9efd92fe3151bd72cea Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:49:40 +0000
Subject: [PATCH 08/35] Disable ssp on -nostdlib, -nodefaultlibs and
-ffreestanding Change the buffer size.
---
gcc/gcc.cc | 8 +++++++-
gcc/params.opt | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index da6417dd0d1..b5a6f200635 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -983,6 +983,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" \
@@ -1282,7 +1288,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|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
diff --git a/gcc/params.opt b/gcc/params.opt
index 823cdb2ff85..5b096899b40 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1006,7 +1006,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.41.0
@@ -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
@@ -1,54 +0,0 @@
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/35] 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 12d34910830..61b13762b71 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.41.0
@@ -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
@@ -1,28 +0,0 @@
From aaa029bcee68298695b7c4278c90b6bc320d098c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH 10/35] 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 1d5c779fcff..19e3cb1e31c 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,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.41.0
@@ -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
@@ -1,24 +0,0 @@
From 65e01e749205c9af218b01233cebd0077538d0ee Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH 11/35] 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 72608f3e4a7..58356884728 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,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.41.0
-57
View File
@@ -1,57 +0,0 @@
From 453a815bf2844971a91eaef800af188d9e86b784 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH 12/35] 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 0d817fc3f3b..2e99db00db9 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12691,10 +12691,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 50b6d8248a2..724ced402a1 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.41.0
@@ -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
@@ -1,85 +0,0 @@
From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH 13/35] nopie
---
gcc/configure | 27 +++++++++++++++++++++++++++
gcc/configure.ac | 13 +++++++++++++
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -34534,6 +34534,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
@@ -34551,6 +34574,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 d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7781,6 +7781,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
@@ -7798,6 +7807,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.41.0
@@ -1,42 +0,0 @@
From dd5bb97c31a9f57034c70a7a18ba6e2e133084c7 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH 14/35] 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 f2126441208..22cfa9c641f 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.41.0
+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
@@ -1,24 +0,0 @@
From 6bb5b7d9161d05f31b001d8211a9c63caf63fd2f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:43 +0000
Subject: [PATCH 15/35] build: fix CXXFLAGS_FOR_BUILD passing
---
Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
index 06a9398e172..6ff2b3f9925 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -178,6 +178,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.41.0
@@ -1,25 +0,0 @@
From f0d9e00cac06689f64b214de7aee80d7116ef084 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:01:06 +0000
Subject: [PATCH 16/35] 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 e3aca79cccc..b3537b8fbeb 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.41.0
@@ -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
@@ -1,31 +0,0 @@
From 857db04f4f1a06e866551b4172fe8f27363f4a92 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 17/35] 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 b5a6f200635..6cbb726599b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -991,8 +991,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.41.0
@@ -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
@@ -1,69 +0,0 @@
From 5a8347e23ab13912b6edec2c6c6e3a101b017c79 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:03:42 +0000
Subject: [PATCH 18/35] 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 6cbb726599b..59390fd39d6 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -755,10 +755,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
@@ -794,10 +794,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
@@ -815,10 +815,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
@@ -834,10 +834,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.41.0
@@ -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
@@ -1,26 +0,0 @@
From 41d00a2eb0754acf71958808bd17dbebeb517b84 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:12:55 +0000
Subject: [PATCH 19/35] 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 57bf4100fcd..172894b57ef 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.41.0
@@ -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
@@ -1,25 +0,0 @@
From 85b42bfbba71616831d14360b16998acb28790fd Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:13:59 +0000
Subject: [PATCH 20/35] 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.41.0
@@ -1,81 +0,0 @@
From 7b53df284242638e940c0155b6c21e88cea1f55b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:33 +0000
Subject: [PATCH 21/35] 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 01a94242308..b3a76379c03 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.41.0
@@ -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
@@ -1,26 +0,0 @@
From 96e7e1e9a899d9bb5fcbdf788bd529d0390c626f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:54 +0000
Subject: [PATCH 22/35] 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 138956b0962..bc03dab874f 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.41.0
@@ -1,76 +0,0 @@
From b26224acf342eacb33491f6ea0da1faf73d35715 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 23/35] 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 f8c2c351e5a..8d9881eadeb 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -60,11 +60,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 216d2776a18..1a8a863853e 100644
--- a/gcc/config/riscv/t-linux
+++ b/gcc/config/riscv/t-linux
@@ -1,3 +1,6 @@
-# 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
--
2.41.0
@@ -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
@@ -1,51 +0,0 @@
From a72e0613f79f6b6867819317accb7a714031a08c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:05:41 +0000
Subject: [PATCH 24/35] 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 6c4dc79ab71..023cede18a7 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -960,8 +960,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)
@@ -1163,10 +1164,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))))
@@ -1183,6 +1180,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.41.0
@@ -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
@@ -1,135 +0,0 @@
From 3ee8cbc1cad261b30d4a7a66d31496d5f243ce2f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:06:30 +0000
Subject: [PATCH 25/35] ada: libgnarl compatibility for musl
---
gcc/ada/libgnarl/s-osinte__linux.ads | 11 ------
gcc/ada/libgnarl/s-taprop__linux.adb | 53 ++--------------------------
2 files changed, 3 insertions(+), 61 deletions(-)
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index a5e645d334d..32165347071 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -403,12 +403,6 @@ package System.OS_Interface is
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;
@@ -470,11 +464,6 @@ package System.OS_Interface is
protocol : int) return int;
pragma Import (C, pthread_mutexattr_setprotocol);
- function pthread_mutexattr_setprioceiling
- (attr : access pthread_mutexattr_t;
- prioceiling : int) return int;
- pragma Import (C, pthread_mutexattr_setprioceiling);
-
type struct_sched_param is record
sched_priority : int; -- scheduling priority
end record;
diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb
index 821ceef30e4..ae95b58e01e 100644
--- a/gcc/ada/libgnarl/s-taprop__linux.adb
+++ b/gcc/ada/libgnarl/s-taprop__linux.adb
@@ -198,9 +198,6 @@ package body System.Task_Primitives.Operations is
pragma Import
(C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup");
- function GNAT_has_cap_sys_nice return C.int;
- pragma Import
- (C, GNAT_has_cap_sys_nice, "__gnat_has_cap_sys_nice");
-- We do not have pragma Linker_Options ("-lcap"); here, because this
-- library is not present on many Linux systems. 'libcap' is the Linux
-- "capabilities" library, called by __gnat_has_cap_sys_nice.
@@ -210,38 +207,6 @@ package body System.Task_Primitives.Operations is
-- Convert Ada priority to Linux priority. Priorities are 1 .. 99 on
-- GNU/Linux, so we map 0 .. 98 to 1 .. 99.
- function Get_Ceiling_Support return Boolean;
- -- Get the value of the Ceiling_Support constant (see below).
- -- Note well: If this function or related code is modified, it should be
- -- tested by hand, because automated testing doesn't exercise it.
-
- -------------------------
- -- Get_Ceiling_Support --
- -------------------------
-
- function Get_Ceiling_Support return Boolean is
- Ceiling_Support : Boolean := False;
- begin
- if Locking_Policy /= 'C' then
- return False;
- end if;
-
- declare
- function geteuid return Integer;
- pragma Import (C, geteuid, "geteuid");
- Superuser : constant Boolean := geteuid = 0;
- Has_Cap : constant C.int := GNAT_has_cap_sys_nice;
- pragma Assert (Has_Cap in 0 | 1);
- begin
- Ceiling_Support := Superuser or else Has_Cap = 1;
- end;
-
- return Ceiling_Support;
- end Get_Ceiling_Support;
-
- pragma Warnings (Off, "non-preelaborable call not allowed*");
- Ceiling_Support : constant Boolean := Get_Ceiling_Support;
- pragma Warnings (On, "non-preelaborable call not allowed*");
-- True if the locking policy is Ceiling_Locking, and the current process
-- has permission to use this policy. The process has permission if it is
-- running as 'root', or if the capability was set by the setcap command,
@@ -344,7 +309,9 @@ package body System.Task_Primitives.Operations is
-- Init_Mutex --
----------------
+ pragma Warnings (Off, "formal parameter * is not referenced");
function Init_Mutex (L : RTS_Lock_Ptr; Prio : Any_Priority) return C.int is
+ pragma Warnings (On, "formal parameter * is not referenced");
Mutex_Attr : aliased pthread_mutexattr_t;
Result, Result_2 : C.int;
@@ -356,16 +323,7 @@ package body System.Task_Primitives.Operations is
return Result;
end if;
- if Ceiling_Support then
- Result := pthread_mutexattr_setprotocol
- (Mutex_Attr'Access, PTHREAD_PRIO_PROTECT);
- pragma Assert (Result = 0);
-
- Result := pthread_mutexattr_setprioceiling
- (Mutex_Attr'Access, Prio_To_Linux_Prio (Prio));
- pragma Assert (Result = 0);
-
- elsif Locking_Policy = 'I' then
+ if Locking_Policy = 'I' then
Result := pthread_mutexattr_setprotocol
(Mutex_Attr'Access, PTHREAD_PRIO_INHERIT);
pragma Assert (Result = 0);
@@ -405,11 +363,6 @@ package body System.Task_Primitives.Operations is
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.41.0
@@ -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
@@ -1,247 +0,0 @@
From 3df4788c79c7429b196c7b284af2b4cf9a4b4f8d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:07:48 +0000
Subject: [PATCH 26/35] ada: musl support fixes
---
gcc/ada/Makefile.rtl | 16 ++++++++--------
gcc/ada/adaint.c | 34 +++++++++++++++++++---------------
gcc/ada/adaint.h | 10 ++++------
gcc/ada/terminals.c | 8 ++++----
4 files changed, 35 insertions(+), 33 deletions(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 32cbdb692..463028fbe 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1558,7 +1558,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 \
@@ -2144,7 +2144,7 @@ ifeq ($(strip $(filter-out loongarch% linux%,$(target_cpu) $(target_os))),)
g-sercom.adb<libgnat/g-sercom__linux.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
$(GNATRTL_128BIT_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-loongarch.ads
@@ -2232,7 +2232,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
@@ -2267,7 +2267,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
endif
# ARM linux, GNU eabi
-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))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__posix.adb \
@@ -2488,7 +2488,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) \
@@ -2592,7 +2592,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) \
@@ -2637,7 +2637,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) \
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 74aa3c412..ef6118f37 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -94,6 +94,11 @@
#include <sys/param.h>
#include <sys/pstat.h>
#endif
+
+#if defined (linux) || defined(__linux__)
+#define _GNU_SOURCE 1
+#include <sched.h>
+#endif
#ifdef __PikeOS__
#define __BSD_VISIBLE 1
@@ -3465,7 +3470,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
@@ -3475,7 +3479,7 @@ __gnat_lwp_self (void)
/* Dynamic cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count)
{
return CPU_ALLOC (count);
@@ -3488,33 +3492,33 @@ __gnat_cpu_alloc_size (size_t count)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
- CPU_FREE (set);
+ CPU_FREE ((cpu_set_t *) set);
}
void
-__gnat_cpu_zero (size_t count, cpu_set_t *set)
+__gnat_cpu_zero (size_t count, void *set)
{
- CPU_ZERO_S (count, set);
+ CPU_ZERO_S (count, (cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET_S (cpu - 1, count, set);
+ CPU_SET_S (cpu - 1, count, (cpu_set_t *) set);
}
#else /* !CPU_ALLOC */
/* Static cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED)
{
- return (cpu_set_t *) xmalloc (sizeof (cpu_set_t));
+ return xmalloc (sizeof (cpu_set_t));
}
size_t
@@ -3524,23 +3528,23 @@ __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
free (set);
}
void
-__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set)
{
- CPU_ZERO (set);
+ CPU_ZERO ((cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET (cpu - 1, set);
+ CPU_SET (cpu - 1, (cpu_set_t *) set);
}
#endif /* !CPU_ALLOC */
#endif /* __linux__ */
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 0cbfd0e15..f97ed905b 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -319,13 +319,11 @@ extern void *__gnat_lwp_self (void);
/* Routines for interface to required CPU set primitives */
-#include <sched.h>
-
-extern cpu_set_t *__gnat_cpu_alloc (size_t);
+extern void * __gnat_cpu_alloc (size_t);
extern size_t __gnat_cpu_alloc_size (size_t);
-extern void __gnat_cpu_free (cpu_set_t *);
-extern void __gnat_cpu_zero (size_t, cpu_set_t *);
-extern void __gnat_cpu_set (int, size_t, cpu_set_t *);
+extern void __gnat_cpu_free (void *);
+extern void __gnat_cpu_zero (size_t, void *);
+extern void __gnat_cpu_set (int, size_t, void *);
#endif
#if defined (_WIN32)
diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c
index 05af82c27..626ac35bc 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)
@@ -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
@@ -1,256 +0,0 @@
From 7b50823d8a4131e5a55d2499a0f5a52b3d91eed2 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 9 Dec 2020 07:42:06 +0000
Subject: [PATCH 27/35] 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 6ff2b3f9925..394b105b271 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -235,6 +235,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 0679fbbf4c6..ee81139b385 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -118,6 +118,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 b26b17f2f2a..3f64ea46180 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 e59cbee1767..787c35d4e25 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -984,6 +984,7 @@ with_changes_root_url
enable_languages
with_multilib_list
with_multilib_generator
+enable_autolink_libatomic
with_zstd
with_zstd_include
with_zstd_lib
@@ -1713,6 +1714,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
@@ -8329,7 +8333,6 @@ else
fi
-
# Check whether --with-multilib-generator was given.
if test "${with_multilib_generator+set}" = set; then :
withval=$with_multilib_generator; :
@@ -8337,6 +8340,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 57268319de1..56bcaa87620 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1199,6 +1199,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 b30d3691fe6..ccc8e5dbb00 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2377,6 +2377,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 a660e33739b..6183c407a2b 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -381,7 +381,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 f7ab5d48a63..281540aba68 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -381,7 +381,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 59390fd39d6..dae1dd4cf79 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -974,13 +974,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.41.0
@@ -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
@@ -1,57 +0,0 @@
From 5bbbd320e54ab5341cfba83e8af98685131caba1 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 28/35] 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 a92ae9e8309..90b579ca4d8 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.41.0
@@ -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
@@ -1,27 +0,0 @@
From 430c701a3cefbe09a9c7c8a2f5bbe957f9b2ecb2 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Thu, 30 Jun 2022 16:44:51 +0000
Subject: [PATCH 29/35] 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 8849d78fdfa..aff467f98fe 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.41.0
@@ -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
@@ -1,27 +0,0 @@
From 05f0043755f341a2ff4f845379327076b3e0203d 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 30/35] 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 394b105b271..bc4a77fc300 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52809,7 +52809,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.41.0
@@ -1,54 +0,0 @@
From 0b89a74fbf77ae6917f043c79cd03db0d6ef0212 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 31/35] 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 925c53c5f5e..60c2a0c11c6 100755
--- a/libphobos/configure
+++ b/libphobos/configure
@@ -15216,14 +15216,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 45a56f6f76a..fef6e890b1e 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.41.0
@@ -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
@@ -1,25 +0,0 @@
From eeec799f43fbd0bfffc13594585b39d708972511 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 32/35] 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 3d6e345a1ba..cfe0b4d3ca6 100644
--- a/gcc/ada/libgnat/s-parame.ads
+++ b/gcc/ada/libgnat/s-parame.ads
@@ -102,7 +102,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.41.0
@@ -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
@@ -1,44 +0,0 @@
From b71d21b87e6946c763edad5e420bf22d8a453077 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 29 May 2023 15:33:11 +0000
Subject: [PATCH 33/35] 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/config.d | 2 +-
libphobos/libdruntime/core/sys/posix/sys/mman.d | 6 +-----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/config.d b/libphobos/libdruntime/core/sys/posix/config.d
index ae6752f220e..6b80d1ff0e6 100644
--- a/libphobos/libdruntime/core/sys/posix/config.d
+++ b/libphobos/libdruntime/core/sys/posix/config.d
@@ -88,7 +88,7 @@ else version (CRuntime_Musl)
enum __REDIRECT = false;
// Those three are irrelevant for Musl as it always uses 64 bits off_t
- enum __USE_FILE_OFFSET64 = _FILE_OFFSET_BITS == 64;
+ enum __USE_FILE_OFFSET64 = false;
enum __USE_LARGEFILE = __USE_FILE_OFFSET64 && !__REDIRECT;
enum __USE_LARGEFILE64 = __USE_FILE_OFFSET64 && !__REDIRECT;
diff --git a/libphobos/libdruntime/core/sys/posix/sys/mman.d b/libphobos/libdruntime/core/sys/posix/sys/mman.d
index 0d3d517d69a..323aa0af72d 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.41.0
@@ -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
@@ -1,195 +0,0 @@
From 4bfcb35bc43d3e3b7510620362d7c28d9e4c17ca Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 10 Jul 2023 23:23:29 +0000
Subject: [PATCH 34/35] 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.41.0
@@ -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
@@ -1,32 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 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 23e1fb979..c2753abb8 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.41.0
Loaded 100 of 5679 files, more files were not shown because too many files have changed in this diff. Show more