Compare 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
1751 changed files with 117186 additions and 29218 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
+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
+108 -56
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,61 +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-x86:
{% if ('x86' in archs) %}
when: always
{% endif %}
extends: .build
script:
- .ci/build-x86.sh
# Hardware testing
build-aarch64:
{% if ('aarch64' in archs) %}
when: always
{% endif %}
extends: .build
tags: [arm64]
script:
- .ci/build-aarch64.sh
# Define here all the gitlab-ci snippets that could be common between the
# different packages
build-armv7:
{% if ('armv7' in archs) %}
when: always
{% endif %}
extends: .build
tags: [qemu]
script:
- .ci/build-armv7.sh
# 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"
build-armhf:
{% if ('armhf' in archs) %}
when: always
{% endif %}
extends: .build
tags: [qemu]
script:
- .ci/build-armhf.sh
# 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"
build-riscv64:
{% if ('riscv64' in archs) %}
when: always
{% endif %}
extends: .build
tags: [qemu]
script:
- .ci/build-riscv64.sh
# 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
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():
+14 -2
View File
@@ -7,6 +7,8 @@ import argparse
import sys
import urllib.request
# Same dir
import common
def get_devices() -> list[str]:
""":returns: list of all devices"""
@@ -94,13 +96,23 @@ def main() -> int:
parser.add_argument("--path", help="instead of downloading the devices"
" page from the wiki, use a local HTML file",
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
+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')
+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 \
+10 -8
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,9 +13,15 @@ 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):
+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
View File
@@ -28,7 +28,6 @@
-->
* [ ] edge (`master` branch)
* [ ] `v25.06`
* [ ] `v24.12` (supported until 2025-07-22)
* [ ] 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
+1 -1
View File
@@ -15,7 +15,7 @@ branch_aports=3.22-stable
mirrordir_alpine=v3.22
[v24.12]
description=Old release (supported until 2025-07-22)
description=Old release (unsupported)
branch_pmaports=v24.12
branch_aports=3.21-stable
mirrordir_alpine=v3.21
+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
-36
View File
@@ -1,36 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen busybox-static-aarch64
# Stub for apkbuild-lint
if [ -z "$(type -t arch_to_hostspec)" ]; then
arch_to_hostspec() { :; }
fi
pkgname=busybox-static-aarch64
pkgver=1.37.0
pkgrel=19
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
url="http://busybox.net"
license="GPL2"
arch="x86_64"
options="!check !strip"
pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
07fb87b22de44076fa60ea392cb6cd37d085ead56d5ce2f52dab6ef00c4939b894893893274e416fb50d089183a37af79c29ef4251768314c81c6a27abee4206 busybox-static-1.37.0-r19-aarch64-edge.apk
"
-36
View File
@@ -1,36 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen busybox-static-armhf
# Stub for apkbuild-lint
if [ -z "$(type -t arch_to_hostspec)" ]; then
arch_to_hostspec() { :; }
fi
pkgname=busybox-static-armhf
pkgver=1.37.0
pkgrel=19
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
url="http://busybox.net"
license="GPL2"
arch="x86_64"
options="!check !strip"
pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
96a7042f9144a2fd29c91a904f630a4e7394c9733a8b332ba2ab6dc6e8b0e2724eb54117027c97b3ec2110e3df4f647f3876d34a36e62ef4da4553686d89686e busybox-static-1.37.0-r19-armhf-edge.apk
"
-36
View File
@@ -1,36 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen busybox-static-armv7
# Stub for apkbuild-lint
if [ -z "$(type -t arch_to_hostspec)" ]; then
arch_to_hostspec() { :; }
fi
pkgname=busybox-static-armv7
pkgver=1.37.0
pkgrel=19
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
url="http://busybox.net"
license="GPL2"
arch="x86_64"
options="!check !strip"
pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
22e8ff9be4c0d6d93705edb3f049d786057a3642882efb958c68dd299114d269a665e5178801d201a4f3e1f857993dfb2c36b7e4b6d80033799ca5a774acca2a busybox-static-1.37.0-r19-armv7-edge.apk
"
+3 -3
View File
@@ -20,8 +20,8 @@
# as simple shell wrappers.
pkgname=crossdirect
pkgver=5.3.0
pkgrel=1
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"
@@ -128,7 +128,7 @@ package() {
sha512sums="
0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh
b2e602b7fc95ed403d29f0d754879d5f773c39ee33e726bb10cff17b3c088406dac84f2ca6d8ad563c64370007d98af805d6ee9cd4a06fe3d4c61c0cb90c5c0c crossdirect.c
a87d91b6e3286ce29fb1f487954e7154f282194691a1bf19b4cd80cca07a9c36aa96306883b1a6671ffbc2b503575a8c9484dccde8c55431845056c6f377bec5 exec_native.sh
73e2b5d2d8ef7c6002b3a787d14945586991493b8d81f59e5c0beda0d3b290543e1fdc6f288da726c5dd121c0861d2a894410b7b749a537df0df5b409e102330 exec_native.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh
de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh
"
+10 -2
View File
@@ -1,12 +1,20 @@
#!/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"
BASENAME="$(basename "$0")"
UNWRAPPED_BIN="$(PATH="$UNWRAPPED_PATH" command -v "$BASENAME")"
case "$UNWRAPPED_BIN" in
+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,23 +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 e3fa0dacec4..bea1adc0940 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -715,6 +715,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.
@@ -38,9 +40,11 @@ Upstream-Status: Pending
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index a79c51adb2b..8a531ed591c 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -249,6 +249,12 @@
@@ -249,6 +249,16 @@
#endif
@@ -48,14 +52,20 @@ Upstream-Status: Pending
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef POISON_BY_DEFAULT
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 16965953f05..0f4a5d52c30 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1050,6 +1050,7 @@ enable_maintainer_mode
@@ -1051,6 +1051,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
@@ -63,7 +73,7 @@ Upstream-Status: Pending
enable_plugin
enable_host_shared
enable_host_pie
@@ -1823,6 +1824,8 @@ Optional Features:
@@ -1828,6 +1829,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
@@ -72,7 +82,7 @@ Upstream-Status: Pending
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--enable-host-pie build host code as PIE
@@ -34082,6 +34085,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
@@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
@@ -83,47 +93,60 @@ Upstream-Status: Pending
+ 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
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9f67e62950a..b0e3615e5aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7555,6 +7555,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 72009c33cd0..29aea724731 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -391,6 +391,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
@@ -8861,6 +8862,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
@@ -133,12 +156,27 @@ Upstream-Status: Pending
+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 4fd87f2c4a1..79d4920a047 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1163,6 +1163,8 @@ proper position among the other output files. */
@@ -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}}} \
@@ -147,6 +185,26 @@ Upstream-Status: Pending
%{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
@@ -1268,7 +1276,7 @@ static const char *cpp_options =
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
%{!fno-working-directory:-fworking-directory}}} %{O*}\
- %{undef} %{save-temps*:-fpch-preprocess}";
+ %{undef} %{save-temps*:-fpch-preprocess}" POISON_IS_ERROR;
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
@@ -1297,7 +1305,7 @@ static const char *cc1_options =
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
- %{pthread:-fprofile-update=prefer-atomic}}}";
+ %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR;
static const char *asm_options =
"%{-target-help:%:print-asm-header()} "
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index c1bbfd3872a..2cdbebc4c50 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
@@ -157,9 +215,20 @@ Upstream-Status: Pending
/* 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
@@ -168,19 +237,22 @@ Upstream-Status: Pending
+ 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.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.
@@ -13,9 +13,11 @@ now by default.
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 29aea724731..6fb3ab70cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -18935,6 +18935,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}.
@@ -25,9 +27,11 @@ now by default.
@opindex u
@item -u @var{symbol}
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 79d4920a047..74a356fdf5e 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1161,6 +1161,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 \
@@ -35,3 +39,6 @@ now by default.
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.50.1
@@ -1,17 +1,19 @@
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 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4589ee4a3a6..9edf095384c 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1570,6 +1570,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);
@@ -22,9 +24,11 @@ Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6fb3ab70cc7..799ce073dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12496,6 +12496,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.
@@ -37,3 +41,6 @@ Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
@opindex O3
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
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,11 +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 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*} \
@@ -31,6 +34,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 3fd3b831166..0b4c2dccebe 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
@@ -42,6 +47,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index d4d389e2aa8..adccc0b11c2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
@@ -52,6 +59,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 4c4e31efa39..3c17ac6eade 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -78,6 +87,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 7abfda53049..ceb8f855b7d 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
@@ -89,6 +100,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abe714711bf..3ca128a79f5 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -99,6 +112,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index a2494c214c4..e1a5d530cdf 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
@@ -110,6 +125,21 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
index fbc75a90ad5..adbc4b7733f 100644
--- a/gcc/config/loongarch/gnu-user.h
+++ b/gcc/config/loongarch/gnu-user.h
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC \
- "%{G*} %{shared} -m " GNU_USER_LINK_EMULATION \
+ "%{G*} %{shared} --as-needed -m " GNU_USER_LINK_EMULATION \
"%{!shared: %{static} " \
"%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \
"-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 5a82508c113..6eee7cdc603 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
@@ -120,6 +150,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 9060c940a44..282c77b6a7b 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
@@ -130,6 +162,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
-X \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 0316d8cb65d..139e1b6796c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -378,13 +378,13 @@ extern int dot_symbols;
@@ -148,6 +182,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index afb5c6ad867..b64638fb25b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -781,7 +781,7 @@ GNU_USER_TARGET_CC1_SPEC
@@ -159,6 +195,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 2c3bca5dfcb..b90661247a4 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
@@ -170,6 +208,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6d928846895..3cc05bb7240 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
@@ -181,9 +221,11 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 74a356fdf5e..fc9c7d15b04 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -771,8 +771,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)
@@ -197,7 +239,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -807,8 +810,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)
@@ -211,7 +253,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -825,8 +831,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)
@@ -225,7 +267,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -841,8 +850,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
@@ -239,3 +281,6 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -1,15 +1,17 @@
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 75b6531860e..78830ce4b42 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -774,7 +774,7 @@ Warn about function calls with format strings that write past the end
@@ -805,7 +805,7 @@ Warn about function calls with format strings that write past the end
of the destination region.
Wformat-security
@@ -18,7 +20,7 @@ Subject: [PATCH 06/35] Enable -Wformat and -Wformat-security by default.
Warn about possible security problems with format functions.
Wformat-signedness
@@ -799,7 +799,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=
@@ -27,3 +29,6 @@ Subject: [PATCH 06/35] Enable -Wformat and -Wformat-security by default.
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wframe-address
--
2.50.1
@@ -1,16 +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 bea1adc0940..e65a575d9f8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -811,7 +811,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
@@ -18,3 +20,6 @@ Subject: [PATCH 07/35] Enable -Wtrampolines by default.
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
--
2.50.1
@@ -1,46 +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(-)
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1000,6 +1000,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" \
@@ -1305,7 +1311,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|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1013,7 +1013,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=
@@ -0,0 +1,39 @@
From c355364231395090e7223ec00d8a16065903c2c5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:49:03 -0700
Subject: [PATCH] gcc: disable SSP on -ffreestanding, -nostdlib and
-nodefaultlibs
---
gcc/gcc.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index fc9c7d15b04..7b0d3d2743b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1009,6 +1009,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1314,7 +1320,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
--
2.50.1
@@ -0,0 +1,25 @@
From 5f09842c19d6db976724cd117190a8a6951acf9b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:50:42 -0700
Subject: [PATCH] gcc: params: set default ssp-buffer-size to 4
---
gcc/params.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/params.opt b/gcc/params.opt
index 64e453d29b7..bba3fd574f2 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1064,7 +1064,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
--
2.50.1
@@ -1,8 +1,8 @@
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
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 09/35] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
@@ -26,7 +26,7 @@ https://bugs.gentoo.org/295480
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 12d34910830..61b13762b71 100644
index 7f84a99533e..a4c6284f788 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
@@ -50,5 +50,5 @@ index 8e93445acd2..d6ff06e5ddb 100644
all-local: all-local-$(USE_NLS)
--
2.41.0
2.50.1
@@ -1,17 +1,17 @@
From aaa029bcee68298695b7c4278c90b6bc320d098c Mon Sep 17 00:00:00 2001
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 10/35] Don't declare asprintf if defined as a macro.
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 1d5c779fcff..19e3cb1e31c 100644
index d4e8791b14b..c074980ed80 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,11 @@ extern void *bsearch_r (const void *, const void *,
@@ -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. */
@@ -24,5 +24,5 @@ index 1d5c779fcff..19e3cb1e31c 100644
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
--
2.41.0
2.50.1
@@ -1,17 +1,17 @@
From 65e01e749205c9af218b01233cebd0077538d0ee Mon Sep 17 00:00:00 2001
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 11/35] libiberty: copy PIC objects during build process
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 72608f3e4a7..58356884728 100644
index ce54d88278d..10c212a1ad3 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
@@ -266,6 +266,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
@@ -20,5 +20,5 @@ index 72608f3e4a7..58356884728 100644
else true; fi
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 453a815bf2844971a91eaef800af188d9e86b784 Mon Sep 17 00:00:00 2001
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 12/35] libgcc_s
Subject: [PATCH] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
@@ -9,9 +9,11 @@ Subject: [PATCH 12/35] libgcc_s
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
@@ -13089,10 +13089,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
@@ -13643,10 +13643,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
@@ -24,6 +26,8 @@ Subject: [PATCH 12/35] libgcc_s
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)
@@ -37,6 +41,8 @@ Subject: [PATCH 12/35] libgcc_s
+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 @@
@@ -46,3 +52,6 @@ Subject: [PATCH 12/35] libgcc_s
-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
@@ -1,16 +1,18 @@
From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001
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 13/35] nopie
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
@@ -34606,6 +34606,29 @@ rm -f core conftest.err conftest.$ac_objext \
@@ -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; }
@@ -40,7 +42,7 @@ Subject: [PATCH 13/35] nopie
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34623,6 +34646,8 @@ if test x$enable_host_pie = xyes; then
@@ -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
@@ -49,9 +51,11 @@ Subject: [PATCH 13/35] 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
@@ -7821,6 +7821,15 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7802,6 +7802,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
LDFLAGS="$saved_LDFLAGS"])
@@ -67,7 +71,7 @@ Subject: [PATCH 13/35] nopie
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7838,6 +7847,8 @@ if test x$enable_host_pie = xyes; then
@@ -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
@@ -76,3 +80,6 @@ Subject: [PATCH 13/35] nopie
else
LD_PICFLAG=
fi
--
2.50.1
@@ -1,14 +1,14 @@
From dd5bb97c31a9f57034c70a7a18ba6e2e133084c7 Mon Sep 17 00:00:00 2001
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 14/35] ada: fix shared linking
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 f2126441208..22cfa9c641f 100644
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";
@@ -38,5 +38,5 @@ index f2126441208..22cfa9c641f 100644
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
--
2.41.0
2.50.1
@@ -1,12 +1,14 @@
From 6bb5b7d9161d05f31b001d8211a9c63caf63fd2f Mon Sep 17 00:00:00 2001
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 15/35] build: fix CXXFLAGS_FOR_BUILD passing
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 = \
@@ -17,3 +19,6 @@ Subject: [PATCH 15/35] build: fix CXXFLAGS_FOR_BUILD passing
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
--
2.50.1
@@ -1,14 +1,14 @@
From f0d9e00cac06689f64b214de7aee80d7116ef084 Mon Sep 17 00:00:00 2001
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 16/35] add fortify-headers paths
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 e3aca79cccc..b3537b8fbeb 100644
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
@@ -21,5 +21,5 @@ index e3aca79cccc..b3537b8fbeb 100644
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
#else
--
2.41.0
2.50.1
@@ -1,9 +1,9 @@
From 857db04f4f1a06e866551b4172fe8f27363f4a92 Mon Sep 17 00:00:00 2001
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 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.
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.
@@ -12,9 +12,11 @@ Subject: [PATCH 17/35] Alpine musl package provides libssp_nonshared.a. We
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
@@ -1008,8 +1008,7 @@ proper position among the other output files. */
@@ -1017,8 +1017,7 @@ proper position among the other output files. */
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
@@ -24,3 +26,6 @@ Subject: [PATCH 17/35] Alpine musl package provides libssp_nonshared.a. We
#else
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
"|fstack-protector-strong|fstack-protector-explicit" \
--
2.50.1
@@ -1,16 +1,18 @@
From 5a8347e23ab13912b6edec2c6c6e3a101b017c79 Mon Sep 17 00:00:00 2001
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 18/35] DP: Use --push-state/--pop-state for gold as well when
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
@@ -772,10 +772,10 @@ proper position among the other output files. */
@@ -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 "}" \
@@ -23,7 +25,7 @@ Subject: [PATCH 18/35] DP: Use --push-state/--pop-state for gold as well when
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -811,10 +811,10 @@ proper position among the other output files. */
@@ -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 "}" \
@@ -36,7 +38,7 @@ Subject: [PATCH 18/35] DP: Use --push-state/--pop-state for gold as well when
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -832,10 +832,10 @@ proper position among the other output files. */
@@ -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 "}" \
@@ -49,7 +51,7 @@ Subject: [PATCH 18/35] DP: Use --push-state/--pop-state for gold as well when
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -851,10 +851,10 @@ proper position among the other output files. */
@@ -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 "}" \
@@ -62,3 +64,6 @@ Subject: [PATCH 18/35] DP: Use --push-state/--pop-state for gold as well when
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -1,7 +1,7 @@
From 41d00a2eb0754acf71958808bd17dbebeb517b84 Mon Sep 17 00:00:00 2001
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 19/35] aarch64: disable multilib support
Subject: [PATCH] aarch64: disable multilib support
multilib is unsupported on Alpine GCC
---
@@ -9,7 +9,7 @@ multilib is unsupported on Alpine GCC
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
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
@@ -22,5 +22,5 @@ index 57bf4100fcd..172894b57ef 100644
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 85b42bfbba71616831d14360b16998acb28790fd Mon Sep 17 00:00:00 2001
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 20/35] s390x: disable multilib support
Subject: [PATCH] s390x: disable multilib support
multilib is not supported on Alpine GCC at present
---
@@ -21,5 +21,5 @@ index cc6ab367072..7f498ee1cdc 100644
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 7b53df284242638e940c0155b6c21e88cea1f55b Mon Sep 17 00:00:00 2001
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 21/35] ppc64[le]: disable multilib support
Subject: [PATCH] ppc64[le]: disable multilib support
multilib is not presently supported on Alpine GCC
---
@@ -36,7 +36,7 @@ index 4e371255533..128c75c7d39 100644
endif
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 01a94242308..b3a76379c03 100644
index f56b47c268e..c5f757a6284 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -28,8 +28,8 @@
@@ -77,5 +77,5 @@ index 2e63bdb9fc9..c6e1c5db65d 100644
+MULTILIB_OSDIRNAMES += m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 96e7e1e9a899d9bb5fcbdf788bd529d0390c626f Mon Sep 17 00:00:00 2001
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 22/35] x86_64: disable multilib support
Subject: [PATCH] x86_64: disable multilib support
multilib is not presently supported on Alpine GCC
---
@@ -9,7 +9,7 @@ multilib is not presently supported on Alpine GCC
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
index 64a4a20e64f..9a8eb8dd8d1 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -33,6 +33,6 @@
@@ -22,5 +22,5 @@ index 138956b0962..bc03dab874f 100644
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From b26224acf342eacb33491f6ea0da1faf73d35715 Mon Sep 17 00:00:00 2001
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 23/35] riscv: disable multilib support
Subject: [PATCH] riscv: disable multilib support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -42,6 +42,8 @@ library.
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
@@ -56,6 +58,8 @@ library.
- "/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 @@
@@ -69,3 +73,6 @@ library.
+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
@@ -1,7 +1,7 @@
From a72e0613f79f6b6867819317accb7a714031a08c Mon Sep 17 00:00:00 2001
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 24/35] always build libgcc_eh.a
Subject: [PATCH] always build libgcc_eh.a
highly inspired by:
http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
@@ -9,9 +9,11 @@ highly inspired by:
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
@@ -967,8 +967,9 @@ ifneq ($(LIBUNWIND),)
@@ -971,8 +971,9 @@ ifneq ($(LIBUNWIND),)
all: libunwind.a
endif
@@ -22,7 +24,7 @@ highly inspired by:
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1173,10 +1174,6 @@ install-libunwind:
@@ -1177,10 +1178,6 @@ install-libunwind:
install-shared:
$(mkinstalldirs) $(DESTDIR)$(inst_libdir)
@@ -33,7 +35,7 @@ highly inspired by:
$(subst @multilib_dir@,$(MULTIDIR),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
@@ -1193,6 +1190,10 @@ ifeq ($(enable_gcov),yes)
@@ -1197,6 +1194,10 @@ ifeq ($(enable_gcov),yes)
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
endif
@@ -44,3 +46,6 @@ highly inspired by:
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,239 +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(-)
--- 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 \
@@ -2145,7 +2145,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
@@ -2233,7 +2233,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
@@ -2268,7 +2268,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 \
@@ -2312,7 +2312,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 \
@@ -2489,7 +2489,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) \
@@ -2593,7 +2593,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) \
@@ -2638,7 +2638,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) \
--- 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__ */
--- 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)
--- 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
@@ -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,14 +1,14 @@
From 7b50823d8a4131e5a55d2499a0f5a52b3d91eed2 Mon Sep 17 00:00:00 2001
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 27/35] configure: Add --enable-autolink-libatomic, use in
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/gnu-user.h | 12 +++++++++++-
gcc/config.in | 6 ++++++
gcc/config/gnu-user.h | 12 +++++++++++-
gcc/configure | 31 ++++++++++++++++++++++++++++++-
gcc/configure.ac | 21 +++++++++++++++++++++
gcc/doc/install.texi | 8 ++++++++
@@ -17,9 +17,11 @@ This fixes issues with RISC-V.
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
@@ -237,6 +237,7 @@ HOST_EXPORTS = \
@@ -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; \
@@ -27,6 +29,25 @@ This fixes issues with RISC-V.
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
@@ -49,24 +70,11 @@ This fixes issues with RISC-V.
%{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
#undef LINK_GCC_C_SEQUENCE_SPEC
--- 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/configure b/gcc/configure
index 343563c8948..54300a2a867 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1002,6 +1002,7 @@ with_changes_root_url
@@ -1003,6 +1003,7 @@ with_changes_root_url
enable_languages
with_multilib_list
with_multilib_generator
@@ -74,7 +82,7 @@ This fixes issues with RISC-V.
with_zstd
with_zstd_include
with_zstd_lib
@@ -1739,6 +1740,9 @@ Optional Features:
@@ -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
@@ -84,7 +92,7 @@ This fixes issues with RISC-V.
--disable-rpath do not hardcode runtime library paths
--enable-sjlj-exceptions
arrange to use setjmp/longjmp exception handling
@@ -8380,7 +8384,6 @@ else
@@ -8400,7 +8404,6 @@ else
fi
@@ -92,7 +100,7 @@ This fixes issues with RISC-V.
# Check whether --with-multilib-generator was given.
if test "${with_multilib_generator+set}" = set; then :
withval=$with_multilib_generator; :
@@ -8388,6 +8391,32 @@ else
@@ -8408,6 +8411,32 @@ else
with_multilib_generator=default
fi
@@ -125,9 +133,11 @@ This fixes issues with RISC-V.
# -------------------------
# 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
@@ -1215,6 +1215,27 @@ AC_ARG_WITH(multilib-generator,
@@ -1227,6 +1227,27 @@ AC_ARG_WITH(multilib-generator,
:,
with_multilib_generator=default)
@@ -155,9 +165,11 @@ This fixes issues with RISC-V.
# -------------------------
# 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
@@ -2525,6 +2525,14 @@ files, but these changed header paths may conflict with some compilation
@@ -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}.
@@ -172,6 +184,8 @@ This fixes issues with RISC-V.
@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.
@@ -189,6 +203,8 @@ This fixes issues with RISC-V.
@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.
@@ -206,9 +222,11 @@ This fixes issues with RISC-V.
@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
@@ -991,13 +991,23 @@ proper position among the other output files. */
@@ -1000,13 +1000,23 @@ proper position among the other output files. */
# define ASM_DEBUG_OPTION_SPEC ""
#endif
@@ -233,3 +251,6 @@ This fixes issues with RISC-V.
#endif
#ifdef ENABLE_DEFAULT_SSP
--
2.50.1
@@ -1,8 +1,8 @@
From 5bbbd320e54ab5341cfba83e8af98685131caba1 Mon Sep 17 00:00:00 2001
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 28/35] configure: fix detection of atomic builtins in
libatomic configure script
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
@@ -22,7 +22,7 @@ See:
1 file changed, 20 insertions(+)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index a92ae9e8309..90b579ca4d8 100644
index 6db039d6e8b..2751b5c1387 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -30,6 +30,26 @@
@@ -53,5 +53,5 @@ index a92ae9e8309..90b579ca4d8 100644
alpha*)
# fenv.c needs this option to generate inexact exceptions.
--
2.41.0
2.50.1
@@ -1,15 +1,15 @@
From 430c701a3cefbe09a9c7c8a2f5bbe957f9b2ecb2 Mon Sep 17 00:00:00 2001
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 29/35] libstdc++: do not throw exceptions for non-C locales on
musl targets
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 8849d78fdfa..aff467f98fe 100644
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
@@ -23,5 +23,5 @@ index 8849d78fdfa..aff467f98fe 100644
void
--
2.41.0
2.50.1
@@ -1,17 +1,18 @@
From 05f0043755f341a2ff4f845379327076b3e0203d Mon Sep 17 00:00:00 2001
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 30/35] gdc: unconditionally link libgphobos against
libucontext
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
@@ -54362,7 +54362,7 @@ configure-target-libphobos:
@@ -54382,7 +54382,7 @@ configure-target-libphobos:
esac; \
module_srcdir=libphobos; \
rm -f no-such-file || : ; \
@@ -20,3 +21,6 @@ ref: alpine/aports#13422
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
--
2.50.1
@@ -1,7 +1,7 @@
From 0b89a74fbf77ae6917f043c79cd03db0d6ef0212 Mon Sep 17 00:00:00 2001
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 31/35] druntime: link against libucontext on all platforms
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
@@ -11,9 +11,11 @@ an external library for these functions.
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
@@ -15375,14 +15375,6 @@ fi
@@ -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
@@ -28,6 +30,8 @@ an external library for these functions.
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],
@@ -45,3 +49,6 @@ an external library for these functions.
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
@@ -1,15 +1,17 @@
From eeec799f43fbd0bfffc13594585b39d708972511 Mon Sep 17 00:00:00 2001
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 32/35] libgnat: time_t is always 64-bit on musl libc
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
@@ -100,7 +100,7 @@ package System.Parameters is
@@ -101,7 +101,7 @@ package System.Parameters is
-- Characteristics of time_t type --
------------------------------------
@@ -18,3 +20,6 @@ Subject: [PATCH 32/35] libgnat: time_t is always 64-bit on musl libc
-- Number of bits in type time_t
----------------------------------------------
--
2.50.1
@@ -0,0 +1,30 @@
From 3fe1ff6c349a065daba97794c55961cafe6c4a10 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 29 May 2023 15:33:11 +0000
Subject: [PATCH] libphobos: do not use LFS64 symbols
musl does not have these since 1.2.4, we can't use the compat interfaces.
---
libphobos/libdruntime/core/sys/posix/sys/mman.d | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/mman.d b/libphobos/libdruntime/core/sys/posix/sys/mman.d
index b1eb9fa8107..3aee0d96319 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/mman.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/mman.d
@@ -293,11 +293,7 @@ else version (CRuntime_Bionic)
}
else version (CRuntime_Musl)
{
- static if (__USE_LARGEFILE64) void* mmap64(void*, size_t, int, int, int, off_t);
- static if (__USE_FILE_OFFSET64)
- alias mmap = mmap64;
- else
- void* mmap(void*, size_t, int, int, int, off_t);
+ void* mmap(void*, size_t, int, int, int, off_t);
int munmap(void*, size_t);
}
else version (CRuntime_UClibc)
--
2.50.1
@@ -1,7 +1,7 @@
From 4bfcb35bc43d3e3b7510620362d7c28d9e4c17ca Mon Sep 17 00:00:00 2001
From ff21b1649c1c5009a33722d21e28af9026c72cd7 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 10 Jul 2023 23:23:29 +0000
Subject: [PATCH 34/35] libgo: fix lfs64 use
Subject: [PATCH] libgo: fix lfs64 use
---
.../go/internal/syscall/unix/at_largefile.go | 2 +-
@@ -191,5 +191,5 @@ index 180f5c31d74..1d717d55c0e 100644
EREF(PRIO_USER);
EREF(RUSAGE_SELF);
--
2.41.0
2.50.1
@@ -1,87 +0,0 @@
From: Celeste <cielesti@protonmail.com>
Date: Mon, 2 Sep 2024 02:54:17 +0000
Subject: [PATCH] libphobos: add riscv64 and loongarch64 support
Add musl support for these 2 architectures based on fenv.h and signal.h from:
https://git.musl-libc.org/cgit/musl/tree/arch/riscv64/bits?h=v1.2.5
https://git.musl-libc.org/cgit/musl/tree/arch/loongarch64/bits?h=v1.2.5
---
libphobos/libdruntime/core/stdc/fenv.d | 13 +++++++++++++
libphobos/libdruntime/core/sys/posix/signal.d | 10 ++++++++++
2 files changed, 23 insertions(+)
diff --git a/libphobos/libdruntime/core/stdc/fenv.d b/libphobos/libdruntime/core/stdc/fenv.d
index a7364c0a..5b327e4a 100644
--- a/libphobos/libdruntime/core/stdc/fenv.d
+++ b/libphobos/libdruntime/core/stdc/fenv.d
@@ -436,20 +436,33 @@ else version (CRuntime_Musl)
ushort __cs_selector;
ushort __opcode;
uint __data_offset;
ushort __data_selector;
ushort __unused5;
version (X86_64)
uint __mxcsr;
}
alias ushort fexcept_t;
}
+ else version (RISCV64)
+ {
+ alias uint fenv_t;
+ alias uint fexcept_t;
+ }
+ else version (LoongArch64)
+ {
+ struct fenv_t
+ {
+ uint __cw;
+ }
+ alias uint fexcept_t;
+ }
else
{
static assert(false, "Architecture not supported.");
}
}
else version (CRuntime_Newlib)
{
version (AArch64)
{
alias fenv_t = ulong;
diff --git a/libphobos/libdruntime/core/sys/posix/signal.d b/libphobos/libdruntime/core/sys/posix/signal.d
index a8b7f751..78d8b3cd 100644
--- a/libphobos/libdruntime/core/sys/posix/signal.d
+++ b/libphobos/libdruntime/core/sys/posix/signal.d
@@ -2751,20 +2751,30 @@ else version (CRuntime_Musl)
else version (PPC_Any)
{
enum MINSIGSTKSZ = 4096;
enum SIGSTKSZ = 10240;
}
else version (X86_Any)
{
enum MINSIGSTKSZ = 2048;
enum SIGSTKSZ = 8192;
}
+ else version (RISCV64)
+ {
+ enum MINSIGSTKSZ = 2048;
+ enum SIGSTKSZ = 8192;
+ }
+ else version (LoongArch64)
+ {
+ enum MINSIGSTKSZ = 4096;
+ enum SIGSTKSZ = 16384;
+ }
else
static assert(0, "unimplemented");
//ucontext_t (defined in core.sys.posix.ucontext)
//mcontext_t (defined in core.sys.posix.ucontext)
version (MIPS_Any)
{
struct stack_t
{
@@ -1,15 +1,15 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From 0e09546330c7500b0d6d4e6d4bbf4fe751d57c34 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
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
index 45862048abf..73155acd832 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
@@ -28,5 +28,5 @@ index 23e1fb979..c2753abb8 100644
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
2.50.1
@@ -1,17 +1,26 @@
Patch-Source: https://github.com/richfelker/musl-cross-make/blob/6f3701d08137496d5aac479e3a3977b5ae993c1f/patches/gcc-14.2.0/0004-static-pie.diff
From 05b462e0a6de90c0d69a48ed9c58a6f76158344e Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Fri, 25 Jul 2025 02:41:46 -0700
Subject: [PATCH] static PIE: ensure -static reaches the linker
gcc doesn't enable static-pie for all arches. As of this writing arm
32-bit is missing. musl supports static-pie on all arches so this
should be allowed on all arches.
on some targets, the logic for the compiler option -static seems not
to be processed when -pie is present. rather than playing
whack-a-mole, just ensure LD_PIE_SPEC specs always pass -static to ld
if either -static or -static-pie is present on the compiler driver
command line.
Without this patch binaries with (only) -static-pie are broken on some
arches.
this may produce redundant -static arguments but it doesn't matter.
---
gcc/common.opt | 4 ++--
gcc/config/gnu-user.h | 17 ++++++++---------
gcc/gcc.cc | 6 +++---
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index a75b44ee47e..7c564818b49 100644
index e65a575d9f8..7ad38711f6e 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3473,11 +3473,11 @@ Driver
@@ -3968,11 +3968,11 @@ Driver
no-pie
Driver RejectNegative Negative(shared)
@@ -26,7 +35,7 @@ index a75b44ee47e..7c564818b49 100644
static-pie
Driver RejectNegative Negative(pie)
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 5ebbf42a13d..bb907d8e89a 100644
index 0426efdb8c3..866c8bd77f2 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -51,13 +51,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -70,12 +79,12 @@ index 5ebbf42a13d..bb907d8e89a 100644
+#define LINK_EH_SPEC "%{!static|" PIE_SPEC ":--eh-frame-hdr} "
#endif
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 3c81c5798d8..cd96eac5d12 100644
index e9f78f0f4c1..767ff65f348 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1010,7 +1010,7 @@ proper position among the other output files. */
@@ -1056,7 +1056,7 @@ proper position among the other output files. */
#define NO_FPIE_AND_FPIC_SPEC NO_FPIE_SPEC "|" NO_FPIC_SPEC
#define FPIE_OR_FPIC_SPEC NO_FPIE_AND_FPIC_SPEC ":;"
#else
@@ -84,12 +93,12 @@ index 3c81c5798d8..cd96eac5d12 100644
#define FPIE1_SPEC "fpie"
#define NO_FPIE1_SPEC FPIE1_SPEC ":;"
#define FPIE2_SPEC "fPIE"
@@ -1034,12 +1034,12 @@ proper position among the other output files. */
@@ -1080,12 +1080,12 @@ proper position among the other output files. */
#ifndef LINK_PIE_SPEC
#ifdef HAVE_LD_PIE
#ifndef LD_PIE_SPEC
-#define LD_PIE_SPEC "-pie"
+#define LD_PIE_SPEC "-pie %{static|static-pie:--no-dynamic-linker -z text -Bsymbolic}"
+#define LD_PIE_SPEC "-pie %{static|static-pie:--no-dynamic-linker -z text -Bsymbolic -static}"
#endif
#else
#define LD_PIE_SPEC ""
@@ -99,3 +108,6 @@ index 3c81c5798d8..cd96eac5d12 100644
#endif
#ifndef LINK_BUILDID_SPEC
--
2.50.1
@@ -1,4 +1,4 @@
From 49926c2c657dd867f7329df6e250913fd1425475 Mon Sep 17 00:00:00 2001
From 4c8cc9a8621b91f8aa83d8ca81f22b00a98d9fa9 Mon Sep 17 00:00:00 2001
From: Andrew Pinski <quic_apinski@quicinc.com>
Date: Fri, 28 Mar 2025 17:25:56 -0700
Subject: [PATCH] except: Don't use the cached value of the gcc_except_table
@@ -73,5 +73,5 @@ index 00000000000..50afa75a43f
+// There should be 3 exception tables,
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table" 3 } }
--
2.49.0
2.50.1
@@ -0,0 +1,164 @@
From a6c08fc7fe3a144ebd767cd52fe22043947655e9 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Sat, 26 Jul 2025 02:59:45 -0700
Subject: [PATCH] ada: libgnat: use stub symbolic module name functions
The "linux" implementation depends on glibc internals and accordingly
does not work on musl.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
---
gcc/ada/Makefile.rtl | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index cb41e6887cd..152ba70db4d 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1642,7 +1642,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
a-exetim.adb<libgnarl/a-exetim__posix.adb \
a-exetim.ads<libgnarl/a-exetim__default.ads \
s-linux.ads<libgnarl/s-linux.ads \
@@ -2014,7 +2014,7 @@ ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-s390.ads
ifeq ($(strip $(filter-out s390x,$(target_cpu))),)
@@ -2359,7 +2359,7 @@ ifeq ($(strip $(filter-out loongarch% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix.ads \
g-sercom.adb<libgnat/g-sercom__linux.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(GNATRTL_128BIT_PAIRS) \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
@@ -2407,7 +2407,7 @@ ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-mips.ads
ifeq ($(strip $(filter-out mips64% mipsisa64%,$(target_cpu))),)
@@ -2463,7 +2463,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-ppc.ads
@@ -2519,7 +2519,7 @@ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-arm.ads
@@ -2565,7 +2565,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2607,7 +2607,7 @@ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-sparc.ads
ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),)
@@ -2660,7 +2660,7 @@ ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-hppa.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
@@ -2697,7 +2697,7 @@ ifeq ($(strip $(filter-out m68k% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-m68k.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
@@ -2734,7 +2734,7 @@ ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-sh4.ads
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-linux.adb
@@ -2779,7 +2779,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2859,7 +2859,7 @@ ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2904,7 +2904,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(SIMD_PATH_TARGET_PAIRS) \
@@ -2956,7 +2956,7 @@ ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(SIMD_PATH_TARGET_PAIRS) \
@@ -3000,7 +3000,7 @@ ifeq ($(strip $(filter-out riscv% linux%,$(target_cpu) $(target_os))),)
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
system.ads<libgnat/system-linux-riscv.ads
ifeq ($(strip $(filter-out riscv64,$(target_cpu))),)
--
2.50.1
@@ -0,0 +1,26 @@
From 4b5dfaaa043999f353ade7fc09e7f1bb4a6fe6db Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Sat, 26 Jul 2025 03:02:38 -0700
Subject: [PATCH] ada: libgnat: recognize linux-musleabi and linux-muslgnueabi
platforms for ARM
---
gcc/ada/Makefile.rtl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 152ba70db4d..89574cdfba7 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2500,7 +2500,7 @@ endif
# ARM linux, GNU eabi
ifeq ($(SELECTED_PAIRS),PAIRS_NONE)
-ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi% linux-musleabi% linux-muslgnueabi%,$(target_cpu) $(target_os))),)
SELECTED_PAIRS=arm-linux-gnueabi
--
2.50.1
+82 -80
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-aarch64
pkgver=14.3.0
pkgver=15.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=5
pkgrel=0
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
@@ -139,10 +139,10 @@ else
fi
case "$CTARGET_ARCH" in
# GDC hasn't been ported to PowerPC
# GDC hasn't been ported to PowerPC (LIBDRUNTIME_ONLY=yes)
# See libphobos/configure.tgt in GCC sources for supported targets
# riscv fails with: error: static assert "unimplemented"
ppc64le|riscv64) LANG_D=false ;;
ppc*|riscv64) LANG_D=false ;;
# GDC does currently not work on 32-bit musl architectures.
# This is a known upstream issue.
# See: https://github.com/dlang/druntime/pull/3383
@@ -182,11 +182,6 @@ if $_libgomp; then
subpackages="$subpackages libgomp::$CTARGET_ARCH"
fi
case "$CTARGET_ARCH" in
riscv64|loongarch64)
LANG_ADA=false;;
esac
_languages=c
if $LANG_CXX; then
_languages="$_languages,c++"
@@ -240,7 +235,8 @@ fi
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz"
#source="https://gcc.gnu.org/pub/gcc/snapshots/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz"
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
@@ -249,37 +245,40 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
0006-Enable-Wformat-and-Wformat-security-by-default.patch
0007-Enable-Wtrampolines-by-default.patch
0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
0011-libiberty-copy-PIC-objects-during-build-process.patch
0012-libgcc_s.patch
0013-nopie.patch
0014-ada-fix-shared-linking.patch
0015-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
0016-add-fortify-headers-paths.patch
0017-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
0018-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
0019-aarch64-disable-multilib-support.patch
0020-s390x-disable-multilib-support.patch
0021-ppc64-le-disable-multilib-support.patch
0022-x86_64-disable-multilib-support.patch
0023-riscv-disable-multilib-support.patch
0024-always-build-libgcc_eh.a.patch
0025-ada-libgnarl-compatibility-for-musl.patch
0026-ada-musl-support-fixes.patch
0027-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
0028-configure-fix-detection-of-atomic-builtins-in-libato.patch
0029-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
0030-gdc-unconditionally-link-libgphobos-against-libucont.patch
0031-druntime-link-against-libucontext-on-all-platforms.patch
0032-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0033-libphobos-do-not-use-LFS64-symbols.patch
0034-libgo-fix-lfs64-use.patch
0035-loongarch-disable-multilib-support.patch
0036-libphobos-add-riscv64-and-loongarch64-support.patch
0037-static-pie.patch
0038-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
0008-gcc-disable-SSP-on-ffreestanding-nostdlib-and-nodefa.patch
0009-gcc-params-set-default-ssp-buffer-size-to-4.patch
0010-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
0011-Don-t-declare-asprintf-if-defined-as-a-macro.patch
0012-libiberty-copy-PIC-objects-during-build-process.patch
0013-libgcc_s.patch
0014-nopie.patch
0015-ada-fix-shared-linking.patch
0016-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
0017-add-fortify-headers-paths.patch
0018-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
0019-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
0020-aarch64-disable-multilib-support.patch
0021-s390x-disable-multilib-support.patch
0022-ppc64-le-disable-multilib-support.patch
0023-x86_64-disable-multilib-support.patch
0024-riscv-disable-multilib-support.patch
0025-always-build-libgcc_eh.a.patch
0026-ada-libgnarl-remove-use-of-glibc-specific-pthread_rw.patch
0027-ada-libgnarl-use-posix_openpt-instead-of-glibc-speci.patch
0028-ada-libgnarl-adaint-fix-sched.h-inclusion-for-musl.patch
0029-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
0030-configure-fix-detection-of-atomic-builtins-in-libato.patch
0031-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
0032-gdc-unconditionally-link-libgphobos-against-libucont.patch
0033-druntime-link-against-libucontext-on-all-platforms.patch
0034-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0035-libphobos-do-not-use-LFS64-symbols.patch
0036-libgo-fix-lfs64-use.patch
0037-loongarch-disable-multilib-support.patch
0038-static-PIE-ensure-static-reaches-the-linker.patch
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
"
# secfixes:
@@ -752,43 +751,46 @@ gdb() {
}
sha512sums="
cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93 gcc-14.3.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
6dd1eecbc050e30e5a0493969a0e80507d971f4ca87c06466f725fa50c9106e18aef86453fc8a80cd277438b6e79695a99cdaf2eaeb2f1add7e28f7cffd0cd2f 0002-gcc-poison-system-directories.patch
b6903b60b01187bfebc961e74d01ff5d8dc2852747663dff2b4a4f66df4b5aa412347fe92926cce1821fdd0c59d088404acbbced4b464aba9664d599a9e1bbce 0003-specs-turn-on-Wl-z-now-by-default.patch
d41a519ea5014e9ab49f017d3793e2a0a82429c2b7ded2776f2df7a2d0ac02aa294e7dbe74e027fe7c844c87525d483e0eda3846cf16340eb02e934389cfd838 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
e34d7bb51c4c413b1a10bafcdfd5729fb5980b0288277ef44ed4779700d443d2fd22129b3b22d401def140851263e803160d2f3ed8825b0bf4f3fb8606db77bd 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
83665b6adb0b8080245b253abe3344ee5106ac2bc248aad9bef713b22b644a268d75c75fbab7554e0543836903a89bc4f0bec4b6d6d4e3d5ba355dddbc5ba190 0006-Enable-Wformat-and-Wformat-security-by-default.patch
ca5757a32f02bb24bc5b42bb03dca49fb9f9e6f34776343f1c5580efd2bcacf8c5b59f4b61652fa3ea1506eb14bcd390f5fda7b4cbfd32f7d1a750d14add4739 0007-Enable-Wtrampolines-by-default.patch
e476da4c2f29a941b7f4f1dfc9a37ba82b439badc47fc3fb72630ec5620f64849bdb66d339e0182674a0ee898a75564ffaf702986b770bfd793e7fbdcaa9f21b 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
93d03afd83dee5f7129c36a7b81fa8fd323476507e2f53a4fbe40a026037e7dfafa23591145d7af5848d9a322d212497947a0f58ef828734552e6a6dabd00cfa 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
da9eaf2f0ddbec5ee14dc26053936587e6c76fbf16846db804a18cf4d318579426ebcc566aed02daf8e34f60c08b61f5d3959305886dca9bbcdc84db057258d9 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
35b9aafe7eee8138cb7aad7164a8f77c15ccdce26843cee78b5871ef91d76cad22ed0871b20f51c4b89b71afd9cfe4ba4227086e158c466558513708fe7d2a1a 0011-libiberty-copy-PIC-objects-during-build-process.patch
b40b6cbc3725ae88c506bc39a8ba10cfcdcc208fa26d667393bbb80e24346da2ccfac3ff914bb9fc4c374f022fa7f913e6873b9a66a96b79a1ac84959c9d5348 0012-libgcc_s.patch
6cc2c00b15d259289fa9831b60b58f8afdf09858410bd08ab3d839a45c6f3fb9e8e214dab851d105c61df7965f1c10255c84b5b6301630a390b27b8929a25e1e 0013-nopie.patch
0b50ad15115192699efa9fda3d4fb1c2fa95da06d7880ba34615b40c19a8256e1fe364da39f5c70dc22fbccf21db2de5900932afef68948722eeb25e435262f8 0014-ada-fix-shared-linking.patch
7640e71cd957066e2e07ffcec1f8540cd6b1bdaf976c980693bf6f5d3afaf51ca7e41c62f92cb13c86c2dea9eb9cd799b2e3ea77d74926e82bf1e12bb7a4d64e 0015-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
7f0bc42b93a389b614054e700b851abfbc53db391aa10cbdf6990d41396b293af78980bb39f1cf0967184d3fbf3d46ac7c7f096717b8f193ea34cbf7f37d7e91 0016-add-fortify-headers-paths.patch
8a8c9dc96f300f660f1a643c800352383f32db258dfcfa88a44159a38bb81a7298089a5dcb23906002c85cafc806caf6f3db0e1cb26fcac6192ae1e41d9ada3a 0017-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
6c1cbfcf9e6f54b2173af39bbbfd97e7c18ae32a690fb4c6b1e35fa183992ea0f8046d479be57b6ac7d798bf2a6dade4f9ea3e3a839dc6fb8d47203de9c89e25 0018-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
2213e07bab6f5d8d3d39c732f5385f46cc8f0c84e35054139fdaf13051252d7bf11f647f54aa8456b532166b008fff0656d8f41278e34ba868dd6fe427427a3a 0019-aarch64-disable-multilib-support.patch
a9567947471c3ba8a547a79c55e183974554bf823d9a97a165c966d7b3caad8789980e096e3b78452ece5de062bd9bb006af464bbf0c5a35b689eac3ee21e5c5 0020-s390x-disable-multilib-support.patch
f382eb5f7c2c60c5a23fac587c9629a3059d7be0898e97a1feaf9b9cbe1ef4693cc1177eb29333e8b7944fa17487478e73958be45d5782ccb9ef501961fb9a96 0021-ppc64-le-disable-multilib-support.patch
44ab86feb8e41e7c2b2e27accdf46194c9b80ee6a39543303dc04824f669d9fad182aabd40c9c7f6c265cf9bb71be830c257be115dc9d701d54eca3aa9ef174e 0022-x86_64-disable-multilib-support.patch
0ef65a344975b641343767e289578ba5b0fd381c7177ebe4558cb67d8b41e33e3b825478fa46852f1f40ec9119ff908cf75ee36307266aea13f39460e080b0b6 0023-riscv-disable-multilib-support.patch
55438233a217dc1ee58990413b8782b9bd560a1532c1e6c860f377072ed1bdf75d5dc2458ed33194040ec5427c30df3fa68948dcd26de90e3803d3f7b784becd 0024-always-build-libgcc_eh.a.patch
8fdbe0c8bf4ca60f458a33e59027de03d15ac91933fe46d8ca62119346d20b9bc2447c0bf22bceb63d0cf8613ab61512d9197f4e6c2224af473b63ef9f254295 0025-ada-libgnarl-compatibility-for-musl.patch
02e8358b8855fb49bbb2b3ef293cff67441c5fdf1f2fee4dcec86ef1fd4f701e899ea9c7e072d888b0f1e674d7874d3085138f3deb9845d1f2e35d4a1fe3f5ab 0026-ada-musl-support-fixes.patch
8eff7679140f9e39f1a0ac2e4a6cc7e131efa3d5a669696dd28300eb5d75ef3be62f10c1b91d8f8c8ba2cba1ff9cf121228b6fcd3adafa28389ac63698e7d5a7 0027-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
720a4001f9a1fa4122e456077ecff8d3eb8af7c83d0a81f9da6a6cca05b23664206a82a349e34482c48bfe40e99aa5f21567613d0913f6a24f282bc84a994496 0028-configure-fix-detection-of-atomic-builtins-in-libato.patch
2044c23b23726965c0a6fd39f616cc464badd650947cb40495eeabd906a3af629878c1d28b403b8eb46b30a1a0ba39083023290d62f0c99ccf070063226e3f8f 0029-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
458c9b121e00cec4d0dbe1d18c5e5332342eb0a3429129e5a9d9ace3247c31d85571ad9f47046c4ed3bc62e5d8a4297f48744a30424a19acbdd9aa484e3ee715 0030-gdc-unconditionally-link-libgphobos-against-libucont.patch
099103f4b0b4612ff4bd2e8721cf1593415b636bff74d4feba304bb610ced6f4951cb3ab89088111e58029a2f9bf4a5dcc91e2b2afe4dd9813d2fa6b0999a5a2 0031-druntime-link-against-libucontext-on-all-platforms.patch
21ff4d55eec48ad4a9db0cd359e760cff548f7f6b1a67759a2e87fc7e16a262d82d2f980d309a3ce5e14097665beeb5516a5f2d98869a5d28345e685c6fe689d 0032-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch
c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
8870baf56550f7359d262f68904558bf9f95674a50324e86d121d0ca2cca7155e45fb023f467a46c96c30f4943f66ce104608c642b5378d1c4311a0959c444ed 0037-static-pie.patch
90b6148d47f39caf1b70416abf2a09f4ce048491f784f56bd659dbf99e2c9f6a44b244827f23977494ab4e42640c49c1dc79f43a4d69c2b31c4b1e25d54d8142 0038-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de gcc-15.2.0.tar.xz
fd5cebc5deb1d588583424acbc1b5a6d8d6f5b1bfa9f4bdbc082cfd406723f423d87011ee30e04ed18128a7ed8021cbfc9262becff5419125dc1afb6f407defa 0001-posix_memalign.patch
6634004cb9feea9ee0d063d6b6984d7db3b10c692b6139bb99169a4f2d74f0e10b5ca0ab31ce346ffef34b8eb9c3f536aa4d94bce1b27f8e0b8a9fc5cc4b7057 0002-gcc-poison-system-directories.patch
37e089791dbcbad73af866b662cda611dc0970d93e28251c7a9aa898db3b96446654e8b778d7866eb8550ba7f4a57cf22e8514d562bfed0c66613e65550d9c85 0003-specs-turn-on-Wl-z-now-by-default.patch
d4d5bfeb20a9fac968f37497d86d7eff4a9ac863e015dadbffae24c08236f5efde69b615d95191e2546672ce2d4b30d3627528c64a83fc64b715e8fa6fd4c372 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
4806687c806154dd3d5423ea9ef1203db344dfb8fd21f3eb3543d9f05f4dc01aacc4f012f45db8e890eeddc7b1c75ec06a6b29e29a1ef7b9ec6f853d1854cfd0 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
6b225df0dd76339b06d5efbe07edd6648391a7b9415a219041189c35c084ceffe8fb96b2660d60d62099e7afdfeb8e053622a2b6660d2e8a13adb924f4bc8c8a 0006-Enable-Wformat-and-Wformat-security-by-default.patch
e419b7f20a74384bfb1ac792e3625f9bfe69f8031c2c0beb23f4015df9d48a6c6f107d89bea3c20fa56309b022637863c13e90c1565d027eb47c08154389b7a0 0007-Enable-Wtrampolines-by-default.patch
e6307eec09196900bcd2c0154a62d6694576b4da48a1cf901750b97b4603cd694c4daee2476c33bce09f10bee92a72749face835eb18fbf2c2a50aa1dd251572 0008-gcc-disable-SSP-on-ffreestanding-nostdlib-and-nodefa.patch
969797f99602c119e1632f0c5be02a566be5fb4c7e59affefb5eb6084a06b97120d99d5ee63fef0dab6c0278c7cecf1d8caa53521cc5b6622de2aaa7deabf86e 0009-gcc-params-set-default-ssp-buffer-size-to-4.patch
c15f062790367c9e786a4933deec33931438680176ec752b172c2a0504463a23d588ead4350d32e474603750ceb130ba0ccadfcde601bcf8e2eabca5af8322d0 0010-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
03a1012f1022cd68cf08440428e7d6cbf65ea2184e4a088a55976f34af627d80f42f15f713841ec9cbfc4afa39117d4fc384c3f27a4f9ad0ff3947bd45b71c4a 0011-Don-t-declare-asprintf-if-defined-as-a-macro.patch
8f098de9fcf4bbece0923dc4a2acfc67cf751c1d5c007535c5d88b8637a4482c1a42d5721a2760127498e327f6983bbc865a592a8e0db9ef7efc0e36b6d4102f 0012-libiberty-copy-PIC-objects-during-build-process.patch
bbe2b561b5288ca724af37353e17b413df8bf247bce724391e75373aee5cdcdb85e6489d51622c11f4041ed8f317278cf687aee14dfc8756398f03f1a796feb9 0013-libgcc_s.patch
ae34ca2bc5a53ed1c832651e3f6425ca29b5873f1e112b45613277fb9611693be41986d5879593f09149777e3e57d04ba17b142c43eaa990375d31e4e0b4adde 0014-nopie.patch
2c91a1eadf7236efff42eb53037862a342807596e37c6cc3c270d25c2d89078bf8db68bb2e93e57a8ad39b3af825e33db72e2f48a6311951fff53776933bc48c 0015-ada-fix-shared-linking.patch
1366d696a952ed35e5e56ab5bd1eba67e58a8ce752c0ef7e7fe4ad3eef44f25ce6016342d11add9548f9e719dc9ee0772064dda68784257a1a3234ae5957f3fb 0016-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
af739373285e89a4ab0000042b537ff7197b0b366019b56991008c43f3d2b76709d472841cda40e9fb61e6f0dacc0fe8c6b888abb31f393ec1a87acc1c0585b3 0017-add-fortify-headers-paths.patch
c18f3eef4d7d6fcbfa64570edb71157a62dad1f3d7276f10fe3424e49caa33f57a0a5952f03189199472802a2dd966e4832789685a94911fe9a86bb1fd6c1d50 0018-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
341d39a40ffd896db152863c717798c6885bdde44c9ac645c5d099c2364cbd8f6f526f97cc98302c420682cb5d6d88bbe28d838c7141456f2ba5581f3edfd64f 0019-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
e603652f341909820789a2cec173b8e547ee607b040863f1745b998b8a69d51cb412a4ac55d2c9e3c5192cc298f6288f9dd48fa06fe53ba8f6b1cabbe61c997a 0020-aarch64-disable-multilib-support.patch
26819f3c3a5844c96cee89fc9766a4f8153e7bb22f6296c6c9fd6a13d45648e3f6c7059397ad7e5be66f55addc21054614b38f480b52a7c9a967cf389735644a 0021-s390x-disable-multilib-support.patch
8e6e6ed84c8cb39ecc35ad0986a91168fedbae2426c8ec1c83dec85a293777e0ec29eac13130193b1bdc2d98b6ffa180abf574dad70740d4720b4bfdab992ab8 0022-ppc64-le-disable-multilib-support.patch
264eaa54a76ec5a12294d91ad2f995eddac9210a569ba85aef27176cb015354aa427840bb22f1e3ba2f7761f6f85cc98ddb3b00584b295c6a10a9770c59a2607 0023-x86_64-disable-multilib-support.patch
47a1a407298b6c259d7faff774f26e4843c9d3764362d74230e7d3f77c46ea8bb51211e09a66bb51c04a9f276ea5b07570fb52312fdb1d354c72a0343bc40c57 0024-riscv-disable-multilib-support.patch
b86fcf40e75861bdffb00069d3a0c9cec3fe8042d49d6ce2beae48ffeadccc576b8ab36e5a85421db5cffeb080a75f3a66dbcbb825d7f4462d40ec621964efe3 0025-always-build-libgcc_eh.a.patch
1425543ce064bfd8e33d7e6e07f45cc16d94f156adcfe190c842722652d5ea0c9ba60f6a3e1b444bb0e5bc906ec4f9ca54720b306f274b441600b79bff47dc57 0026-ada-libgnarl-remove-use-of-glibc-specific-pthread_rw.patch
b8851d0e7fc66201e323007f7c1d702ea8a0d0405aa5945621128ebfb93afd967ec8b3ab6fd4ea779ec10dca2a32e1797f7a2622124ccf8ace2a7596f66ff0bf 0027-ada-libgnarl-use-posix_openpt-instead-of-glibc-speci.patch
12b09a171d61406a2bfa10bb25398cee8c92676b12506afe7aace7028e94cbf8d7df25f62ff7af07e8ed471c6edd3ab7811fa51dfaf3a221a6b367858b1f032c 0028-ada-libgnarl-adaint-fix-sched.h-inclusion-for-musl.patch
15bed06ee74a36e9f21f4b29d7bce9c4188769abb6391560e13ea6b165da51f5ae908e141de7510d3d7eec6b998d0fc53de1042fdb7bd056efa703d230a683b4 0029-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
4c5501256669fd33527a5394eaa4b84451ee341a943dd24a179b661d3c53ef70e87ed5d5f3e76c6c3f9cb79cb5d120ea40101278a7b9d04a55d9405e4cbf9796 0030-configure-fix-detection-of-atomic-builtins-in-libato.patch
eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd700e440763f4a72e29876f560e13e4f5e6de2a1d9438c2f6 0031-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
2b09f90d9cb417170060c8ce198bd4aa2e4ef163286c8f24f6e6c5a673ae80f5a883b078b1a5dd5fa71bc1502e08c886687072694da039eb82baa1ea1948ac2c 0032-gdc-unconditionally-link-libgphobos-against-libucont.patch
99c74242b6d79e6a814f1199b9fb0b56c6a43eb93e5d1a79b674cea750bb025363cdd1505d05cd2195a43c918831fa586c427556ee5bc826aa79cd82e7ee1c24 0033-druntime-link-against-libucontext-on-all-platforms.patch
4f8f7876bf8647cda47cbd2b145ff31efe2a7ac21c012c4134174f93482aad1fbab2592c66aacc3b05fccd1a694ff97511b794139db4aac719e243c114373240 0034-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0069da1d8cb9adb9bab081a34fec680a9ebb1236e606a2497e4565e99bef434518a0f06474a9a1fdfa70811ed3da5d35ca95d267268328f2764bf41c50e924de 0035-libphobos-do-not-use-LFS64-symbols.patch
1cbe85b63ef13bdf2804bfd3173998a6e86752d8ffc09d4cc75a9ba80b98aec5a04efa732bce97a2f50a90c84b92c442ca8f6639841fe7d6618f928ea65916a6 0036-libgo-fix-lfs64-use.patch
98fcd5b893a1646edab961a5d00246151c47b449f8eca99c51f4026ffdb53f60b5b9f6426437c0a6411342da10db8983e20337a29cd46ed22b70e0478573ea30 0037-loongarch-disable-multilib-support.patch
1ad48e39dab351b7bb3e17d9b4b8b78e7de7c736e212638c9d6874b1dde0360dcfc85586c39f515fbd2a6d9910fedc4f0c6ad7ff652b10a5c288c47173671ec7 0038-static-PIE-ensure-static-reaches-the-linker.patch
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
"
+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,23 +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 e3fa0dacec4..bea1adc0940 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -715,6 +715,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.
@@ -38,9 +40,11 @@ Upstream-Status: Pending
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index a79c51adb2b..8a531ed591c 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -249,6 +249,12 @@
@@ -249,6 +249,16 @@
#endif
@@ -48,14 +52,20 @@ Upstream-Status: Pending
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef POISON_BY_DEFAULT
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 16965953f05..0f4a5d52c30 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1050,6 +1050,7 @@ enable_maintainer_mode
@@ -1051,6 +1051,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
@@ -63,7 +73,7 @@ Upstream-Status: Pending
enable_plugin
enable_host_shared
enable_host_pie
@@ -1823,6 +1824,8 @@ Optional Features:
@@ -1828,6 +1829,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
@@ -72,7 +82,7 @@ Upstream-Status: Pending
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--enable-host-pie build host code as PIE
@@ -34082,6 +34085,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
@@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
@@ -83,47 +93,60 @@ Upstream-Status: Pending
+ 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
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9f67e62950a..b0e3615e5aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7555,6 +7555,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 72009c33cd0..29aea724731 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -391,6 +391,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
@@ -8861,6 +8862,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
@@ -133,12 +156,27 @@ Upstream-Status: Pending
+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 4fd87f2c4a1..79d4920a047 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1163,6 +1163,8 @@ proper position among the other output files. */
@@ -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}}} \
@@ -147,6 +185,26 @@ Upstream-Status: Pending
%{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
@@ -1268,7 +1276,7 @@ static const char *cpp_options =
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
%{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
%{!fno-working-directory:-fworking-directory}}} %{O*}\
- %{undef} %{save-temps*:-fpch-preprocess}";
+ %{undef} %{save-temps*:-fpch-preprocess}" POISON_IS_ERROR;
/* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
@@ -1297,7 +1305,7 @@ static const char *cc1_options =
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
- %{pthread:-fprofile-update=prefer-atomic}}}";
+ %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR;
static const char *asm_options =
"%{-target-help:%:print-asm-header()} "
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index c1bbfd3872a..2cdbebc4c50 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
@@ -157,9 +215,20 @@ Upstream-Status: Pending
/* 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
@@ -168,19 +237,22 @@ Upstream-Status: Pending
+ 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.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.
@@ -13,9 +13,11 @@ now by default.
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 29aea724731..6fb3ab70cc7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -18935,6 +18935,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}.
@@ -25,9 +27,11 @@ now by default.
@opindex u
@item -u @var{symbol}
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 79d4920a047..74a356fdf5e 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1161,6 +1161,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 \
@@ -35,3 +39,6 @@ now by default.
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.50.1
@@ -1,17 +1,19 @@
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 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4589ee4a3a6..9edf095384c 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1570,6 +1570,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);
@@ -22,9 +24,11 @@ Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6fb3ab70cc7..799ce073dbf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12496,6 +12496,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.
@@ -37,3 +41,6 @@ Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
@opindex O3
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
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,11 +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 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*} \
@@ -31,6 +34,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 3fd3b831166..0b4c2dccebe 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
@@ -42,6 +47,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index d4d389e2aa8..adccc0b11c2 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
@@ -52,6 +59,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 4c4e31efa39..3c17ac6eade 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -78,6 +87,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 7abfda53049..ceb8f855b7d 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
@@ -89,6 +100,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abe714711bf..3ca128a79f5 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -99,6 +112,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index a2494c214c4..e1a5d530cdf 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
@@ -110,6 +125,21 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h
index fbc75a90ad5..adbc4b7733f 100644
--- a/gcc/config/loongarch/gnu-user.h
+++ b/gcc/config/loongarch/gnu-user.h
@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC \
- "%{G*} %{shared} -m " GNU_USER_LINK_EMULATION \
+ "%{G*} %{shared} --as-needed -m " GNU_USER_LINK_EMULATION \
"%{!shared: %{static} " \
"%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \
"-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 5a82508c113..6eee7cdc603 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
@@ -120,6 +150,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 9060c940a44..282c77b6a7b 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
@@ -130,6 +162,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
-X \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 0316d8cb65d..139e1b6796c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -378,13 +378,13 @@ extern int dot_symbols;
@@ -148,6 +182,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index afb5c6ad867..b64638fb25b 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -781,7 +781,7 @@ GNU_USER_TARGET_CC1_SPEC
@@ -159,6 +195,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 2c3bca5dfcb..b90661247a4 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
@@ -170,6 +208,8 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6d928846895..3cc05bb7240 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
@@ -181,9 +221,11 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 74a356fdf5e..fc9c7d15b04 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -771,8 +771,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)
@@ -197,7 +239,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -807,8 +810,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)
@@ -211,7 +253,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -825,8 +831,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)
@@ -225,7 +267,7 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -841,8 +850,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
@@ -239,3 +281,6 @@ Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.50.1
@@ -1,15 +1,17 @@
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 75b6531860e..78830ce4b42 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -774,7 +774,7 @@ Warn about function calls with format strings that write past the end
@@ -805,7 +805,7 @@ Warn about function calls with format strings that write past the end
of the destination region.
Wformat-security
@@ -18,7 +20,7 @@ Subject: [PATCH 06/35] Enable -Wformat and -Wformat-security by default.
Warn about possible security problems with format functions.
Wformat-signedness
@@ -799,7 +799,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=
@@ -27,3 +29,6 @@ Subject: [PATCH 06/35] Enable -Wformat and -Wformat-security by default.
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wframe-address
--
2.50.1
@@ -1,16 +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 bea1adc0940..e65a575d9f8 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -811,7 +811,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
@@ -18,3 +20,6 @@ Subject: [PATCH 07/35] Enable -Wtrampolines by default.
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
--
2.50.1
@@ -1,46 +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(-)
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1000,6 +1000,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" \
@@ -1305,7 +1311,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|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1013,7 +1013,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=
@@ -0,0 +1,39 @@
From c355364231395090e7223ec00d8a16065903c2c5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:49:03 -0700
Subject: [PATCH] gcc: disable SSP on -ffreestanding, -nostdlib and
-nodefaultlibs
---
gcc/gcc.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index fc9c7d15b04..7b0d3d2743b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1009,6 +1009,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1314,7 +1320,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
--
2.50.1
@@ -0,0 +1,25 @@
From 5f09842c19d6db976724cd117190a8a6951acf9b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@ariadne.space>
Date: Fri, 25 Jul 2025 01:50:42 -0700
Subject: [PATCH] gcc: params: set default ssp-buffer-size to 4
---
gcc/params.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/params.opt b/gcc/params.opt
index 64e453d29b7..bba3fd574f2 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1064,7 +1064,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
--
2.50.1
@@ -1,8 +1,8 @@
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
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 09/35] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
@@ -26,7 +26,7 @@ https://bugs.gentoo.org/295480
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 12d34910830..61b13762b71 100644
index 7f84a99533e..a4c6284f788 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
@@ -50,5 +50,5 @@ index 8e93445acd2..d6ff06e5ddb 100644
all-local: all-local-$(USE_NLS)
--
2.41.0
2.50.1
@@ -1,17 +1,17 @@
From aaa029bcee68298695b7c4278c90b6bc320d098c Mon Sep 17 00:00:00 2001
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 10/35] Don't declare asprintf if defined as a macro.
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 1d5c779fcff..19e3cb1e31c 100644
index d4e8791b14b..c074980ed80 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,11 @@ extern void *bsearch_r (const void *, const void *,
@@ -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. */
@@ -24,5 +24,5 @@ index 1d5c779fcff..19e3cb1e31c 100644
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
--
2.41.0
2.50.1
@@ -1,17 +1,17 @@
From 65e01e749205c9af218b01233cebd0077538d0ee Mon Sep 17 00:00:00 2001
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 11/35] libiberty: copy PIC objects during build process
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 72608f3e4a7..58356884728 100644
index ce54d88278d..10c212a1ad3 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
@@ -266,6 +266,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
@@ -20,5 +20,5 @@ index 72608f3e4a7..58356884728 100644
else true; fi
--
2.41.0
2.50.1
@@ -1,7 +1,7 @@
From 453a815bf2844971a91eaef800af188d9e86b784 Mon Sep 17 00:00:00 2001
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 12/35] libgcc_s
Subject: [PATCH] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
@@ -9,9 +9,11 @@ Subject: [PATCH 12/35] libgcc_s
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
@@ -13089,10 +13089,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
@@ -13643,10 +13643,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
@@ -24,6 +26,8 @@ Subject: [PATCH 12/35] libgcc_s
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)
@@ -37,6 +41,8 @@ Subject: [PATCH 12/35] libgcc_s
+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 @@
@@ -46,3 +52,6 @@ Subject: [PATCH 12/35] libgcc_s
-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
@@ -1,16 +1,18 @@
From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001
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 13/35] nopie
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
@@ -34606,6 +34606,29 @@ rm -f core conftest.err conftest.$ac_objext \
@@ -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; }
@@ -40,7 +42,7 @@ Subject: [PATCH 13/35] nopie
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34623,6 +34646,8 @@ if test x$enable_host_pie = xyes; then
@@ -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
@@ -49,9 +51,11 @@ Subject: [PATCH 13/35] 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
@@ -7821,6 +7821,15 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7802,6 +7802,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
LDFLAGS="$saved_LDFLAGS"])
@@ -67,7 +71,7 @@ Subject: [PATCH 13/35] nopie
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7838,6 +7847,8 @@ if test x$enable_host_pie = xyes; then
@@ -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
@@ -76,3 +80,6 @@ Subject: [PATCH 13/35] nopie
else
LD_PICFLAG=
fi
--
2.50.1
@@ -1,14 +1,14 @@
From dd5bb97c31a9f57034c70a7a18ba6e2e133084c7 Mon Sep 17 00:00:00 2001
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 14/35] ada: fix shared linking
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 f2126441208..22cfa9c641f 100644
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";
@@ -38,5 +38,5 @@ index f2126441208..22cfa9c641f 100644
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
--
2.41.0
2.50.1
@@ -1,12 +1,14 @@
From 6bb5b7d9161d05f31b001d8211a9c63caf63fd2f Mon Sep 17 00:00:00 2001
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 15/35] build: fix CXXFLAGS_FOR_BUILD passing
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 = \
@@ -17,3 +19,6 @@ Subject: [PATCH 15/35] build: fix CXXFLAGS_FOR_BUILD passing
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
--
2.50.1
@@ -1,14 +1,14 @@
From f0d9e00cac06689f64b214de7aee80d7116ef084 Mon Sep 17 00:00:00 2001
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 16/35] add fortify-headers paths
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 e3aca79cccc..b3537b8fbeb 100644
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
@@ -21,5 +21,5 @@ index e3aca79cccc..b3537b8fbeb 100644
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
#else
--
2.41.0
2.50.1
Loaded 100 of 1751 files, more files were not shown because too many files have changed in this diff. Show more