Compare commits

...
Author SHA1 Message Date
Caleb Connolly 0d5da6ed2f kconfigcheck: require NULL_TTY support
The null TTY driver provides a proper (dummy) TTY interface when
console=null is set on the kernel cmdline. This fixes certain
applications which don't correctly handle read() immediately returning
with 0 bytes (e.g. busybox syslogd).

Most normal EFI devices don't boot with console=null and as such there
are various foot-guns littered all over Linux userspace and even in our
own initramfs. However some android devices even enforce console=null,
so it's something we have to deal with.

NULL_TTY should reduce the chance of folks running into strange problems
because of this.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-23 11:10:31 -08:00
Caleb Connolly 210363c4f0 device/community/linux-*: enable NULL_TTY
See previous commit for details.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-23 11:10:31 -08:00
Caleb Connolly 6ad2c6b58f device/testing/linux-*: enable NULL_TTY
See previous commits for details.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-23 11:10:18 -08:00
jane400 295521cac4 systemd/systemd-services: update flatpak user units (MR 6078)
Add flatpak-oci-authenticator.service and fixup paths to /usr/libexec

[ci:skip-build]: already built successfully in CI
2025-01-23 10:19:53 -08:00
jane400 393a0479a3 systemd/postmarketos-base-systemd: remove sshd usepam config (MR 6057)
This was already part of postmarketos-base-ui

[ci:skip-build]: already built successfully in CI
2025-01-23 09:24:17 -08:00
VaporGame 4c73196844 samsung-i9105p: new device (MR 5861)
[ci:skip-build]: already built successfully in CI
2025-01-23 09:08:01 -08:00
knuxify 6907cf2359 device-samsung-nevisp: use extra initfs (MR 6080)
[ci:skip-build]: already built successfully in CI
2025-01-23 16:38:15 +01:00
knuxify 9667f1c0fc device-samsung-zanin: use extra initfs (MR 6080) 2025-01-23 16:38:09 +01:00
knuxify 8911d58d25 device-samsung-baffinlite: use extra initfs (MR 6080) 2025-01-23 16:38:08 +01:00
knuxify 7ac1c73490 device-samsung-kylevess: use extra initfs (MR 6080) 2025-01-23 16:38:08 +01:00
knuxify f1e5981e0f device-samsung-kylepro: use extra initfs (MR 6080) 2025-01-23 16:38:08 +01:00
Jianhua Lu eb8694fd6b linux-postmarketos-qcom-sm8250: upgrade to 6.13.0 (MR 6079)
[ci:skip-build]: already built successfully in CI
2025-01-23 14:59:54 +01:00
hrdl e8bedd2b15 linux-postmarketos-imx-ereader: fix install of 8189fs.ko (MR 6075)
The -t option is needed because the destination is a directory

Fix use of REPLACE_GCCH=0

[ci:skip-build]: already built successfully in CI
2025-01-22 17:38:50 -08:00
Robert Eckelmann c0a69c0767 kconfigcheck.toml: add conditions for certain HID options (MR 6077)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>

[ci:skip-build]: already built successfully in CI
2025-01-22 16:44:20 -08:00
Alexey Minnekhanov 099ecb99eb main/postmarketos-ui-fbkeyboard: support systemd (MR 6065)
Add service file and systemd subpackage.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2025-01-22 23:44:37 +03:00
Alexey Minnekhanov 69bdedc45a systemd/postmarketos-base-systemd: add fbkeyboard to preset (MR 6065)
Add fbkeyboard UI service to preset.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2025-01-22 23:44:37 +03:00
postmarketOS CI 4abb2334d2 linux-next: upgrade to next-20250122 2025-01-22 20:00:07 +00:00
Frank Oltmanns cfdfd97134 linux-postmarketos-qcom-sdm845: Add HID config options (MR 6032)
Enable the config options that are required since commit 2306f863
"kconfigcheck: Add all HID config options from Fedora aarch64 kernel (MR
5836)".
2025-01-22 15:22:51 +01:00
Frank Oltmanns 31b3ba7a50 linux-postmarketos-qcom-sdm845: Improve work-around for call audio regressions (MR 6032)
Somehow enabling in-kernel PD mapper (introduced in 5b9f51b200dcb
"remoteproc: qcom: enable in-kernel PD mapper"), breaks the bottom mic
on xiaomi-beryllium (Poco F1) and distorts audio on OP6 (and possibly
OP6T). Temporarily disable it until the issue is resolved upstream.

Previously, the module's was modified to disable the in-kernel PD
mapper. This modification was a hack. Instead, modify the config so that
the in-kernel PD mapper is not built in the first place, which achieves
the same result.

Link: https://lore.kernel.org/linux-arm-msm/20241010074246.15725-1-johan+linaro@kernel.org/T
Link: pmaports#3353
Link: pmaports#3320
Link: pmaports#3245
Link: pmaports#3253

Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
2025-01-22 15:22:51 +01:00
Caleb Connolly dbe231aa15 device/testing/linux-next: enable NTFS (MR 5801)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:49:30 -08:00
Caleb Connolly 818f90c338 kconfigcheck: enable NTFS for UEFI capable arm64/x86 devices (MR 5801)
devices that previously ran windows may still have a windows partition
and want to dual boot.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:37:33 -08:00
Caleb Connolly 8ffef0c414 device/testing/device-postmarketos-trailblazer: depend on woa-firmware-yoinker (MR 5801)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:34:35 -08:00
Caleb Connolly 18cd22b7eb main/woa-firmware-yoinker: new aport (MR 5801)
This tool is similar to msm-firmware-loader or droid-juicer, except it
copies firmware from Windows instead.

Currently when the ADSP loads the new firmware it causes a usb reset
which breaks booting from USB. For now ask people to run this manually
and ensure the adsp firmware isn't available on the USB.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:34:35 -08:00
Caleb Connolly 3fbaa2acff testing/device-postmarketos-trailblazer: X1E Slim 7x support (MR 5801)
Extend existing X1 Elite support with the modules needed to bring up the
Lenovo Yoga Slim 7x.

We could use the EFI framebuffer in the initramfs, however the
regulators are turned off before we get there so it goes blank. Pull in
all the bits for proper display/panel support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:34:35 -08:00
Pablo Correa Gómez 63a84dbb84 mrhlpr.json: drop the unknown regex (MR 5840)
This regex seems to have served to be a bit more flexible than the
actual pass one, for any kind of exceptions needed. However, it
resulted in basically every MR since the introduction of the
COMMITSTYLE, and most likely before, to be caught by that regex
instead of the pass one. As we have made the pass regex more flexible
now, we can now remove this. This should help keep commit messages
more standardized. If there's a reason for a commit to be different,
then the merger can just ignore it.
2025-01-21 23:29:06 -08:00
Pablo Correa Gómez b5669073ae mrhlpr.json: force lower-case at the beginning of commit description (MR 5840)
This is how it's enforced in the COMMITSTYLE
2025-01-21 23:29:06 -08:00
Pablo Correa Gómez 245d7757ef mrhlpr.json: stop making the directory prefix compulsory (MR 5840)
This has not been a requirement since the introduction of COMMITSTYLE
guidelines in f2993c3ad8, so let's make
these kind of commits pass!
2025-01-21 23:29:06 -08:00
Pablo Correa Gómez 9365b8c0b5 mrhlpr.json: don't allow parenthesis in commit description (MR 5840)
Outside of the (MR \d+) match, there should be no reason to have
parenthesis in the commit description
2025-01-21 23:29:06 -08:00
Bart Ribbers 7118b440cd main/postmarketos-base-ui-plasma: depend on kunifiedpush (MR 6020)
The daemon has been split out from the library and is thus not
automatically installed anymore when applications using the library are
installed. However the daemon (the UnifiedPush distributor) is also
useful to have installed when Flatpak apps are in use or other UnifiedPush
supporting apps that don't use kunifiedpush as their library.

Fixes #3333
2025-01-21 23:19:38 -08:00
Clayton Craft 6d4b78405a community/linux-postmarketos-qcom-laptop: upgrade to 6.13 (MR 5895)
- Add new kconfigcheck 'input' category options
- Add 'virt' kconfigcheck category
- Removed 'containers' kconfigcheck (this is included with the 'community' category)
- Enabled Magic Sysrq
- Add patch to disable GIC interrupt handling for pcie4, to work around
  a wifi instability regression on sc8280xp
2025-01-21 22:30:08 -08:00
postmarketOS CI 47e159ded3 linux-next: upgrade to next-20250121 2025-01-21 19:59:38 +00:00
Arnav Singh e22d28f497 linux-postmarketos-allwinner: upgrade to 6.12.8_git20250104 (MR 6067)
[skip ci]: failed on kconfig check, Arnavion wrote: "I'll enable the
CONFIG_HID_* that kconfigcheck wants in a separate MR so that any regressions
from that don't mix up wit the kernel upgrade."
2025-01-20 22:29:18 +01:00
postmarketOS CI beb210ff84 linux-next: upgrade to next-20250120 2025-01-20 19:59:40 +00:00
Oliver Smith 9bd46a23fc well-known/funding-manifest-urls: new file (MR 6074)
Add a funding-manifest-urls file, as required by the floss.fund funding
manifest:

> If the manifest references URLs, such as a project's webpage, that are not
> on the same domain as the funding.json manifest itself, then the wellKnown
> URL must point to a /.well-known/funding-manifest-urls file. This file should
> contain URL (one or more) of the funding.json manifest URLs that reference
> it. This establishes provenance and verifies that that the publisher of the
> manifest is authorised to solicit funding on behalf of the URLs (entity,
> projects) described in the manifest. This follows the .well-known convention.

Related: https://floss.fund/funding-manifest/
Related: postmarketos.org MR 345
2025-01-20 18:59:41 +01:00
User0 08c9c31eed bananapi-m2-zero: initial port (MR 6063) 2025-01-18 12:57:49 +00:00
Felix Kaechele c90592c981 firmware-qcom-msm8953: add Lenovo ThinkSmart View (CD-18781Y) firmware (MR 6061)
[ci:skip-build]: already built successfully in CI
2025-01-17 17:01:18 -08:00
Richard Acayan 9136c2dea8 firmware-google-sargo: compress firmware loaded by kernel (MR 6052)
[ci:skip-build]: already built successfully in CI
2025-01-17 16:55:54 -08:00
WeirdTreeThing eecf4d3599 device-google-x64cros: add nvme modules to initramfs (MR 6059)
Required to boot from nvme drives

[ci:skip-build]: already built successfully in CI
2025-01-17 14:31:35 -08:00
Ferass El Hafidi 02e435c298 amlogic: switch to unified u-boot-amlogic package (MR 4995)
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>

[ci:skip-build]: already built successfully in CI
2025-01-17 14:19:59 -08:00
Ferass El Hafidi 6c6a0bd9da u-boot-amlogic: new aport (MR 4995)
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2025-01-17 14:19:59 -08:00
Oliver Smith 56ed24c1ee systemd/postmarketos-base-systemd: tinydm preset (MR 6060)
[ci:skip-build]: already built successfully in CI (except for known qemu issue)
2025-01-17 14:16:33 -08:00
Oliver Smith 90ba2529dd extra-repos/systemd: add tinydm (MR 6060)
Based on, and adjusted for pmOS:
https://github.com/dreemurrs-embedded/Pine64-Arch/blob/master/PKGBUILDS/sxmo/tinydm/tinydm.service

This should be moved to tinydm upstream later on.

Related: tinydm issue 11
2025-01-17 14:16:26 -08:00
Oliver Smith a7a455c124 systemd/systemd-services: wpa_supplicant: add -q (MR 6060)
Make wpa_supplicant less verbose, so it doesn't print log messages to
journalctl every 3 seconds:

Jan 16 18:47:05 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-47 noise=9999 txrate=286700
Jan 16 18:47:08 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-48 noise=9999 txrate=286700
Jan 16 18:47:11 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-47 noise=9999 txrate=286700
Jan 16 18:47:14 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-47 noise=9999 txrate=286700
Jan 16 18:47:17 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-47 noise=9999 txrate=286700
Jan 16 18:47:20 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-47 noise=9999 txrate=286700
Jan 16 18:47:23 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-48 noise=9999 txrate=286700
Jan 16 18:47:26 l14 wpa_supplicant[4888]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-48 noise=9999 txrate=286700
2025-01-17 14:16:26 -08:00
jane400 029526a557 systemd/cups: new aport (MR 5803)
forked from alpine to add ondemand and journald support. as journald
requires systemd-libs, i don't think that we will upstream this package

[ci:skip-build]: already built successfully in CI (except for known qemu issues)
2025-01-17 14:05:45 -08:00
postmarketOS CI 3985abe895 linux-next: upgrade to next-20250117 2025-01-17 19:56:26 +00:00
Antoine Martin 53053d2159 device-pine64-pinenote: add modprobe rules from debian image (MR 6021)
Modprobe rules sets sane defaults for `rockchip_ebc` module and fixes
panfrost driver loading.

Other changes;
* take maintainership of port
* udev rule for `rockchip_ebc` now makes `dclk_select` parameter
  accessible to group video
* add `pinenote-dbus-service` dependency
[ci:skip-build]: already built successfully in CI
2025-01-17 19:03:29 +01:00
SzczurekYT c4693ffaee main/postmarketos-base-ui: Fix sleep-inhibitor installation on openrc (MR 6062)
[ci:skip-build]: already built successfully in CI (except armhf, due to known qemu issue)
2025-01-17 09:09:32 -08:00
Barnabás Czémán 89003fbc1b soc-qcom-msm8953: add moto-modem-rfs-setup service (MR 6041)
Add an openrc service for motorola modems.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2025-01-17 17:33:12 +03:00
Barnabás Czémán 037f96ff8e soc-qcom-msm8953: add tqftpserv to modem subpackage (MR 6041)
Add tqftpserv to modem subpackage to support modem on
motorolas.
2025-01-17 17:33:12 +03:00
Barnabás Czémán ae3cfeead7 linux-postmarketos-qcom-msm8953: upgrade to v6.12-r2 (MR 6041) 2025-01-17 17:33:12 +03:00
Barnabás Czémán e48b7f076e motorola-{ali,ocean,potter}: remove individual device pacakges (MR 6041)
Remove individual device packages, these devices are supported by
the generic device package.
2025-01-17 17:33:12 +03:00
Barnabás Czémán 255cd5b647 firmware-qcom-msm8953: Add WCNSS nv binary for motorolas (MR 6041)
Motorolas contains nv binary on system partition.
Add them to the fw package to be able to use generic port on them.
2025-01-17 17:33:04 +03:00
postmarketOS CI d45ee55f8b linux-next: upgrade to next-20250116 2025-01-16 19:57:02 +00:00
fossdd 371671f676 .ci/autoupdate.sh: reset pkgrel on update (MR 6014)
pkgrel's are resetted to zero once the pkgver is bumped
2025-01-16 21:24:24 +09:00
Luca Weiss 07be96e8d0 linux-postmarketos-qcom-msm8226: upgrade to 6.11.11 (MR 5733) 2025-01-16 21:05:05 +09:00
Sergey Lisov 5947e04428 firmware-samsung-a6lte: change backing repo (MR 6048)
It seems that the old backup repo has disappeared from GitHub. Changed
the URL to an up-to-date repository.

The contents of the firmware blobs have not changed, thus no pkgver
increment.
2025-01-15 18:49:13 -08:00
jane400 22ec267f92 systemd/systemd: remove unused makedepends (MR 6036)
gnu-efi-dev was required for systemd-boot < 256. As systemd-boot
is built specially as an extra component in main/systemd-boot, there
is no reason why we would want to build it here.
2025-01-15 21:56:53 +01:00
postmarketOS CI ee720a51ca linux-next: upgrade to next-20250115 2025-01-15 20:07:32 +00:00
Alexey Min 0410fd4107 systemd/systemd-services: add diag-router unit file (MR 6053)
qcom-diag package is not providing systemd service file.

Signed-off-by: Alexey Min <alexey.min@gmail.com>
[ci:skip-build]: already built successfully in CI
2025-01-15 20:02:36 +01:00
Clayton Craft bf162e8603 cross/ccache-cross-symlinks: support riscv64 (MR 6054)
[ci:skip-build]: already built successfully in CI
2025-01-15 10:39:57 -08:00
Clayton Craft 6de44c7911 cross/crossdirect: support riscv64 (MR 6054) 2025-01-15 10:39:48 -08:00
Alexey Min 102863b3c7 ci: always zap chroots before doing pkg build testing in systemd context (MR 6051)
Signed-off-by: Alexey Min <alexey.min@gmail.com>

[ci:skip-build]: already built successfully in CI
2025-01-15 08:00:33 -08:00
Clayton Craft 79d223e80f main/postmarketos-base-ui: install sleep-inhibitor for all init systems (MR 6051)
fixes #3462
2025-01-15 16:23:26 +03:00
Clayton Craft 53bbdfc14a systemd/postmarketos-base-systemd: enable sleep-inhibitor by default (MR 6051) 2025-01-15 16:23:23 +03:00
Bart Ribbers 6d33d2a3cd systemd/plasma*: upgrade to 6.2.5 (MR 6046)
[ci:skip-build] Already built successfully in CI
2025-01-15 11:18:00 +01:00
Bart Ribbers 0160e3676b systemd/systemd-services: update path to flatpak-system-helper (MR 6049)
The path has been changed since the upgrade to 1.16.0
2025-01-15 11:14:24 +01:00
winbo-yml-exe 776e3a0fff raspberry-pi5: Initial port (MR 6006) 2025-01-14 18:01:39 -08:00
Oliver Smith c52924104e kconfigcheck: add PPP specific section (MR 5992)
CONFIG_LEDS_GROUP_MULTICOLOR just had to be re-enabled to fix a
regression. Add this to kconfigcheck to prevent disabling it by
accident in the future. Adjust the description of the Librem 5
specific section while at it.

[ci:skip-build] [ci:skip-vercheck]: no need to rebuild
2025-01-14 17:38:37 -08:00
postmarketOS CI 51f8840cad linux-next: upgrade to next-20250114 2025-01-14 19:57:26 +00:00
Clayton Craft 1b5e079199 main/systemd-boot: upgrade to 257.1 (MR 6008)
[ci:skip-build]: already built successfully in CI
2025-01-14 10:30:44 -08:00
Robert Mader 0a8291db87 main/postmarketos-base-ui-gnome: add showtime to pmb_recommends (MR 6038)
So Gnome-based DEs have a video-player by default. The main arguments
in favor showtime I see are:
1. It's the main candidate to become the new Gnome default video player.
2. It's has a mobile-friendly UI.
3. It uses HW-decoding and even zero-copy playback by default on many pmOS
   devices (by using Gstreamer and unlike e.g. ffmpeg-based players like mpv).
4. Its main dependencies are shared with other apps like snapshot.

The other candidate that would tick the same boxes but 1. is livi.
[ci:skip-build]: already built successfully in CI
2025-01-14 10:25:56 -08:00
fossdd b645acd06f systemd/mutter: upgrade to 47.4 (MR 6026)
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/78390

[ci:skip-build]: arm builds fail due to known qemu issues in CI
2025-01-14 09:47:42 -08:00
fossdd cf0259bab3 systemd/gnome-shell: upgrade to 47.3 (MR 6026)
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/78390
2025-01-14 09:47:37 -08:00
fossdd 17c396a6db systemd/networkmanager: upgrade to 1.50.1 (MR 6026)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/3c88e14bf6eea43f65e46d5e7bc765f862c6c99f
2025-01-14 09:47:36 -08:00
fossdd def24413eb systemd/xorg-server: upgrade to 21.1.15, drop DRI1 support (MR 6026)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/a54d1c070c87699fc0c79987ac7035e5aac66174

https://gitlab.alpinelinux.org/alpine/aports/-/commit/7a031648bc577ead4710d9880779c61c1df9d93d

https://gitlab.alpinelinux.org/alpine/aports/-/commit/255f451f7f26a3a7f2dc44d2313a0b8490daa7d5
2025-01-14 09:47:36 -08:00
Oliver Smith b090beb066 device-google-trogdor: move eudev-hwids dep to openrc (MR 6042)
[ci:skip-build]: already built successfully in CI
2025-01-14 09:42:30 -08:00
Oliver Smith 1edcc6a174 device-google-gru: move eudev-hwids dep to openrc (MR 6042) 2025-01-14 09:42:30 -08:00
Oliver Smith 895b259ca2 device-pine64-pinebookpro: move eudev-hwids dep to openrc (MR 6042)
Fix systemd installs:
  (147/798) Installing eudev-hwids (3.2.14-r5)
  ERROR: eudev-hwids-3.2.14-r5: trying to overwrite usr/lib/udev/hwdb.d/20-OUI.hwdb owned by systemd-udevd-256.5-r5.
  ERROR: eudev-hwids-3.2.14-r5: trying to overwrite usr/lib/udev/hwdb.d/20-acpi-vendor.hwdb owned by systemd-udevd-256.5-r5.
  ERROR: eudev-hwids-3.2.14-r5: trying to overwrite usr/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb owned by systemd-udevd-256.5-r5.
  ERROR: eudev-hwids-3.2.14-r5: trying to overwrite usr/lib/udev/hwdb.d/20-dmi-id.hwdb owned by systemd-udevd-256.5-r5.
  ...
2025-01-14 09:42:30 -08:00
Oliver Smith f48c8c34f0 device-pine64-pinephone: drop dep on openrc subpkg (MR 6042) 2025-01-14 09:42:29 -08:00
Oliver Smith 155657b865 extra-repos/systemd/wireplumber: disable tests for armhf (MR 6047)
[ci:skip-vercheck]: Changes don't affect resulting package.

[ci:skip-build]: arm failing in CI due to known issues w/ running qemu
2025-01-14 09:37:07 -08:00
Clayton Craft 5ef884e903 systemd/postmarketos-base-systemd: depend on kbd (MR 6029)
These were dropped from the systemd package when they should have been
moved here to pmos-base-systemd. Without this, systemd-vconsole-setup
crashes because it cannot find the kbd utility, and kmod is needed for
proper auto-module loading.

[ci:skip-build]: already built successfully in CI
2025-01-14 09:30:52 -08:00
Clayton Craft 168821c772 systemd/systemd-services: add fnott unit file (MR 6043)
[ci:skip-build]: already built successfully in CI
2025-01-14 09:27:55 -08:00
Clayton Craft 8e10f36a1a systemd/systemd-services: add syncthing unit file (MR 6043) 2025-01-14 09:27:55 -08:00
Clayton Craft 8085ef2fd8 systemd/systemd-services: add goimapnotify unit file (MR 6043) 2025-01-14 09:27:54 -08:00
Clayton Craft d5e218eaad systemd/systemd-services: add kanshi unit file (MR 6043) 2025-01-14 09:27:54 -08:00
Clayton Craft 96a82d8ded systemd/systemd-services: add udiskie unit file (MR 6043) 2025-01-14 09:27:54 -08:00
Clayton Craft 52c619d599 main/postmarketos-base: install logbookd only in -openrc subpkg (MR 6045)
logbookd isn't needed on systemd, so only depend on it when using openrc

[ci:skip-build]: already built successfully in CI
2025-01-14 09:16:32 -08:00
postmarketOS CI ca2d4eb0cc linux-next: upgrade to next-20250113 2025-01-13 19:57:38 +00:00
Oliver Smith 6c18dcae18 cross/busybox-static-*: upgrade to 1.37.0-r11 2025-01-13 20:15:23 +01:00
Clayton Craft ab7156d367 soc-qcom-msm8953: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Clayton Craft f851c8a374 soc-qcom-msm8916: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Clayton Craft 38962fd023 device-xiaomi-beryllium: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Clayton Craft b67be8b278 device-shift-axolotl: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Clayton Craft 91104b55c4 device-oneplus-fajita: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Clayton Craft 81f954402a device-oneplus-enchilada: Install q6voiced.conf for any init system (MR 6015) 2025-01-12 16:56:50 -08:00
Dzmitry Sankouski a3ff803df5 device-samsung-starqltechn: add non free firmware package (MR 6009)
- split depends list on multiple lines
- add non free firmware subpackage to starqltechn device
2025-01-12 20:45:11 +01:00
adamthiede 19b51bbf8f linux-postmarketos-mediatek-mt8173: upgrade to 6.12.9 (MR 6024)
[ci:skip-build]: already built successfully in CI
2025-01-12 19:29:30 +01:00
Antoine Martin 7092829258 pinenote-dbus-service: upgrade to 0.2.2_pre5, take maintainership (MR 6017)
[ci:skip-vercheck]: Skips check, as `0.2.2_pre5` is higher than `20221207`

[ci:skip-build]: already built successfully in CI
2025-01-12 19:25:21 +01:00
AutumnSpark1226 73484dca8b device-samsung-kyleprods: opt-in to initramfs-extra (MR 6034)
the target partition is only ~8MB
2025-01-12 19:20:25 +01:00
Robert Eckelmann 6506f73a17 Revert "device-xiaomi-surya: add kernel subpackage (MR 5983)" (MR 6033)
This reverts commit 609f3a5544.

The changes proposed in MR 5983 depend on changes in the upstream sc7150
kernel, howerver a new kernel release is currently not feasible as
instabilities still need to be worked out.

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2025-01-12 19:16:53 +01:00
Andras Sebok 26e38e99bc device-samsung-a3y17lte: depend on postmarketos-base-downstream (MR 6027) 2025-01-12 13:12:17 +03:00
Barnabás Czémán cebee6fde3 device-qcom-msm89x7: add support for more devices (MR 6005)
Add support for Redmi 4 (prada), Redmi 4A (rolex),
Motorola Moto G5S (montana) and Huawei Mediapad T3 10 (agassi).
Remove downstream motorola montana and xiaomi rolex packages.

[ci:skip-build]: already built successfully in CI
2025-01-12 13:00:41 +03:00
Barnabás Czémán f597a11449 linux-postmarketos-qcom-msm89x7: update to v6.12.5-r2 (MR 6005) 2025-01-12 13:00:40 +03:00
Barnabás Czémán 1c45f0dcbe main/lk2nd: Remove lk2nd-msm8952-xiaomi-land (MR 6005)
No more workarounds is needed for xiaomi-land.
2025-01-12 13:00:36 +03:00
Antoine Martin 69a2a9eb55 linux-pine64-pinenote: upgrade to 6.12.0 (MR 6016)
[ci:skip-build]: already built successfully in CI
2025-01-11 14:05:43 +01:00
Robert Eckelmann 73b1292000 extra-repos/systemd: enable systemd for armhf (MR 6031)
Cannot be build locally due to missing armhf folder on the mirror

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]
2025-01-11 13:28:57 +01:00
Robert Eckelmann 27cb596def extra-repos/systemd: wireplumber, disable tests for armv7 as well (MR 6030)
After the initial merge wireplumber failed on bpo for armv7,
It was recommended to disable tests for armv7 for now.

fixes #3454

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: no bump because we don't need a rebuild where it
		    succeeded
2025-01-11 13:22:43 +01:00
Clayton Craft 431d0aaa4f systemd/gnome-settings-daemon{,-mobile}: comment out checkdepends (MR 6028)
tests are disabled anyways (!check), and having gnome-session in
checkdepends creates a circular dependency in some situations since
gnome-session has gnome-setttings-daemon-dev in makedepends

[ci:skip-build]: CI can't build test because bpo is currently stuck, I build tested it locally
2025-01-10 16:23:20 -08:00
postmarketOS CI 596dd416ed linux-next: upgrade to next-20250110 2025-01-10 20:00:03 +00:00
Oliver Smith 110ba69520 extra-repos/systemd/abuild: new aport
Copy abuild to extra-repos/systemd as workaround for now.

Related: issue 3452
2025-01-10 18:58:46 +01:00
jane400 b4f5a4d89e pmaports.cfg: use linux-pam-pmos explictly (MR 6025) (MR 5563)
This still worked previously as linux-pam-pmos provides
linux-pam and pmbootstrap resolves that.

[ci:skip-build]
[ci:skip-vercheck]
2025-01-10 13:02:37 +01:00
jane400 538f5b3bde systemd/dbus: dont use systemd during bootstrap (MR 6025) (MR 5563) 2025-01-10 13:02:37 +01:00
jane400 aaffde4ca7 systemd/systemd: use aports linux-pam during bootstrap (MR 6025) (MR 5563) 2025-01-10 13:02:37 +01:00
jane400 026664491c systemd/linux-pam-pmos: version hacking (MR 6025) (MR 5563) 2025-01-10 13:02:37 +01:00
Clayton Craft 372c85f4ae systemd/postmarketos-base-systemd: improve the motd to reflect current status (MR 6023) (MR 5563)
[ci:skip-build]
2025-01-10 13:02:37 +01:00
Clayton Craft b9ed5f4721 systemd/systemd-services: add xdg-desktop-portal-kde (MR 5563)
Fixes #3411
[ci:skip-build]: CI fails arm builds due to qemu issue, Clayton build tested locally
2025-01-10 13:02:37 +01:00
bjorn3 55a89d949c main/msm-firmware-loader: add systemd unit files (MR 5964) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
bjorn3 80cef6602e systemd/abuild: Move patched abuild from extra-repos/systemd to temp (MR 5987) (MR 5563)
This is required to use systemd_service outside of the
extra-repos/systemd repo.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
Clayton Craft 6a318b7b1e systemd/systemd-services: add colord unit file (MR 6010) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
Clayton Craft f51ac64ff4 systemd/postmarketos-base-systemd: depend on rtkit, enable by default (MR 6010) (MR 5563)
Quite a few things (pipewire, pulse, systemd) complain when rtkit is missing

[ci:skip-vercheck]
2025-01-10 13:02:37 +01:00
Clayton Craft 012b718e82 systemd/sytemd-services: drop wireplumber (MR 5999) (MR 5563)
[ci:skip-build]: CI failed on arm from qemu issues, build tested locally by Clayton
2025-01-10 13:02:37 +01:00
Clayton Craft cef931df10 systemd/wireplumber: fork from aports to enable systemd support (MR 5999) (MR 5563)
Turns out that there's some integration w/ logind and stuff that would
be useful to have...
2025-01-10 13:02:37 +01:00
fossdd 4e0c698208 systemd/systemd-services: remove fbd-alert-slider.service (MR 6011) (MR 5563)
fbd-alert-slider.service is actually already provided by feedbackd from
aports.

This reverts commit c3c625a49aaa46353c7e80de153edc9fd3ef27a5.
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
jane400 eed72a258b systemd/pipewire: rebuild against libcamera-0.4.0 (MR 6003) (MR 5563)
Follow aports commit 1afd6ec59ea2d575702be1a9a3a3c5117482f2fb

[ci:skip-build]: aarch64 fails due to CI bugs, Clayton manually build tested it
2025-01-10 13:02:37 +01:00
jane400 688c6d4241 systemd/{linux-pam-pmos,networkmanager,polkit}: takeover maintainership (MR 5976) (MR 5563)
also add _pkgname for the upstream name in aports for linux-pam-pmos

[ci:skip-build]: CI bugs out building armv7 and aarch64, but skipping
since changes shouldn't affect building
2025-01-10 13:02:37 +01:00
jane400 5529523d0c systemd/systemd: remove runtime dependencies from package (MR 5971) (MR 5563)
These are now defined in pmos-base-systemd, those deps aren't needed
for building stuff upon systemd-dev.

[ci:skip-build]: CI bugs out, Clayton successfully build tested armv7
and aarch64 manually
2025-01-10 13:02:37 +01:00
jane400 cb3a98e52f systemd/postmarketos-base-systemd: move runtime dependencies from systemd (MR 5971) (MR 5563)
Those dependencies are either run or dlopen-ed during runtime of
systemd, systemctl etc.

As we not even require util-linux's version of runuser, we just use
the login-utils virtual in pmos-base-systemd. And while we're at it,
move the runtime dependencies to pmos-base. This is also more fitting
for libkmod, which is needed in the initramfs, as it is one of the
runtime deps of systemd-udev.
2025-01-10 13:02:37 +01:00
fossdd 0aadc949f2 systemd/postmarketos-base-systemd: add fbd-alert-slider to presets (MR 5969) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
fossdd 052b0dc801 systemd/systemd-services: add fbd-alert-slider.service (MR 5969) (MR 5563)
and pass it to systemctl preset, to allow the alert slider (as it can be
fount on the Oneplus 6(t)) out-of-the-box.
2025-01-10 13:02:37 +01:00
Clayton Craft 77807e384e systemd/systemd-services: add plasma-powerdevil (MR 5961) (MR 5563)
Fixes #3408

[ci:skip-build]: already built successfully in CI (except armv7, which
times out the runner, but Clayton thinks that's just our CI being dumpy)
2025-01-10 13:02:37 +01:00
Bart Ribbers 3a28a6beb7 systemd/plasma*: upgrade to 6.2.4 (MR 5892) (MR 5563)
[ci:skip-build]: aarch64 was build tested locally (by Clayton), x86_64
build job failed in CI because the artifacts were too big but the actual
package building worked
2025-01-10 13:02:36 +01:00
fossdd 98f622784a extra-repos/systemd: add gnome-terminal-server service (MR 5896) (MR 5563)
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3266

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 ea76cbcc35 systemd/systemd-services: add flatpak env-gen and tmpfiles (MR 5954) (MR 5563)
This uses the previously commited new syntax.

Fixes: #3400
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 8b043c21cb systemd/systemd-services: add more systemd directories to installdir table (MR 5954) (MR 5563) 2025-01-10 13:02:36 +01:00
Caleb Connolly 66d8fa2e48 systemd/systemd-services: add tailscale service (MR 5806) (MR 5563)
Add the service file for tailscale and its default environment file.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
Caleb Connolly 10bd9b248b systemd/systemd-services: allow absolute paths (MR 5806) (MR 5563)
Assume that file paths not starting with "user/" or "system/" are
absolute paths.
2025-01-10 13:02:36 +01:00
jane400 be12b506b9 systemd/postmarketos-base-systemd: pin polkit to our downstream (MR 5940) (MR 5563)
This is done in the usual way with a version requirement.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 a5e5e3d958 systemd/*: bump packages making BPO stuck (MR 5563) 2025-01-10 13:02:36 +01:00
jane400 8c5c31732c systemd/pipewire: stop providing jack-dev (MR 5946) (MR 5563)
I don't understand why the upstream APKBUILD provides jack-dev with
pipewire's pkg{ver,rel}. This blocks users potentially running
abuild deps on aports packages, so not a huge loss.

Unblocking BPO with this 🙃

[ci:skip-build]: built locally, merging as critical.
2025-01-10 13:02:36 +01:00
fossdd 8afb6cf81f systemd/polkit: upgrade to 125 (MR 5917) (MR 5563)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/338430105cd08f428976ecf163ec202f6c612d49
https://gitlab.alpinelinux.org/alpine/aports/-/commit/807bf19811a8d8d375ce40faca22ed5c75c42131

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
fossdd 5e8380e394 systemd/dbus: upgrade to 1.16.0 (MR 5917) (MR 5563)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/a194e2ccab4264c3c834ab753e65afb0317ed9d0
2025-01-10 13:02:36 +01:00
fossdd 52ab70f110 systemd/pipewire: upgrade to 1.2.7 (MR 5917) (MR 5563)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/c56f4f00e4c89adbc15e7f539a595bb541f22908

https://gitlab.alpinelinux.org/alpine/aports/-/commit/f1c084b2630dac32afe3f970cc1ab3bc93be8e8c
2025-01-10 13:02:36 +01:00
fossdd cd221c7092 systemd/upower: upgrade to 1.90.6 (MR 5917) (MR 5563)
https://gitlab.alpinelinux.org/alpine/aports/-/commit/308623fbd6b0c09e52fb7d8fe9213492e4877c9c

https://gitlab.alpinelinux.org/alpine/aports/-/commit/28a8750c5e1f532ce8325d290d379898baaa7269

https://gitlab.alpinelinux.org/alpine/aports/-/commit/40b203a22dc8ebfd4a890f159a5ba418c81b4705

https://gitlab.alpinelinux.org/alpine/aports/-/commit/c9c25690f49527959138cfe0041d912dc36ac625
2025-01-10 13:02:36 +01:00
fossdd ed17e7224f systemd/gnome-settings-daemon: upgrade to 47.2 (MR 5916) (MR 5563)
[ci:skip-build]: CI builds sucessfully on x86_64 and armv7,
there's an failure in aarch64/gnome-shell, but compiling
on a native aarch64 system and testing also works. (-jane400)
2025-01-10 13:02:36 +01:00
fossdd 4709a04217 systemd/gnome-shell: upgrade to 47.2 (MR 5916) (MR 5563) 2025-01-10 13:02:36 +01:00
fossdd 32eccf0878 systemd/mutter: upgrade to 47.3 (MR 5916) (MR 5563) 2025-01-10 13:02:36 +01:00
fossdd b242c181e5 systemd/systemd-services: include xdg-desktop-portal-phosh user service (MR 5808) (MR 5563)
Upstream: https://gitlab.gnome.org/guidog/xdg-desktop-portal-phosh/-/blob/main/data/xdg-desktop-portal-phosh.service.in

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 e2e646cac5 systemd/systemd-services: fix typo at rtkit preset (MR 5825) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
fossdd c8790b64e4 systemd/gnome-logs: new aport (MR 5790) (MR 5563)
https://apps.gnome.org/Logs
Log viewer for the systemd journal

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
Clayton Craft 15b7743279 systemd/networkmanager: don't build docs (MR 5563)
This doens't work with crossdirect since apparently it calls the
compiler during package() stage:

ERROR: Error in gtkdoc helper script:

ERROR: ['/usr/bin/gtkdoc-scangobj', .... failed with status 1
============================================================================================
ERROR: crossdirect was called with: LD_PRELOAD=libfakeroot.so
2025-01-10 13:02:36 +01:00
jane400 d3545fc941 systemd/linux-pam-pmos: rename from linux-pam (MR 5769) (MR 5563)
This should ensure that postmarketos-base-systemd installs our linux-pam
package, not the one from alpine. (The old way to pin our package was
based on fragile version pinning, as our pam wasn't bumped to 9999, but
had the same version as aports).

fixes #3170
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
Clayton Craft b6429284d9 systemd/networkmanager: upgrade to 1.50 and rebase APKBUILD (MR 5761) (MR 5563)
APKBUILD was rebased onto the latest verstion in Alpine aports (1.50.0-r3)

[ci:skip-build]: bug in CI prevents it from completing, but builds fine locally
2025-01-10 13:02:36 +01:00
jane400 bbd4d52780 systemd/{gdm, gnome-*, mutter}: rebase apkbuild on upstream/aports (MR 5770) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 766c4b0b2d systemd/xorg-server: pull upgrade from upstream/aports (MR 5777) (MR 5563)
lto is disabled because of CI

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:36 +01:00
jane400 d65fab1d87 systemd/pipewire: pull upgrade from upstream/aports (MR 5776) (MR 5563)
lto makes cross-compiling CI unhappy, disabling it makes CI happy again.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
Clayton Craft 5fa6664045 extra-repos/systemd: fix deinstall macro (MR 5746) (MR 5563)
This wasn't actually working because it was using an unset var when
calling 'systemctl disable'.

[ci:skip-build]: CI cannot complete build testing because of infra
issue, but that's fine because this change doens't actually require
compiling systemd.
2025-01-10 13:02:35 +01:00
Clayton Craft aa7f9531f6 systemd/plasma-workspace: rebase apkbuild on upstream/aports (MR 5762) (MR 5563)
New dependencies were not included so this failed to build properly. The
other changes were pulled from the version in aports, to make rebasing
in the future easier.

[ci:skip-build]: CI cannot complete build testing because of infra
issues downloading from download.kde.org
2025-01-10 13:02:35 +01:00
fossdd ebfa97f3ac systemd/systemd-services: manually issue chvt on start of phosh (MR 5757) (MR 5563)
libseat 0.9.0 no longer performs an automatic VT switch when taking
control of a seat to allow sessions to be started in the background. As
consequence, one must manually switch if one wants a background session
to be immediately activated.

Issue a chvt on ExecStartPost, when the service is deemed running.

Upstream: https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1566
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
Clayton Craft 2807210d02 systemd/postmarketos-base-systemd: disable journald audit feature (MR 5754) (MR 5563)
When kernel auditing is enabled and things crash, this leads to a lot of
really annoying messages printed to the console/TTY that can interfere
with debug. Kernel audit info can be reached using other userspace
tools.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
Clayton Craft 6c2c528e7b systemd/postmarketos-base-systemd: add presets for swclock-offset (MR 5685) (MR 5563) 2025-01-10 13:02:35 +01:00
Clayton Craft c6a65bc393 systemd/pmos-base-systemd: disable sd-resolved by default (MR 5630) (MR 5563)
Fixes #3190
2025-01-10 13:02:35 +01:00
Bart Ribbers a9498ee193 extra-repos/systemd/plasma*: upgrade to 6.2.2 (MR 5734) (MR 5563)
[skip ci]: downloading from KDE servers seems to be broken / not
working, so checksum verify never passes. checksums were verified
locally
2025-01-10 13:02:35 +01:00
Clayton Craft 6a57b83489 systemd/gnome-shell*: remove dependency on networkmanager-common (MR 5563)
This package no longer exists on Alpine edge
2025-01-10 13:02:35 +01:00
Caleb Connolly b84e52aabd systemd: fix udevd path (MR 5563)
We actually want usr/lib/udevd here, not lib/udevd. This fixes the
initramfs not building and some other weirdness.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:35 +01:00
jane400 6a927cb3f2 extra-repos/systemd/systemd: support split-usr again (MR 5661) (MR 5563)
Do note that this commit was amended after the fact, the patch got
inlined into this repo to not brick this branch if the MR gets pushed
to.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
jane400 1ef9e30d7e extra-repos/systemd/apk-tools: drop (MR 5661) (MR 5563) 2025-01-10 13:02:35 +01:00
jane400 08cfb992d3 extra-repos/systemd: adjust bootstrap logic to remove usr-merge (MR 5661) (MR 5563) 2025-01-10 13:02:35 +01:00
jane400 ae8a27d8cd systemd/systemd: upgrade to 256.5 (MR 5560) (MR 5563) 2025-01-10 13:02:35 +01:00
Andrei Zisu 10c68a927b main/postmarketos-ui-gnome-*: enable systemd by default (MR 5563)
[ci:skip-vercheck]
2025-01-10 13:02:35 +01:00
Bart Ribbers 35ddc20d25 extra-repos/systemd/systemd-services: fix subpackage names for Plasma and Waydroid services (MR 5651) (MR 5563)
The package names should be the original package names + the -systemd
suffix. I did this wrongly breaking both KDE Plasma and Waydroid
2025-01-10 13:02:35 +01:00
Aster Boese 75dac319ea extra-repos/systemd/systemd: enable sysext and sysusers (MR 5597) (MR 5563) 2025-01-10 13:02:35 +01:00
Clayton Craft 39a9c0098d extra-repos/systemd/postmarketos-base-systemd: add waydroid presets (MR 5592) (MR 5563) 2025-01-10 13:02:35 +01:00
Bart Ribbers 845da18e19 extra-repos/systemd/systemd-services: add waydroid and related services (MR 5592) (MR 5563) 2025-01-10 13:02:35 +01:00
Caleb Connolly 6aaad5770f systemd: gnome-shell-mobile: upgrade to 46.1 (MR 5629) (MR 5563)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built in CI
2025-01-10 13:02:35 +01:00
Bart Ribbers ff2781e489 extra-repos/systemd/systemd-services: take over service files from origin packages (MR 5631) (MR 5563)
We were only forking kactivitymanagerd and kglobalacceld for their
service files
2025-01-10 13:02:35 +01:00
Bart Ribbers 3ed7c30cc7 extra-repos/systemd/kde*: upgrade to latest versions (MR 5590) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
Clayton Craft 60f31ad190 systemd/pmos-base-systemd: add preset for udisks2 (MR 5589) (MR 5563)
Provides disk mounting services for many UIs

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:35 +01:00
Clayton Craft bc35d9ddaf systemd/systemd-services: fix nftables unit (MR 5589) (MR 5563)
The type was erroneously set as 'simple', and since we are setting
ExecStop we actually need to set RemainAfterExit to avoid running
ExecStop when the oneshot service runs. This is because nft returns/
exits pretty much immediately after applying the config.

fixes #2846
2025-01-10 13:02:35 +01:00
Clayton Craft 3c41129561 systemd/systemd-services: add udisks2 unit file (MR 5589) (MR 5563) 2025-01-10 13:02:35 +01:00
Clayton Craft ea62919155 systemd/systemd-services: add evolution-data-server user services (MR 5589) (MR 5563)
No presets because these are dbus activated.

fixes #2910
2025-01-10 13:02:34 +01:00
Bart Ribbers 4203f655ac extra-repos/systemd/systemd-services: add kded (MR 5593) (MR 5563) 2025-01-10 13:02:34 +01:00
Caleb Connolly bd478d9307 systemd-services: add lxc (MR 5598) (MR 5563)
add the lxc template service

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:34 +01:00
Clayton Craft 0850de5098 systemd/pmos-base-systemd: presets: fix some preset unit names, add sshd (MR 5588) (MR 5563)
The unit name to kill pbsplash had a typo, and added a preset for sshd.

systemd didn't seem to match `phosh` or `gdm` to the correct unit,
unless they had `.service` added, so this was fixed.

Presets in this section were also sorted.
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft dfc186bc9d systemd/systemd: fix default disable preset (MR 5588) (MR 5563)
This didn't actually seem to do anything, resulting in some weird stuff
being enabled by default even though we did not specify a preset for it
(e.g. see !5556)

Based on my interpretation of the systemd preset manpage, this file
should be parsed last. It says that if a unit name has a preset that
was already configured in some previously parsed preset file, then any
matches after do not apply. This means that the `disable *` should not
disable any previously enabled (in previous .preset files) units. When
the unit name is omitted from the `disable` command, it seems to be a no-op.

Fixes !5207
2025-01-10 13:02:34 +01:00
Clayton Craft c144c1663f systemd/postmarketos-base-systemd: depend on newer linux-pam (MR 5579) (MR 5563)
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft a597ad4c8d systemd/linux-pam: upgrade to 1.6.1-r1 (MR 5579) (MR 5563)
pkgver and pkgrel match aports version

APKBUILD was rebased onto alpine aports version
2025-01-10 13:02:34 +01:00
Clayton Craft 8c67d01795 systemd/kmod: remove fork (MR 5572) (MR 5563)
Patches were merged upstream:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71426

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft 96efb21568 systemd/pmos-base-systemd: disable multipathd by default (MR 5556) (MR 5563)
This causes systemd to get stuck restarting multipathd forever on boot if it runs on systems with no multipath hardware. When this happens, the system never finishes booting.

It doesn't seem like any UIs/devices enable the multipathd service by default in openrc, and that we just depend on multipath-tools for kpartx and stuff (and not the daemon that comes with it)

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft 7ef5260766 systemd/pipewire: add install scripts for systemd presets (MR 5551) (MR 5563)
fixes #3153
2025-01-10 13:02:34 +01:00
Clayton Craft 5ddca30396 systemd/kmod: add fixes for usr merge (MR 5554) (MR 5563)
This patch was submitted upstream to Alpine aports in
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71426

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft a25dbb6f71 systemd/kmod: fork from Alpine to support usr merge (MR 5554) (MR 5563)
actual patch to support usr merge will come later
2025-01-10 13:02:34 +01:00
Clayton Craft 56dde363be systemd/multipath-tools: upgrade to 0.10.0 (MR 5563)
rebased on aports
2025-01-10 13:02:34 +01:00
Caleb Connolly 3caf2b8cd0 systemd: upgrade gnome shell and mutter mobile to 46 (MR 5363) (MR 5563)
Upgrade to 46-mobile-0

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:34 +01:00
Clayton Craft 4cb3bc64e8 systemd: gnome-settings-daemon-mobile: new aport (MR 5363) (MR 5563)
mobile shell has a fork of GSD which hard depends on systemd.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:34 +01:00
jane400 3b2bcb676b systemd/gnome-settings-daemon: add systemd subpkg (MR 5377) (MR 5563)
also remove the elogind specific patch to use systemd for brightness
changes

Co-authored-by: Clayton Craft <clayton@craftyguy.net>

Note: the user services that the -systemd split pkg installs are not
enabled by default using systemd presets. None of them have 'Install'
sections, they appear to be mostly/all dbus activated instead.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:34 +01:00
jane400andClayton Craft 86d38add61 systemd/gnome-session: add systemd subpkg (MR 5377) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2025-01-10 13:02:34 +01:00
jane400 495e231c7a systemd/gdm: add systemd subpkg (MR 5377) (MR 5563) 2025-01-10 13:02:34 +01:00
jane400andClayton Craft 641cdf3c17 systemd/gnome-keyring: add systemd subpkg (MR 5377) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2025-01-10 13:02:34 +01:00
jane400andClayton Craft 90a828bb24 systemd/networkmanager: add systemd subpkg (MR 5377) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2025-01-10 13:02:34 +01:00
jane400 95d40be3b8 systemd/postmarketos-base-systemd: add base presets (MR 5377) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

- Removed systemd-timesyncd, already enabled by a preset installed by
  the systemd package
- Removed default-disable.preset, it's already provided by the systemd
  package
- Removed user services from system preset
2025-01-10 13:02:34 +01:00
Clayton Craftandjane400 b44c0b4874 systemd/systemd-services: use systemd preset macro to configure services (MR 5377) (MR 5563)
also remove the rc_update workaround

Co-authored-by: jane400 <pmos@j4ne.de>
2025-01-10 13:02:34 +01:00
jane400 b579d07193 systemd/polkit: add comment about why systemd preset isn't used (MR 5377) (MR 5563)
Note: I/Clayton bumped the pkgrel because I don't want to
ci:skip-vercheck for *all* packages in the branch just to so that this
one doesn't fail.
2025-01-10 13:02:34 +01:00
jane400andClayton Craft 19eedbea6b systemd/systemd: configure presets for systemd services (MR 5377) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2025-01-10 13:02:34 +01:00
Clayton Craftandjane400 ca7c0be4ad systemd/systemd: add macros for package install scripts (MR 5377) (MR 5563)
These macros are based off of the upstream systemd RPM macros, but it
doesn't implement all of the macro functionality upstream. Initially
they will be used in the install scripts for apkbuilds that provide
systemd service unit files.

For example, a `$pkgname-systemd.post-install` script might have:
    . /usr/lib/systemd/systemd-apk-macros.sh
    systemd_service-post_install system sshd

And a `$pkgname-systemd.pre-deinstall` script might have:
    . /usr/lib/systemd/systemd-apk-macros.sh
    systemd_service_pre_deinstall user pipewire

One day maybe these could be upstreamed to systemd to provide some
apk/abuild compatible macros.

Co-authored-by: jane400 <pmos@j4ne.de>
2025-01-10 13:02:33 +01:00
jane400 f1d059531a systemd/alpine-base: remove stub rc-update (MR 5377) (MR 5563) 2025-01-10 13:02:33 +01:00
jane400 6616f0b77b systemd/dbus: don't generate a /etc/machine-id with the post-install trigger (MR 5377) (MR 5563)
Generating the machine-id is handled by systemd's first boot mechanism,
so that was removed from the dbus post-install script
2025-01-10 13:02:33 +01:00
Bart Ribbers 05c506b631 extra-repos/systemd/drkonqi: fork from Alpine (MR 5470) (MR 5563) 2025-01-10 13:02:33 +01:00
Bart Ribbers 8b0f14d50d extra-repos/systemd/kglobalacceld: fork from Alpine (MR 5470) (MR 5563)
It installs /usr/lib/systemd/user/plasma-kglobalaccel.service
2025-01-10 13:02:33 +01:00
Bart Ribbers eca588403e extra-repos/systemd/plasma*: upgrade to 6.1.4 (MR 5470) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft 35e56724c0 systemd/systemd-services: add plasma-mobile (MR 5502) (MR 5563)
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:33 +01:00
jane400 5b05ae4b64 systemd/systemd-services: add eg25-manager.service (MR 5346) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft bb5dca5a42 systemd/systemd: fix typo in pre-install (MR 5468) (MR 5563)
The space here caused this install script to attempt to create a group
named '2' and add a user named 'sgx' to it.

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:33 +01:00
Caleb Connolly 58bdb46ef2 systemd: apk-tools: update /usr merge patches (MR 5353) (MR 5563)
Update to the reworked apk-tools /usr merge support.

Upstream MR: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/155

Fixes: #2988

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:33 +01:00
Clayton Craft aa765f7fd9 systemd/plasma*: disable armv7 (MR 5366) (MR 5563)
Fails in CI, and (according to Bart) might be disabled on this arch in
upstream aports later.
2025-01-10 13:02:33 +01:00
Bart Ribbers e1e7792684 extra-repos/systemd/plasma*: upgrade to 6.1.3 (MR 5366) (MR 5563) 2025-01-10 13:02:33 +01:00
jane400andClayton Craft 684b6d8348 systemd/networkmanager: remove some alpine-isms (MR 5375) (MR 5563)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:33 +01:00
jane400 7488c4a895 systemd/systemd: move user/group creation to pre-install (MR 5375) (MR 5563) 2025-01-10 13:02:33 +01:00
Caleb Connolly c0e462df37 systemd/postmarketos-base-systemd: depend on systemd-timsyncd (MR 5339) (MR 5563)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:33 +01:00
Clayton Craft 6bb688aaf2 systemd/pipewire: upgrade to 1.2.0 (MR 5361) (MR 5563)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:33 +01:00
Clayton Craft e4cbe6ec9e systemd/networkmanager: upgrade to 1.48.2 (MR 5361) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft 4e6abfcefb systemd/mutter: upgrade to 46.2 (MR 5361) (MR 5563)
updated pkgver to follow format used elsewhere... "999$_pkgver"
2025-01-10 13:02:33 +01:00
Clayton Craft c61e2f48fe systemd/gnome-settings-daemon: upgrade to 46.0 (MR 5361) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft f86b3c9a15 systemd/gdm: upgrade to 46.2 (MR 5361) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft f62410ba1d systemd/gnome-shell: upgrade to 46.2 (MR 5361) (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft 06413d342f systemd/gnome-keyring: upgrade to 46.1 (MR 5361) (MR 5563)
FYI the autoreconf thing was sent to aports since this is fixing an
upstream packaging bug:

https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/69432
2025-01-10 13:02:33 +01:00
Clayton Craft 76c9415158 systemd/systemd-services: fix pkgname for gnome-clocks service (MR 5563) 2025-01-10 13:02:33 +01:00
Clayton Craft 8da20639b6 systemd/networkmanager: add -systemd subpkg for service (MR 5563)
Missed this earlier when moving -service --> -systemd

Also updates the pkgver to be more in line with how we handle pkgver
elsewhere in this repo
2025-01-10 13:02:33 +01:00
David Heidelberg 0e0c81abda systemd/systemd-services: add missing bluez services (MR 5200) (MR 5563)
Signed-off-by: David Heidelberg <david@ixit.cz>

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:32 +01:00
Clayton Craft e67e974c94 systemd/systemd-services: adjust subpackages to use -systemd name (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 974c7ee60d systemd/upower: rename service subpkg to systemd (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 3cfaacd005 systemd/polkit: rename service subpkg to systemd (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft d5a13d0149 systemd/pmos-base-systemd: depend on newer linux-pam pkg (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft ea65c03d4f systemd/linux-pam: rename service subpkg to systemd (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 2f61aacaf7 systemd/gdm: rename service subpkg to systemd (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft d380065a2b systemd/dbus: rename service subpkg to systemd (MR 5315) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 2360092bcb systemd/abuild: add patch to warn on install to /bin or /lib (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 5f38b943b2 systemd/abuild: update -systemd split func patch (MR 5563)
Build abuild from upstream source and only apply the systemd split func
patch. The patch was also adjusted to use -systemd instead of -service
for subpackages
2025-01-10 13:02:32 +01:00
jane400 e8a7ffb0dc systemd: postmarketos-base-systemd: manually include kmod-libs in initramfs for systemd-udevd (MR 5340) (MR 5563)
As systemd v256 switched to dlopen for a bunch of dependencies
(specified in a custom format), this is no longer auto-detected
by either abuild or boot-deploy. So we include kmod manually for udevd
to work correctly.

This fixes the "no screen" issue on pine64-pinephone.
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:32 +01:00
jane400 2654fa1881 systemd/postmarketos-base-systemd: fix replaces failure (MR 5335) (MR 5563)
the systemd v256 upgrade also moved some files to their
respecitive subpackages.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:32 +01:00
Oliver Smith 22d9a187cb systemd/plasma-workspace: workaround for build race condition (MR 5327) (MR 5563)
Explicitly generate qwayland-plasma-shell.h first, in order to fix:
  In file included from /usr/include/PlasmaQuick/PlasmaQuick/PlasmaShellWaylandIntegration:1,
                   from /home/pmos/build/src/plasma-workspace-6.1.2/shell/panelconfigview.cpp:35:
  /usr/include/PlasmaQuick/plasmaquick/plasmashellwaylandintegration.h:14:10: fatal error: qwayland-plasma-shell.h: No such file or directory
     14 | #include "qwayland-plasma-shell.h"
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

Related: https://invent.kde.org/plasma/plasma-workspace/-/issues/132
[ci:skip-vercheck]
[ci:skip-build] times out after >3hr in gitlab CI
2025-01-10 13:02:32 +01:00
Bart Ribbers d3267304a3 community/plasma: upgrade to 6.1.2 (MR 5327) (MR 5563)
[ci:skip-vercheck]
Rebased-By: Oliver Smith <ollieparanoid@postmarketos.org>
2025-01-10 13:02:32 +01:00
Clayton Craft 2444bb08bc systemd/kwin: include patch in repo (MR 5563)
Apparently the patch url isn't stable(?) upstream, the checksum changed.
Since this is a simple 1 line patch, let's just include it in pmaports

This also changes kwin to use the more 'standard' pkgver used in other
packages forked for systemd support
2025-01-10 13:02:32 +01:00
jane400 c27697890a systemd: upgrade to 256 and add me as co-maintainer (MR 5093) (MR 5563)
The patches were put into the gitlab.com/postmarketos/systemd repo
and updated for stable-v256.

This also enables man pages, systemd-localed and localization support
via the compile flags.

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:32 +01:00
Clayton Craft f365fca1b6 systemd/systemd-services: drop pulseaudio (MR 5142) (MR 5563)
PA is started automatically by its "autospawn" config thing, and it
works pretty well... if it crashes then it's automatically restarted if
needed, etc.

The included service/socket unit files never really worked,
PA started from systemd would always race with (and often to) PA autospawn.

The subpkg here also resulted in a packaging bug where both
pulseaudio-service and pw-pulse-service were installed at the same time,
because the `install_if` listed `pulseaudio`, and `pw-pulse` also
provides `pulseaudio`. The two unit things conflict with each other.

I did some initial investigation, and getting systemd to manage PA
seemed like too much work especially since autospawn is probably good
enough and we hope to move to pw audio later.

[ci:skip-vercheck]
2025-01-10 13:02:32 +01:00
Clayton Craft b7b67ab4f5 systemd/systemd-services: add wireplumber (MR 5142) (MR 5563) 2025-01-10 13:02:32 +01:00
Clayton Craft 9ce37b783e systemd: fork pipewire to build w/ systemd support (MR 5142) (MR 5563)
Unfortunately there are some code paths that are required to support
socket activation, and they are only enabled at build time with
-Dsystemd=enabled. On the bright side, service/socket unit files are
included...

Also note that I disabled test on armv7 since they fail in our CI using
qemu on x86_64. They pass in Alpine on native armv7.
2025-01-10 13:02:32 +01:00
Caleb Connolly d0e4e168a6 systemd: add udevd symlink (MR 5218) (MR 5563)
symlink systemd-udevd to /usr/bin/udevd for compatibility with eudev
(initramfs).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:32 +01:00
jane400 8c07ab2f00 systemd/systemd: don't force disable everything with presets (MR 5207) (MR 5563)
This changes it into a default disable.

`disable *` selects all units and hence overrides all previous presets.
Just using `disable` just changes the default unit enablement policy.
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:32 +01:00
Clayton Craft 69d00bc636 systemd/systemd-services: Add geoclue, gnome-clocks, iwd, mpris-proxy, mmsd (MR 5204) (MR 5563)
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:32 +01:00
Clayton Craft afee55196c systemd/gnome-session: upgrade to 46 (MR 5148) (MR 5563)
fixes #2855
2025-01-10 13:02:32 +01:00
Dylan Van Assche c5cf9351da systemd/iio-sensor-proxy: allow AF_QIPCRTR (MR 5190) (MR 5563)
libssc requires QRTR protocol, allow it in systemd lockdown.

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:32 +01:00
Clayton Craft 1395649bb2 systemd/gnome-shell-mobile: rebase on latest master changes (MR 5563)
See:
 - aaa7d267 temp/gnome-shell-mobile: rename extensions app to add "mobile" (MR 5176)
 - 5e865cde temp/gnome-shell-mobile: sync with upstream APKBUILD (MR 5176)
2025-01-10 13:02:32 +01:00
Clayton Craft e8ba615854 systemd/systemd-services: fix rtkit subpackage name (MR 5150) (MR 5563)
For the `install_if` to work correctly, the subpackage should be named
after the main package that provides the app... in this case it's called
"rtkit"

[ci:skip-build] already built successfully in CI
2025-01-10 13:02:31 +01:00
Clayton Craft e8dd451530 systemd/gnome-shell: actually build with systemd support (MR 5147) (MR 5563)
This was a total blunder by earlier me...

fixes !5115
2025-01-10 13:02:31 +01:00
Clayton Craft d9d7b8ba96 systemd/mutter,gnome-shell: disable crossdirect (MR 5115) (MR 5563)
Workaround since building for armv7 on x86_64 fails, see
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5115#note_1899890119

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2025-01-10 13:02:31 +01:00
Clayton Craft 8499909241 systemd/gnome-shell: fork to enable systemd support (MR 5115) (MR 5563)
fixes #2767

[ci:skip-vercheck]
2025-01-10 13:02:31 +01:00
Clayton Craft ac2bf3ad51 systemd/mutter: fork to enable systemd support (MR 5115) (MR 5563) 2025-01-10 13:02:31 +01:00
Clayton Craft bc953498e2 systemd/gnome-desktop: fork to enable systemd support (MR 5115) (MR 5563) 2025-01-10 13:02:31 +01:00
Clayton Craft 9c39fea9b0 systemd: use a more general install_if for x11 subpkg (MR 5118) (MR 5563)
[ci:skip-build] already built successfully in CI

xorg-server-common is a shared dep between xorg-server and xwayland, and
this tmpfile config is required for both to work. Without this tmpfile
config, Xwayland may fail to start. In the case of GNOME, this is a
fatal event.
2025-01-10 13:02:31 +01:00
Caleb Connolly 317692350b systemd/systemd-services: dconf: fix path (MR 5094) (MR 5563)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:31 +01:00
Caleb Connolly e3f8aa2665 systemd: linux-pam: upgrade to 1.6.0 (MR 5563)
following Alpine

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:31 +01:00
Bart Ribbers 5e14944ee5 extra-repos/systemd/kde*: upgrade to latest versions (MR 5068) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:31 +01:00
Clayton Craft 34abd3fcc6 extra-repos/systemd: add kbd dependency (MR 5074) (MR 5563)
This is required by systemd-vconsole-setup, which is currently
configured to run on boot (without kbd/loadkeys, the service crashes.)

[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:31 +01:00
Oliver Smith 28c069faa3 systemd: fix "INSERT-REASON-HERE" comments (MR 5070) (MR 5563) 2025-01-10 13:02:31 +01:00
Oliver Smith e67ae3ef4f systemd/systemd-services: make shellcheck happy (MR 5070) (MR 5563)
Fix for:
  In systemd-services.trigger line 14:
      systemctl $cmd $service
                ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                     ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
2025-01-10 13:02:31 +01:00
Oliver Smith 3a305c47c5 systemd: remove various unreferenced files (MR 5070) (MR 5563)
Remove OpenRC specific files that were removed for the systemd-specific
forks.
2025-01-10 13:02:31 +01:00
Oliver Smith 771a926587 systemd/mutter-mobile: fix provides= (MR 5070) (MR 5563) 2025-01-10 13:02:31 +01:00
Oliver Smith 9174703761 systemd/gnome-shell-mobile: fix provides= (MR 5070) (MR 5563)
Should be =$pkgver-r$pkgrel instead of =$_pkgver-r$pkgrel. Otherwise CI
fails, and it is right, we do want to provide the very high version so
we don't install the regular package by accident if the regular package
gets upgraded before this forked version.
2025-01-10 13:02:31 +01:00
Oliver Smith af660ec0dd CI: test_kernel: skip linux-pam (MR 5070) (MR 5563)
The linux-pam package is not a linux kernel :)
2025-01-10 13:02:31 +01:00
Oliver Smith 97917f060f CI: directory-structure: add extra-repos/systemd (MR 5070) (MR 5563) 2025-01-10 13:02:31 +01:00
Oliver Smith 25b25d6504 editorconfig: add networkmanager.rules style (MR 5070) (MR 5563)
This is forked from Alpine. Keep the style to not increase the diff.
2025-01-10 13:02:31 +01:00
Bart Ribbers 77d9deb9fb extra-repos/systemd/kjournald: new aport (MR 5563) 2025-01-10 13:02:31 +01:00
Bart Ribbers cfe18cf422 extra-repos/systemd/plasma*: add initial systemd Plasma packages (MR 5563) 2025-01-10 13:02:31 +01:00
Oliver Smith 06d1177575 extra-repos/systemd/: move from systemd/ (MR 5563)
Let's put everything systemd related in an extra-repos directory, so it
is clear that the packages from here will end up in a separate, optional
binary package repository.
2025-01-10 13:02:31 +01:00
Oliver Smith 5a94643c99 systemd/xorg-server: set !check (MR 5563) 2025-01-10 13:02:31 +01:00
Oliver Smith 7bf8e741ac systemd/gnome-shell-mobile: drop caribou dep (MR 5563)
Remove it, like we did with temp/gnome-shell-mobile in pmaports master.
2025-01-10 13:02:30 +01:00
Sam Day b6990aa0d7 systemd-services: add phosh.service (MR 4904) (MR 5563) 2025-01-10 13:02:30 +01:00
Oliver Smith 29db09e313 systemd/postmarketos-base-systemd: depend on systemd-services (MR 5563)
Add the dependency, so the systemd-services package gets built as part
of the bootstrap. Otherwise no service files will be installed, as the
individual service files get pulled in via install_if, and that only
works if a binary package is available.
2025-01-10 13:02:30 +01:00
Alexander Martinz 4c473428b1 systemd/systemd-services: add rtkit-daemon.service (MR 5563)
Taken upstream from https://github.com/heftig/rtkit/blob/master/rtkit-daemon.service.in

Change-Id: I0ae6e1a70b961bafd52702a412a2cdcc12bb544a
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2025-01-10 13:02:30 +01:00
Caleb Connolly 56a3ce0d96 systemd/gnome-shell-mobile: add uclamp hack (MR 5563)
This is a hack to configure utilisation clamping for gnome-shell. It
works by telling the scheduler that the gnome-shell process should run
with a much higher performance level. This improve animation performance
and general UI smoothness. A proper solution to have gnome-shell manage
this itself is in the works upstream.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 92004cc6ed systemd/xorg-server: new aport (MR 5563)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly e3d6bb26eb systemd/upower: new aport (MR 5563)
Integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 436bbea46d systemd/systemd-services: new aport (MR 5563)
A collection of systemd services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
110a6d97b3 systemd/systemd: new aport (MR 5563)
Co-Authored-by: jane400 <pmos@j4ne.de>
Co-Authored-by: Caleb Connolly <caleb@postmarketos.org>
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly ba85c19be8 systemd/postmarketos-base-systemd: new aport (MR 5563)
postmarketOS base package with systemd stuff.
2025-01-10 13:02:30 +01:00
Caleb Connolly 29262fd5f1 systemd/polkit: new aport (MR 5563)
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 6c0121469b systemd/networkmanager: new aport (MR 5563)
Clayton says: integrates with systemd (logind)

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 9ae322da87 systemd/mutter-mobile: new aport (MR 5563)
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly d7d6d635dc systemd/multipath-tools: new aport (MR 5563)
Builds against systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 88cb968dca systemd/linux-pam-systemd: new aport (MR 5563)
integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 845c078254 systemd/gnome-shell-mobile: new aport (MR 5563)
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly a68625db68 systemd/gnome-settings-daemon: new aport (MR 5563)
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly f89f215516 systemd/gnome-session: new aport (MR 5563)
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly d433dc486d systemd/gnome-keyring: new aport (MR 5563)
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 78fa9ec4a0 systemd/gdm: new aport (MR 5563)
gdm integrates tightly with systemd, fork from aports to rebuild against
systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly faa4d96bf7 systemd/dbus: new aport (MR 5563)
Fork dbus and rebuild it with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 9ec9df60a1 systemd/apk-tools: new aport (MR 5563)
For systemd (and our own sanity) we need to do the /usr merge. This fork
of apk-tools includes the logic to support alpine packages like tar
which install the main tar binary to /bin and then a symlink to
/usr/bin/...

We should find a way to implement this in upstream apk-tools, and
continue pushing Alpine to also adopt the merged /usr model.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly c1160e2271 systemd/alpine-base: new aport (MR 5563)
alpine-base hard depends on openrc... Fork it to drop this.

We should eventually upstream this by having alpine-base depend on a
virtual pid1 or init-system subpackage which openrc and systemd can both
provide.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 886cca10fd systemd/accountsservice: new aport (MR 5563)
Forked from alpine to rebuild with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:30 +01:00
Caleb Connolly 4abb213344 systemd/abuild: new aport (MR 5563)
Fork of abuild with a default_service implementation for generating
-service subpackages.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-10 13:02:29 +01:00
Oliver Smith ab113c2013 pmaports.cfg: add repo:systemd section (MR 5563) 2025-01-10 13:02:29 +01:00
Clayton Craft ad04271709 gitlab/issue_template: add init system options (MR 6022) 2025-01-09 11:52:26 -08:00
Alexey Min 5d56a5da1f soc-qcom-sc8180x: remove nonexistent package from depends (MR 6019)
The qrtr-openrc package was removed in 94a777390c
but somehow still left in depends of this package.

Fix the errors like:

  ERROR: unable to select packages:
    qrtr-openrc (no such package):
      required by: soc-qcom-sc8180x-nonfree-firmware-openrc-1-r1[qrtr-openrc]

This is the one and only mention of qrtr-openrc package in pmaports.

P.S. It's very telling how many users sc8180x has, if this was unnoticed
for 8 months.

Signed-off-by: Alexey Min <alexey.min@gmail.com>
2025-01-09 22:42:24 +09:00
Aster Boese 2b4bfb1b1f linux-postmarketos-apple: upgrade to 6.13.0-rc6 (MR 6007) 2025-01-09 22:22:10 +09:00
postmarketOS CI c5cbc06608 linux-next: upgrade to next-20250109 2025-01-09 05:59:48 +00:00
postmarketOS CI c549e46126 linux-next: upgrade to next-20250108 2025-01-08 19:57:37 +00:00
Stanislav Jakubek 366f71d365 device-motorola-falcon: add support for newer lk2nd (MR 5994)
Generate extlinux config for newer lk2nd and switch to msdos partition type,
since lk2nd doesn't support GPT yet.

Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
[ci:skip-build]: already built successfully in CI
2025-01-08 23:09:11 +09:00
Matti Tyrväinen 27ba82d874 samsung-lt023g: add required deviceinfo lines from wiki page (MR 5993) 2025-01-08 22:17:17 +09:00
Dzmitry Sankouski 423a48e276 firmware-samsung-sdm845: add package (MR 6002)
firmware-samsung-sdm845 package provides firmware for Samsung Galaxy S9
SDM845 SoC based phone series.
2025-01-08 21:59:16 +09:00
Clayton Craft c0e8d4c816 main/postmarketos-ui-plasma-mobile: depend on udisks2 (MR 5998)
Fixes #3410

[ci:skip-build]: already built successfully in CI
2025-01-07 23:42:44 -08:00
Clayton Craft f23fa7efb0 kconfigcheck: input: only check HID_GOODIX_SPI on >=6.12 (MR 5997) 2025-01-08 00:27:49 +03:00
Clayton Craft e2743c573a kconfigcheck: input: drop some kconfig (MR 5997)
This drops some kconfig that was added in !5836, which shouldn't be
required for device kernels to comply with the "input" kconfig check.

HID_HYPERV_MOUSE: requires enabling HyperV guest support in the kernel,
we shouldn't impose this on all device kernels.

HID_KUNIT_TEST: No reason to enable kunit support, we aren't testing the
kernel with device kernels

SURFACE_HID: Requires enabling a bunch of Microsoft Surface platform
drivers/support, doesn't make sense to require for all device kernels.
Kernels that support Surface devices can enable these as needed, since I
don't think any non-surface devices would even have surface HID input hw
in them.
2025-01-08 00:27:44 +03:00
postmarketOS CI 22456748d4 linux-next: upgrade to next-20250107 2025-01-07 20:00:15 +00:00
Luca Weiss 17f0976e29 device/*: replace deprecated mtk_mkimage="true" values (MR 5995)
Replace this deprecated variable with the new equivalent.

[ci:ignore-count]
[ci:skip-build]: armv7 fails in CI (qemu instabilities w/ our runner),
Clayton verified checksums for armv7 stuff manually
2025-01-07 10:47:47 -08:00
Luca Weiss 4fff56942d device/*: remove unnecessary mtk_mkimage="false" values (MR 5995)
Like quite a few other values being set to false, this one has a default
of false so can be safely removed.
2025-01-07 10:58:40 +01:00
Clayton Craft e362b66af2 purism-librem5dev: archive (MR 6000)
This is the port for the Librem 5 devkit, I still have one but haven't
booted it in years and it's unlikely anyone else is using this (since
this port is super outdated and almost certainly not functional as-is).
Let's archive it so that it doesn't cause any confusion.

[ci:skip-vercheck]
[ci:skip-build]: we don't actually want to build test this thing
2025-01-07 09:09:15 +01:00
Clayton Craft 71d0b5d31e main/boot-deploy: upgrade to 0.18.1 (MR 5996) 2025-01-06 21:25:33 -08:00
Caleb Connolly 6ca9e65fb3 CI: kconfig: allow failure when updating kconfigcheck.toml (MR 5836)
When enabling new options in kconfigcheck, it's likely that some kernels
in pmaports will fail, but often undesirable to rebuild all the kernels
particularly when the options being enabled are for quality of life.

Adjust the rules for the kconfig check job in CI so that it will fail
with a warning in this case, but still fail with an error when an
updated kernel package doesn't pass.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2025-01-06 16:39:46 -08:00
Caleb Connolly 85503434af CI: use yaml anchors for common job rule (MR 5836)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-06 16:39:46 -08:00
Jonas Dreßler 2306f86373 kconfigcheck: Add all HID config options from Fedora aarch64 kernel (MR 5836)
Looks like a lot of HID drivers are missing from pmOS device-specific
kernels. Let's try to deal with it by enabling all the HID related
drivers that the Fedora aarch64 and x86 kernels enable.

[ci:skip-kconfig-check]: too many kernels fail from the new required
config here, it's unfeasible to update them all right now
2025-01-06 16:39:46 -08:00
postmarketOS CI c4733a80f3 linux-next: upgrade to next-20250106 2025-01-06 19:57:23 +00:00
Dzmitry Sankouski 52ee0146a8 device-samsung-starqltechn: FIT: remove initrd load address (MR 5990)
U-boot doesn't use initrd load address - it loads ramdisk image
at the end of bootm space. Remove inird load property.
2025-01-06 17:25:07 +00:00
Dzmitry Sankouski 54538d207a device-samsung-starqltechn: FIT: increase memory for Linux (MR 5990)
Recent kernel occupies 47120384 bytes in uncompressed state,
which is more than reserved memory for kernel
0x80000000 - 0x82800000 (40M).
Shift FDT image to give more memory space (56M) to load Linux.
2025-01-06 17:25:07 +00:00
Andreas Kemnade 79e0ea8f41 device-epson-embt2ws: Disable GPT (MR 5982)
Disable GPT to be able to chainload stuff on uSD from vendor u-boot on
internal eMMC. The vendor u-boot does not support GPT.
If booting is done by reprogramming the boot order or zeroing internal
bootloader, GPT is no problem.

[ci:skip-build]: already built successfully in CI
2025-01-06 14:59:22 +01:00
Jan Jasper de Kroon fb0be371ef linux-pine64-pinephonepro: fix notification LED behavior (MR 5991)
Enable CONFIG_LEDS_GROUP_MULTICOLOR as a module to fix issue #3424.
Previously, notifications triggered the torch flash instead of the
status indicator LED. This change allows proper use of the multicolor
LED driver, ensuring notifications utilize the status indicator LED.

[ci:skip-build]: already built successfully in CI
2025-01-06 14:15:32 +01:00
Oliver Smith 5c1d76962b cross/grub-efi-x86: upgrade to 2.12-r7 (MR 5986)
[ci:ignore-count]
[ci:skip-build]: does not pass in CI, known in pmb issue 2467. I'll
build all of them locally before merging.
2025-01-06 15:35:01 +03:00
Oliver Smith ada84d65b8 cross/musl-*: upgrade to 1.2.5-r9 (MR 5986) 2025-01-06 15:35:01 +03:00
Oliver Smith e59a0ad98f cross/gcc-*: upgrade to 14.2.0-r5 (MR 5986)
Done with pmbootstrap MR 2521.
2025-01-06 15:34:57 +03:00
Raihan Ahamed 09b2fb029f device-lenovo-kuntao: move to archived (MR 5984)
there is available qcom-msm8953 which is working with latest lk2nd fine on kuntao, but after flashing by building with device-lenovo-kuntao, it is resulting rebooting the system continuously with latest lk2nd, so imo it should be archived
2025-01-06 21:18:26 +09:00
Dylan Van Assche c3fc4ef89a main/mobile-config-thunderbird: new aport (MR 5968) 2025-01-05 22:35:11 -08:00
Johannes Krampf 8e0a56fd1d pine64-pinephone: fix u-boot user script load address (MR 5980)
Fixes #3414.

The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50700000 partially overwriting
the initramfs (0x4FF00000-0x50883fd1), and causing a boot loop.

The user script load address was increased to 0x50f00000, leaving 16MB
of free space for the initramfs, the current initramfs size is 9.52MB.

Tested: Build and install package on Pinephone 1.2a running PMOS 24.12.
[ci:skip-build]: already built successfully in CI
2025-01-05 13:46:07 +01:00
Andreas Kemnade 725cd09e9d device-kobo/tolino: workaround GPT handling bug in pmbootstrap (MR 5977)
Bootloader needs to be at 0x400 for IMX6 devices. That is ignored by
pmbootstrap which places the GPT header there. Revert to msdos partition
table style to workaround that bug.
2025-01-05 17:02:20 +09:00
Raihan Ahamed 609f3a5544 device-xiaomi-surya: add kernel subpackage (MR 5983)
for different panel variants, huaxing and tianma

fixes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3421
2025-01-04 21:35:59 +05:30
User0 a582db9591 linux-samsung-loganrelte: fix ssh over usb (MR 5975) 2025-01-04 15:44:17 +00:00
User0 06bbebcfe6 device-samsung-loganrelte: add display support (MR 5975)
[ci:skip-wiki]
2025-01-04 15:44:17 +00:00
Aster Boese 58d05acb35 linux-postmarketos-apple: make myself maintainer (MR 5978) 2025-01-05 00:11:34 +09:00
Aster Boese 035cdeddc8 apple-n61: rename from apple-iphone6 and make myself maintainer (MR 5978) 2025-01-05 00:11:34 +09:00
Nikita Travkin 0682021692 main/dtbloader: upgrade to 1.3.0 (MR 5981) 2025-01-04 17:29:33 +05:00
User0 7f6f72f7e9 samsung-loganrelte: new device (MR 5973)
What works:
* Flashing with heimdall and a SD card
* Networking over USB
* SSH over USB
* Splash screen (when booting from charging screen)

What doesn't work:
* Any other UI than "none" (they boot, but no graphics and no SSH)

Steps to flash:
* pmbootstrap init # Select samsung-loganrelte, select "none" as UI
* pmbootstrap build linux-samsung-loganrelte
* pmbootstrap build device-samsung-loganrelte
* pmbootstrap install --sdcard=/dev/sdX # doesn't boot from internal storage
* pmbootstrap flasher flash_kernel
2025-01-03 14:44:06 +00:00
Raymond Hackley 691a9b3dc6 samsung-fortuna: fix WCNSS NV config filename (MR 5957) 2025-01-03 23:29:28 +09:00
Frank Oltmanns 399121b800 linux-postmarketos-qcom-sdm845: Work-around call audio regressions (MR 5966)
Somehow enabling in-kernel PD mapper (introduced in 5b9f51b200dcb
"remoteproc: qcom: enable in-kernel PD mapper"), breaks the bottom mic
on xiaomi-beryllium (Poco F1) and distorts audio on OP6 (and possibly
OP6T). Temporarily disable it and log the rprocs in use until we better
understand what causes the issue.

Link: pmaports#3353
Link: pmaports#3320
Link: pmaports#3245
Link: pmaports#3253

Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
[ci:skip-build]: already built successfully in CI
2025-01-03 12:58:48 +01:00
Robert Mader 749904dd49 temp/libcamera: upgrade to 0.4.0 (MR 5948)
- drop some upstreamed patches
- add some tuning files with black levels

Release notes:
https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.4.0
2025-01-03 16:56:07 +09:00
Willow Barraco 33a86abe90 temp/conky: remove (MR 5967)
[ci:skip-build]: already built successfully in CI
2025-01-02 13:40:01 +01:00
Willow Barraco 6815bc8e3b main/postmarketos-ui-sxmo-de-sway: remove conky version constraint (MR 5967) 2025-01-02 13:39:58 +01:00
Willow Barraco 0f71ce1308 main/postmarketos-ui-sxmo-de-dwm: remove conky version constraint (MR 5967) 2025-01-02 13:39:54 +01:00
fossdd b2a684a49a main/postmarketos-base: set ANSI_COLOR in os-release (MR 5970)
For example systemd makes use of the color for the presentation color
when showing the OS name on the console
2025-01-02 05:32:02 +03:00
Clayton Craft c916869512 firmware-lenovo-21bx: drop bluetooth fw (MR 5963)
This is now in linux-firmware-qca
2025-01-01 12:05:42 +03:00
Barnabás Czémán a09ed3862b device-qcom-msm89x7: new device (MR 5693)
Replace xiaomi-riva and xiaomi-santoni device package with
this generic package.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2024-12-31 16:43:16 -08:00
Barnabás Czémán 5c91232144 soc-qcom-msm89x7: add initial soc package for msm89x7 devices (MR 5693) 2024-12-31 16:43:16 -08:00
Barnabás Czémán b61da3a499 linux-postmarketos-qcom-msm89x7: new package (MR 5693) 2024-12-31 16:43:16 -08:00
Ferass El Hafidi 45fcfc14ce bananapi-bpi-cm4-cm4io: new device (MR 5962)
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>

[ci:skip-build]: already built successfully in CI
2024-12-31 16:36:53 -08:00
Clayton Craft dcc527966d main/boot-deploy: use busybox sh (MR 5960)
boot-deploy uses 'local', which technically isn't POSIX-compliant
and if someone has 'sh' from something else that strictly adheres to
POSIX then boot-deploy will fail.
This is a workaround for https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/issues/38

[ci:skip-build]: already built successfully in CI
2024-12-31 10:58:25 -08:00
Stephan Gerhold 755132f651 main/postmarketos-initramfs: skip mounting /boot if rootfs is in fstab (MR 5920)
There is a special check in init_2nd.sh for older postmarketOS
installations that do not have a valid /etc/fstab file. When /boot does not
appear in fstab, it searches for the boot partition and mounts it manually.

However, /boot might be intentionally omitted in fstab, e.g. because we
just have a single rootfs partition that also contains /boot. In that case
it will wait forever, trying to find the missing boot partition.

The old installations do not have any entries in fstab, so fix this by
checking if the file is empty instead (with all comments and whitespace
removed).
[ci:skip-build]: already built successfully in CI
2024-12-30 15:46:02 -08:00
Stephan Gerhold 2965a659c8 Revert "main/postmarketos-initramfs: mount subpartitions if root or boot is missing (MR 5625)" (MR 5920)
This reverts commit 1259d74b09.

The main reason why that change was necessary is because we skipped
mounting subpartitions entirely if we found a potential root partition
(which could be simply a crypto_LUKS partition from a different distro).
Now that we look only for the actual root partition (based on the UUID),
this should not happen anymore.

Checking both conditions causes delays if there is no boot partition,
e.g. if pmOS was installed with --single-partition. Usually we don't need
to mount the boot partition anymore, because all needed files are part of
the initramfs. So let's drop the check for the boot partition again and
rely on the UUIDs to ensure we set up the correct partitions.
2024-12-30 15:46:01 -08:00
Stephan Gerhold 033d5f7985 main/postmarketos-initramfs: mount root partition we unlocked (MR 5920)
When using an encrypted installation of postmarketOS, the pmos_root_uuid=
on the cmdline only tells us the UUID of the crypto_LUKS partition. Once
the partition is unlocked, we perform the the old unreliable auto detection
again. This might mount the wrong partition if multiple installations of
pmOS are attached to the system.

After we unlock the root partition, we know exactly where the root
partition is supposed to be (= at /dev/mapper/root). Let's use that
directly instead of going through the whole detection sequence again.
2024-12-30 15:46:01 -08:00
Stephan Gerhold e5a1370ddd main/postmarketos-initramfs: don't fallback looking for root when given UUID or path (MR 5920)
Right now we fallback to the old behavior of searching for the "pmOS_root"
label when the root partition specified by pmos_root_uuid= on the cmdline
is not found. This works fine most of the time, but there are edge cases in
which this does not behave correctly. Problems occur especially if there
are multiple installations of pmOS (e.g. one on internal storage, and one
on USB drive/SD card). Depending on timing or enumeration order, the system
might boot into the wrong rootfs if the intended root partition shows up
too late.

For the boot partition we already enforce the UUID provided on the cmdline.
Let's apply the same for the root partition to ensure we always boot into
the correct root partition.
2024-12-30 15:46:01 -08:00
Jan Jasper de Kroon 0af3cf8732 device-pine64-pinephonepro: update keyboard config paths (MR 5956)
Update paths to keyboard configuration files to reflect PinePhone's
move from main to community device category.

[ci:skip-build]: already built successfully in CI
2024-12-29 19:39:54 +01:00
Anjandev Momi d48e3c3f8c kconfigcheck.toml: add comment explaining CONFIG_CRYPTO_MD4 (MR 5951)
[ci:skip-build]: already built successfully in CI
2024-12-29 12:16:21 +01:00
Alexandre Messier 848ea1fc81 device-htc-m8: enable initfs_extra for downstream kernel (MR 5919)
The full initramfs is now too big for the boot partition.

When building with the downstream kernel, use initfs-extra
to split the initramfs so it can fit again.

This is not an issue with mainline kernel since booting it
uses extlinux with lk2nd.

[ci:skip-vercheck]

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
[ci:skip-build]: already built successfully in CI
2024-12-28 09:40:50 +01:00
Alexandre Messier 710b9f8499 device-htc-m8: add lk2nd dependency (MR 5919)
Like most msm8974 devices, lk2nd is used to boot mainline linux on the
HTC One (M8).

Add it as a dependency of the mainline kernel build, so that it is built
when required. It can be flashed with 'pmbootstrap flasher flash_lk2nd'
while in the vendor bootloader fastboot mode.

Only extlinux mode is supported for mainline kernel, as otherwise the
initramfs is too big for the boot partition.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
2024-12-28 09:40:50 +01:00
Alexandre Messier 85c25d0c1c main/lk2nd: add support for HTC One (M8) (MR 5919)
To support the HTC One (M8), a new specific target is required
since it needs non-default values for mkbootimg.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
2024-12-28 09:40:47 +01:00
Duje Mihanović b18635e940 device-samsung-coreprimevelte: add touchscreen driver to initfs (MR 5952)
Add the imagis and 88pm886_regulator drivers to the initfs allowing the
software keyboard in the debug shell to work.

[ci:skip-build]: already built successfully in CI
2024-12-28 09:30:13 +01:00
Duje Mihanović d8eb869d12 firmware-samsung-pxa1908: depend OpenRC service on downstream subpackage (MR 5952)
Otherwise the service will be installed even if the mainline kernel is
selected.

Fixes: f59eac28b ("firmware-samsung-pxa1908: move openrc scripts to subpackage (MR 5688)")
2024-12-28 09:30:12 +01:00
Duje Mihanović 00ca589beb linux-samsung-coreprimevelte: upgrade to 6.13_rc4 (MR 5952) 2024-12-28 09:30:12 +01:00
Duje Mihanović dfdc8d2f9e device-samsung-coreprimevelte: use U-Boot (MR 5952)
Convert the device package to use U-Boot.

The U-Boot binary is gzipped and put into a U-Boot legacy uImage to
match what the factory bootloader's demands. The postmarketOS kernel,
initramfs and device tree are packed into a FIT and passed to U-Boot as
an initramfs.
2024-12-28 09:30:12 +01:00
Duje Mihanović bb7a87b47b u-boot-coreprimevelte: new aport (MR 5952)
Package U-Boot fork for samsung-coreprimevelte.
2024-12-28 09:30:12 +01:00
exkc 39830ce2f3 linux-postmarketos-marvell-dove: drop aport in favour of linux-postmarketos-marvell (MR 5938) 2024-12-28 14:02:14 +09:00
exkc 58ffcc6bd1 device-linksys-shelby: new device (MR 5938) 2024-12-28 14:02:14 +09:00
exkc a4b2fa217a device-solidrun-cubox: use linux-postmarketos-marvell kernel (MR 5938) 2024-12-28 14:02:04 +09:00
exkc bb5eb76814 linux-postmarketos-marvell: new aport (MR 5938)
Basically linux-postmarketos-marvell-dove but with fellow changes :

1. Added support for other marvell SoC

2. The local version has been changed to -postmarketos-marvell

3. Several redundant USB controller driver has been removed

4. CONFIG_SATA_MV is seted to y

5. fbdev is disabled

6. CONFIG_ZRAM_BACKEND_ZSTD it enabled
(due to kconfig config but i also enabled CONFIG_ZRAM_BACKEND_LZ4 and
others)

7. neon is enabled
2024-12-28 14:02:04 +09:00
hexaheximal 501db74b86 odroid-c4: new device (MR 5949) 2024-12-27 21:58:02 +09:00
Benjamin Valentin 1eab02a18d lk2nd-msm*: set partition type to msdos (MR 5945)
[ci:skip-build]
2024-12-26 20:29:23 -08:00
hexaheximal f7416c06d5 odroid-n2plus: new device (MR 5950) 2024-12-26 16:20:53 -05:00
Vitalii Skorkin 6587348337 temp/iio-sensor-proxy: increase delay (MR 5941)
On miatoll hexagonrpcd takes longer time to start
2024-12-26 17:39:11 +03:00
Vitalii Skorkin 6b1f3b752c device-xiaomi-miatoll: add dependencies for modem, sensors, wifi and gpu (MR 5941)
Add soc-qcom-sm7125, firmware-xiaomi-miatoll, hexagonrpcd as dependency.
This necessary to make Wi-Fi, Sensors, GPU and modem work.
Split device package to support panel variants and take
maintainership.
2024-12-26 17:39:07 +03:00
Vitalii Skorkin 259e574f49 soc-qcom-sm7125: add alsa ucm subpackage and drop pd-mapepr (MR 5941)
pd-mapper is now built into the kernel, so we don't need userspace pd-mapper
2024-12-26 17:39:02 +03:00
Vitalii Skorkin cedffcc304 firmware-xiaomi-miatoll: new aport (MR 5941) 2024-12-26 17:38:59 +03:00
Vitalii Skorkin 9cd58cd988 linux-postmarketos-qcom-sm7125: upgrade to 6.12.1 (MR 5941)
Upgrade linux-postmarketos-qcom-sm7125 to 6.12.1 and take
maintainership
2024-12-26 17:38:55 +03:00
Clayton Craft c8b58685f6 linux-valve-jupiter: fix checksum for config file
fixes !5943

[ci:skip-build]: already built successfully in CI
2024-12-24 11:59:49 -08:00
Arnav Singh 0bcce70122 device-pine64-pinephone: drop modem autorecovery udev rule (MR 5935)
eg25-manager 0.5.2 seems to be able to bring back the modem on its own again,
so this hack is no longer necessary.

[ci:skip-build]: already built successfully in CI
2024-12-24 14:35:37 +01:00
Hendra Manudinata a667218fa6 device-samsung-j4lte: remove unneeded kernel cmdline (MR 5936)
postmarketOS does not utilize SELinux. Besides, Samsung bootloader will
ignore cmdline from the boot image, anyway.
2024-12-24 21:15:53 +09:00
Hendra Manudinata bfdbb4a3a3 testing/device-samsung-j4lte: New device (MR 5936)
Successfully built and booted postmarketOS on Samsung Galaxy J4.
It's based on Exynos 7570, same SoC used by samsung-xcover4lte [1].

Currently, these are tested working:

  - Boots from internal storage
  - Display (console framebuffer is NOT working, kernel panics)
  - Framebuffer (additionally with msm-fb-refresher to refresh the screen)
  - Touchscreen
  - USB Networking (RNDIS)
  - Wi-Fi

Tested UI environments:

  - XFCE 4
  - Console (Kernel log doesn't show up because
    `CONFIG_FRAMEBUFFER_CONSOLE` is not enabled, but enabling it panics
    the kernel. This is a known issue for some Samsung devices, notably
samsung-crownlte [2].)

[1] https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Xcover_4_(samsung-xcover4lte)

[2] https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Note_9_(Exynos)_(samsung-crownlte)#Current_status
2024-12-24 21:14:59 +09:00
Anjandev Momi d506dbcb30 kconfigcheck: enable CRYPTO_MD4 for iwd (MR 5943)
see: #3386

[ci:skip-build]
2024-12-24 13:06:32 +01:00
Oliver Smith 7c7af9e1cd gitlab/issue_templates: add EOL for v24.06 2024-12-23 18:28:35 +01:00
Oliver Smith 671d61e642 channels.cfg: mark v24.12 as released \o/ 2024-12-23 18:17:21 +01:00
iAboothahir da2153b244 device-asus-x00td: generate extlinux config (MR 5937)
set deviceinfo_flash_kernel_on_update=true &&
set deviceinfo_generate_extlinux_config=true

Signed-off-by: iAboothahir <aboothahirpkd@gmail.com>
2024-12-23 16:21:30 +03:00
Jakob Hauser 7bf4268dfa main/postmarketos-ui-lxqt: save and restore brightness on boots (MR 5933)
LXQt can control the display brightness. It doesn't save and restore it
over boots, however. In distributions with systemd this is handled by
"systemd-backlight@.service". For OpenRC the package brightnessctl offers
a service saving the state of the brightness at shutdown and reboot.
2024-12-23 15:37:35 +03:00
Jakob Hauser dbf55cdb9d main/postmarketos-ui-lxqt: separate openrc and main post-install scripts (MR 5933) 2024-12-23 15:37:31 +03:00
Anjandev Momi c31bc1a1be community/linux-postmarketos-qcom-laptop: enable CRYPTO_MD4 (MR 5923)
closes #3386

Needed to fix eduroam iwd on qcom laptots. This config option used to be enabled on v24.06.
[ci:skip-build]: already built successfully in CI
2024-12-22 13:18:17 +01:00
Clayton Craft 3d1f84a2c8 device-pine64-pinephone: fix hw keys in the initramfs (MR 5931)
fixes #3384

[ci:skip-build]: already built successfully in CI
2024-12-20 16:26:10 -08:00
Adam Thiede 202d2d2154 linux-postmarketos-mediatek-mt8173: upgrade to 6.12.6 (MR 5929)
[ci:skip-build]: already built successfully in CI
2024-12-20 23:31:17 +01:00
postmarketOS CI dc2390e848 linux-next: upgrade to next-20241220 2024-12-20 19:56:22 +00:00
Ferass El Hafidi 38f522f798 device-postmarketos-trailblazer: drop deviceinfo_getty (MR 5926)
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-20 17:48:56 +00:00
Ferass El Hafidi 5ee51e105b device-postmarketos-trailblazer: add some modules for amlogic (MR 5926)
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-20 17:48:56 +00:00
Ferass El Hafidi 98605bb2d5 device-postmarketos-trailblazer: add myself as co-maintainer (MR 5926)
I want to help maintaining this generic device port.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-20 17:48:56 +00:00
Ferass El Hafidi 42560daf68 device-postmarketos-trailblazer: add a few more kernels (MR 5926)
Kernels added:
* linux-edge
* linux-lts
* linux-postmarketos-amlogic
* linux-postmarketos-qcom-laptop

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-20 17:48:56 +00:00
Richard Acayan dda11062b5 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20241211 (MR 5918)
[ci:skip-build]: already built successfully in CI
2024-12-20 18:15:31 +01:00
Sicelo A. Mhlongo f5b4473346 device-nokia-n900: move xdefaults to x11 subpackage (MR 5930)
The xdefaults file is not i3wm-specific, but can be used with any X11 UI the
user may want to try

[ci:skip-build]: already built successfully in CI
2024-12-20 15:31:26 +00:00
Sicelo A. Mhlongo 86fb190a34 device-nokia-n900: lock.sh: query touchscreen instead of display (MR 5930)
lock.sh is only reliable when used with i3wm, where we disable gpio_keys from
being handled by X/i3wm. When this is not done (e.g. when testing a different
X11 UI), the script becomes unreliable since the display turns on due to the
SCREENLOCK key being toggled, and therefore only the display=on case is ever
run.

Improve reliability of the script by basing the decision making on the
enabled/disabled state of the touchscreen instead.
2024-12-20 15:31:26 +00:00
Luca Weiss ccb0e43a6f linux-postmarketos-qcom-sm6350: upgrade to 6.12.4 (MR 5904)
[ci:skip-build]: already built successfully in CI
2024-12-20 16:15:58 +01:00
Oliver Smith ad0d82fbec device-pine64-pinephone: set partition_type=msdos (MR 5928)
Current pinephone images built pmbootstrap >= 3.0.0 don't boot on the
pinephone anymore. At least part of this must be the switch from GPT to
MBR that has been done by default in pmbootstrap. Set msdos explicitly
to revert this for the pinephone.

With Tow-Boot we could probably use GPT instead, but this should be a
well-tested, concious decision. Let's fix this regression first.

[ci:skip-build]: already built successfully in CI
2024-12-20 10:47:05 +01:00
postmarketOS CI 700dd6d775 linux-next: upgrade to next-20241219 2024-12-19 20:06:10 +00:00
Sicelo A. Mhlongo a092ed546a linux-postmarketos-omap: make AES builtin (MR 5925)
With AES built as a module, it is not possible to unlock the rootfs, at least
on the Nokia N900.

[ci:skip-build]: already built successfully in CI
2024-12-19 11:58:58 +02:00
panpantepan 8b455932f8 xiaomi-nabu: new device (MR 5804)
This adds Xiaomi Pad 5, it uses a close to mainline kernel on 6.12.0
the firmware is packaged and supported, although hexagonrpcd is not working yet.
this is a continuation from
https://github.com/map220v/postmarket_xiaomi_nabu/tree/test
updating its config and updating its components.
i based the hexagonrpcd bringup from xiaomi-elish and google-sargo

[ci:skip-build]: already built successfully in CI
2024-12-19 06:20:49 +03:00
Clayton Craft ec7a77f764 community/linux-postmarketos-allwinner: enable USB ACM module (MR 5922)
Allows using allwinner devices with usb devices that implement ACM (3d
printers, serial things, etc)
2024-12-18 17:47:39 -08:00
Android Piepaint 579b65d848 apple-tonga: new device (MR 5913) 2024-12-18 21:23:32 +09:00
postmarketOS CI 8f41b81707 linux-next: upgrade to next-20241218 2024-12-18 05:58:06 +00:00
Stephan Gerhold 35c98d44a8 main/postmarketos-initramfs: add cmdline to expose specific USB storage (MR 5912)
In addition to the pmos.debug-shell cmdline argument, add
pmos.usb-storage=<block-device> to set up the USB mass storage gadget by
default when going into debug shell. This allows building a special boot
image/option that directly exposes the storage for flashing, without having
to type in extra debug-shell commands.
2024-12-17 23:24:15 +03:00
Stephan Gerhold ce05d2d8ff main/postmarketos-initramfs: unify setup_usb_storage (MR 5912)
Right now we have two similar implementations of setting up a USB mass
storage gadget, in init_functions.sh and as separate script for the
debug-shell. Given that init_functions.sh is available in debug-shell
anyway, unify both in a common setup_usb_storage_configfs() function.

Having this included in the initramfs debug-shell by default (without
installing postmarketos-mkinitfs-hook-debug-shell) also simplifies
recovery, since you can set up the USB storage for repairing the flashed
postmarketOS installation in case of boot failures. The size overhead is
minimal, since this has no extra dependencies.
2024-12-17 23:24:15 +03:00
Alexey Min 854b37b98a device-xiaomi-clover: generate extlinux config (MR 5914)
So it can be booted using U-Boot bootstd method.

Signed-off-by: Alexey Min <alexey.min@gmail.com>
2024-12-17 22:52:46 +03:00
Alexey Min 6ea3a6db14 device-xiaomi-lavender: generate extlinux config (MR 5914)
So it can be booted using U-Boot bootstd method.

Signed-off-by: Alexey Min <alexey.min@gmail.com>
2024-12-17 22:52:32 +03:00
postmarketOS CI cad5fcbbe3 linux-next: upgrade to next-20241217 2024-12-17 05:59:47 +00:00
Oliver Smith 0260dfaa85 purism-librem5: move from main to community (MR 5911)
[ci:skip-vercheck], [ci:skip-build]: moving devices
2024-12-16 23:44:40 +01:00
Oliver Smith 230d684eee pine64-pinephone: move from main to community (MR 5911) 2024-12-16 23:23:44 +01:00
cosmo aa7eb4ed77 device-fairphone-fp5: add unl0kr quirk (MR 5910)
Added a config file to /etc/unl0kr.conf.d/ to fix issue with unl0kr
being invisible during boot.

Commit-Msg-Tweaked-By: Oliver Smith <ollieparanoid@postmarketos.org>
2024-12-16 23:12:28 +01:00
Caleb Connolly f261f55ea7 linux-postmarketos-qcom-sdm845: upgrade to 6.13-rc2 (MR 5902)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build]: already built successfully in CI
2024-12-16 23:06:29 +01:00
Stephan Gerhold f9174c6d05 main/postmarketos-initramfs: resize btrfs after mount (MR 5844)
BTRFS only supports online resizing. Right now we implement that by
temporarily mounting the file system, resizing it, and then unmounting it
again. But most of this is redundant since we mount the rootfs at /sysroot
immediately after.

Avoid this by splitting the file system resizing in offline resize (before
mount) and online resize (after mount) and resize BTRFS after mounting
/sysroot. For EXT4 we can either do offline resizing or online resizing.
Keep offline resizing for now for better compatibility with older kernels.
F2FS does not seem to support online resizing, so we need to keep the
functionality for offline resizing anyway.

Drop the splash for now, since it would introduce flickering on each boot.
We can restore it later if needed (ideally by adding a way to update the
splash message without restarting pbsplash).
2024-12-16 22:55:44 +01:00
Stephan Gerhold 8e2ce06af5 main/postmarketos-initramfs: don't resize ext4 with fsck errors (MR 5844)
Right now we use the resize2fs -f (force) option, which "Forces resize2fs
to proceed with the filesystem resize operation, overriding some safety
checks which resize2fs normally enforces." For example, this flag instructs
resize2fs to attempt resizing file systems with errors in some situations.

We primarily care about resizing the file system on initial boot, where we
shouldn't have any errors in the file system. For all other subsequent
boots, we shouldn't risk the filesystem data just to resize it again.
So let's drop the -f flag and only resize clean file systems.
2024-12-16 22:55:44 +01:00
Stephan Gerhold 892d5bb14f main/postmarketos-initramfs: always resize rootfs during boot (MR 5844)
At the moment, the root file system is only resized to span the entire
partition if we previously also resized the partition itself. However, if
a rootfs image without subpartitions is flashed to a pre-existing partition
this means that the installation only has very limited space available
without manual resizing.

Such a setup is used for devices using the "fastboot-bootpart" flasher
(e.g. asus-me176c), where boot and root images are flashed to two separate
partitions and the device boots directly from the boot partition.

Avoid this problem on these devices by always resizing the root file system
on each boot. All the resize tools exit early if the file system is already
expanded to the maximum size. It's faster to call resize2fs unconditionally
instead of manually checking if the file system needs resizing before.
Similar tooling like systemd-growfs also resizes unconditionally.
2024-12-16 22:55:39 +01:00
postmarketOS CI 839037e0d6 linux-next: upgrade to next-20241216 2024-12-16 19:59:39 +00:00
Oliver Smith da9d2f95e5 cross/busybox-static-*: upgrade to 1.37.0-r10 2024-12-15 12:36:04 +01:00
Raymond Hackley 3d7ac0d51a samsung-rossa: rename device from cprime and maintain (MR 5865)
[ci:skip-build]: already built successfully in CI
2024-12-15 08:32:17 +01:00
Raymond Hackley b4f94a4621 samsung-fortuna: simplify backwards compatibility (MR 5908)
[ci:skip-build]: already built successfully in CI
2024-12-15 08:18:17 +01:00
Fiona Klute 1b83a7647e main/postmarketos-base-ui: Fix growing number of tethering unudhcpd instances (MR 5905)
/usr/lib/NetworkManager/dispatcher.d/50-tethering.sh had a typo in the
"killall" command in the "disable_tethering" function, leading to it
never stopping any unudhcpd process. As a new instance is started each
time a USB cable is connected, so the number of instances kept growing
until reboot. Fix the typo so any old unudhcpd instance is actually
stopped before starting a new one.

To illustrate the bug, a sample with an uptime of 4 days:

$ ps w | grep unudhcpd
 2467 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 5009 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 5525 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 6360 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 7271 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 9356 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
11045 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
14779 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
15696 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
17454 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
19119 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
24729 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
25565 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
25691 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
27417 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
30649 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
31690 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
[ci:skip-build]: already built successfully in CI
2024-12-13 16:46:10 -08:00
Caleb Connolly 3becd343af soc-qcom-sdm845: update alsa UCM configs (MR 5901)
* reduce op6 default earpiece volume
* add symlinks to enable audio when booting with u-boot

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-12-13 09:37:44 +01:00
postmarketOS CI a236a9cce4 linux-next: upgrade to next-20241213 2024-12-13 05:59:45 +00:00
Oliver Smith e195bc11d9 main/postmarketos-artwork: set wallpaper: Dawning (MR 5900)
Related: https://fosstodon.org/@postmarketOS/113624366198561582

[ci:skip-build]: already built successfully in CI
2024-12-12 23:14:02 +01:00
Oliver Smith 22087e93c6 main/postmarketos-ui-gnome-mobile: fix gnome-mobile-extensions-app dep (MR 5899)
Fix the bug that prevented "pmbootstrap install" from working with
postmarketos-ui-gnome (not -mobile).

This bug has been here in pmaports for a long time, but until recent
changes in apk's resolver code, this did not fail (apk installed
gnome-extensions-app instead of gnome-mobile-extensions-app in that
scenario).

How it happened:
* postmarketos-ui-gnome has _pmb_recommends="gnome-extensions-app".
* pmbootstrap: pmb.install._install.get_recommends() works like this:
  1. Look at the packages i in _pmb_recommends of the packages that
     will be installed in "pmbootstrap install".
  2. For each package j in _pmb_recommends of i:
    2.1 Add all packages in j's _pmb_recommends to the list of
        packages to be installed.
    (2.2 Recurse by doing 1. with each package in j's _pmb_recommends.)
* In step 2:
  * pmaports doesn't have a gnome-extensions-app (it's in Alpine, a
    subpackage of gnome-shell).
  * Therefore our gnome-shell-mobile fork gets looked at, which has a
    gnome-mobile-extensions-app subpackage that provides
    gnome-extensions-app.
  * pmbootstrap looks at the _pmb_recommends of the gnome-shell-mobile
    package, which has "gnome-mobile-extensions-app" (this is wrong,
    it should be in postmarektos-ui-gnome-mobile instead and this patch
    fixes this!).
  * pmbootstrap adds the "gnome-mobile-extensions-app" to the list of
    packages to be installed.
* The result is an "apk add" line that has "postmarketos-ui-gnome" and
  "gnome-mobile-extensions-app" (and more packages), which results in a
  conflict betwen gnome and gnome-mobile packages.

Fixes: issue 3360
[ci:skip-vercheck]: _pmb_recommends changes don't need package rebuilds
[ci:skip-build]: already built successfully in CI
2024-12-12 22:01:59 +01:00
Raymond Hackley ccdf640439 main/postmarketos-base: add udev rules for imagis touchkey (MR 5358)
[ci:skip-build]: already built successfully in CI
2024-12-12 20:41:40 +01:00
Raymond Hackley 38691ceffa main/postmarketos-base: update comments in zinitix udev rules (MR 5358) 2024-12-12 20:41:40 +01:00
adamthiede 7f02b78afd postmarketos-base-ui-gnome: replace power-profiles-daemon dependency (MR 5820)
replace power-profiles-daemon with virtual package

[ci:skip-build]: already built successfully in CI
2024-12-12 20:37:49 +01:00
Stefan Hansson 52f58a9c09 linux-purism-librem5: upgrade to 6.6.63 (MR 5898)
[ci:skip-build]: already built successfully in CI
2024-12-12 20:22:50 +01:00
postmarketOS CI c74fd5fd85 linux-next: upgrade to next-20241212 2024-12-12 05:57:51 +00:00
Ferass El Hafidi cd1599baf8 testing/u-boot-librecomputer-lafrite: remove (MR 5897)
lafrite has u-boot in SPI already

it also prevents lafrite from booting because pmbootstrap uses GPT partitioning now.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-11 17:51:17 -08:00
Jan Jasper de Kroon 948ed6c7b9 linux-postmarketos-pinephonepro: upgrade to 6.11.11 (MR 5855)
[ci:skip-build]: already built successfully in CI
2024-12-11 20:48:28 +01:00
Jack Knightly 4059957c69 device-samsung-{m0,m3,t03g,t0lte}: add camera flash udev rule subpackage (MR 5888)
[ci:skip-build]: already built successfully in CI
2024-12-11 16:21:42 +01:00
Jack Knightly 02f54fca6f exynos4412: add udev rule for camera flash (MR 5888) 2024-12-11 16:21:42 +01:00
Jack Knightly 52d5adb068 linux-postmarketos-exynos4: add camera configs (MR 5888) 2024-12-11 13:41:15 +01:00
Cedric Busacker c38afdc20a samsung-kminilte: fix flashing via heimdall (MR 5890)
Fixes the problem that BOOT partition is only 10 MB big while boot.img is 13 MB now.
Also heimdall was stuck at 7% with the sparse flag this gets fixed.

[ci:skip-build]: already built successfully in CI
2024-12-11 12:46:14 +01:00
Oliver Smith c513182c82 gitlab/issue_template: add v24.12 2024-12-11 09:16:18 +01:00
Oliver Smith 0431845a82 main/postmarketos-release-upgrade: upgrade to 1.8.0 (MR 5894)
[ci:skip-build]: already built successfully in CI
2024-12-11 08:35:48 +01:00
postmarketOS CI aec1f74992 linux-next: upgrade to next-20241211 2024-12-11 05:59:41 +00:00
postmarketOS CI cd2778a888 linux-next: upgrade to next-20241210 2024-12-10 20:15:40 +00:00
Hendra Manudinata f0c4755878 testing/firmware-samsung-a51: Move a51 specific blobs to its own directory (MR 5887)
As @grimler stated in MR !5887 (comment) [1], samsung-jackpotlte,
samsung-xcover4lte, and samsung-a30 share the same name for Wi-Fi
proprietary blobs, and packaged in their own specific firmware package.

The problem is these firmware packages put files in the same directory
as `firmware-samsung-a51`: /lib/firmware/postmarketos/mx140/. This opens
up the probability of conflicting blobs when multiple firmware packages
are installed on the system, resulting in wrong blobs used.

To ensure that this firmware is located in its own directory, move
`samsung-a51` blobs into its own subdirectory. This way, `a51` blobs
will stay intact whether multiple firmware packages are installed.

[1] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5887#note_459185
2024-12-10 11:57:13 +01:00
Hendra Manudinata 6a01b409c3 testing/device-samsung-a51: New device (MR 5887)
Successfully built and booted postmarketOS on Samsung Galaxy A51. It's based on Exynos 9611 SoC.

Currently, these are tested working:

- Boots from internal storage
- Display (DECON driver needs to be patched. Included in the kernel package)
- Framebuffer (additionally with msm-fb-refresher to refresh the screen)
- Touchscreen
- USB Networking (RNDIS)
- Wi-Fi

Tested UI environments: XFCE 4 & Console.

Wiki: https://wiki.postmarketos.org/wiki/Samsung_Galaxy_A51_(samsung-a51)
2024-12-10 16:49:12 +07:00
Oliver Smith e9643f19db u-boot-pinephone: fix build with modern SWIG (MR 5893)
[ci:skip-build]: already built successfully in CI
2024-12-10 08:48:04 +01:00
Oliver Smith 4de559cf50 u-boot-librem5: fix build with modern SWIG (MR 5893) 2024-12-10 08:47:59 +01:00
Barnabás Czémán 99a17c5b0f main/lk2nd: upgrade to 20.0 (MR 5884)
Upgrade lk2nd to 20.0.

Additional changes:
- Add msm8996 subpackage
- Limit msm8953, msm8996, msm8952-xiaomi-land packages to aarch64.
2024-12-09 18:13:07 -08:00
Oliver Smith 6878ac727e main/postmarketos-initramfs: makedepend on postmarketos-base-nofde (MR 5891)
Ensure postmarketos-base-nofde is built before this package, otherwise
bootstrapping this on a new stable branch fails. This does not need to
be backported, as postmarketos-base-nofde has already been built for
v24.12.

Related: https://builds.sr.ht/~postmarketos/job/1384748
2024-12-09 18:06:48 -08:00
postmarketOS CI d1ec0a3ce6 linux-next: upgrade to next-20241209 2024-12-09 19:57:46 +00:00
Clayton Craft e74432fd0e main/postmarketos-base-ui: add NM connectivity config (MR 5659)
Fixes #1920

[ci:skip-build]: already built successfully in CI
2024-12-09 11:03:15 -08:00
Jakob Hauser dc751d558a main/postmarketos-ui-xfce4: set background for login greeter (MR 5889)
Actually Xfce4 is capable to use the "draw-user-backgrounds" option of
"slick-greeter", applying the users wallpaper on the greeter.

However, as it turns out, the users background in pmOS Xfce4 is set at first
login of the user. Therefore, the greeters background is black at the first
boot.

Therefore set the greeters background to the default postmarketOS wallpaper.
2024-12-08 21:15:16 +01:00
Oliver Smith e90e45cf71 main/postmarketos-base-ui-gnome: fix polkit conflict, pt. 2 (MR 5886)
Move the polkit-elogind into depends= instead of pmb_recommends=, so
packages depending on postmarketos-base-ui-gnome can build successfully
again. The previous fix only helped for "pmbootstrap install", this fix
will help for both cases.

Without this, e.g. postmarketos-base-ui-gnome-mobile fails to build:
https://builds.sr.ht/~postmarketos/job/1384469
[ci:skip-build]: already built successfully in CI
2024-12-08 15:09:44 +01:00
Oliver Smith 954fee6646 main/postmarketos-base-ui-gnome: fix polkit conflict (MR 5885)
Add polkit-elogind to _pmb_recommends, to help apk resolve the polkit
depends again. Otherwise it fails with a conflict since recent changes
in apk's dependency resolving code.

Fixes: issue 3349
[ci:skip-vercheck]: pmb_recommends change doesn't need rebuild
[ci:skip-build]: already built successfully in CI
2024-12-08 14:58:13 +01:00
Anjandev Momi d51e909387 main/postmarketos-ui-sxmo-de-{dwm/sxmo}: add comment on why pkgver must be bumped (MR 5878) 2024-12-08 12:51:46 +01:00
Oliver Smith d01b3c760a main/postmarketos-ui-sxmo-de-{dwm/sxmo}: fix conky dep (MR 5878)
Change <=…-r0 to <=…-r999 as it was just bumped to fix a build error and
might be bumped again in the future. I've also tried just removing -r0,
but that results in a conflict.
2024-12-08 12:50:30 +01:00
Richard Acayan e6b5b4046f linux-postmarketos-qcom-sdm670: upgrade to v6.12.3 (MR 5881)
The Linux stable team merged v6.12 into linux-rolling-stable as
of Thursday, so here's a new release.

This release cycle was very quiet with small fixes.

The ttynull driver was enabled in the configuration to fix a bug
where userspace would start with no stdio open.

A patch that made the fuel gauge driver compatible with v6.10
was dropped.

Patches from MSM8916 and MSM8953 were re-picked, to include the change
from strlcpy to strscpy and to remove duplicate q6voice entries in a
Makefile.

Some flashlight and charging patches were staged.

The thermal nodes were sorted by the thermal sensor to match
other platforms.

Bluetooth, camera, call audio, display, USB, I2C, eMMC, modem, video
acceleration, WiFi, haptics, NFC, sensors, and touchscreen should
work and be slightly broken like before.
2024-12-07 22:54:10 -08:00
Ferass El Hafidi 05d9b25643 amlogic: switch partition_type to msdos (MR 5883)
After commit 8335d050bf24977afefee6612dd347abd555bc53 in pmbootstrap the
partition table now defaults to GPT instead of MBR.  This breaks booting
on Amlogic devices for the following reasons:

 * On set-top boxes: downstream U-Boot most likely does not have GPT
   support
 * On boards where we install mainline U-Boot as BL33 on eMMC/SD: the
   bootROM checks for an `@AML` image header at offset 512 (second LBA),
   which means we are basically stuck on MBR

Some Amlogic boards have U-Boot + the proprietary Amlogic firmware
stages in SPI flash (mainly the Libre Computer boards do), which means
they can use GPT, because the firmware is simply not stored on eMMC/SD.
For that reason I chose not to change the partition table on those.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-12-08 12:22:30 +09:00
Adam Thiede 05958311ee linux-postmarketos-mediatek-mt8173: upgrade to 6.12.3 (MR 5879)
[ci:skip-build]: already built successfully in CI
2024-12-07 10:38:46 +01:00
Jianhua Lu ec0a8ecf13 firmware-qcom-adreno: upgrade to 20241110, add gen70500 (MR 5882)
[ci:skip-build]: already built successfully in CI
2024-12-07 10:27:20 +01:00
Anri Dellal b22ec1522a .ci/testcases/test_device.py: fix TypeError errors (MR 5863)
Fix TypeError when RuntimeError is thrown

Example:
FAILED testcases/test_device.py::test_aports_device -
	TypeError: can only concatenate str (not "PosixPath") to str
2024-12-06 23:11:16 -08:00
Raymond Hackley 660518e165 samsung-fortuna: merge devices from fortuna3g, gprimeltecan and grandprimelte and maintain
Merge the following Samsung Galaxy Grand Prime devices into
samsung-fortuna:
- samsung-fortuna3g
- samsung-fortunaltezt (firmware only due to armv7 architecture)
- samsung-gprimeltecan
- samsung-grandprimelte (was samsung-gprimeltexx)
2024-12-07 05:21:51 +00:00
postmarketOS CI a96584537e linux-next: upgrade to next-20241206 2024-12-06 19:59:38 +00:00
Jan Jasper de Kroon f4ae4180e2 linux-pine64-pinephonepro: fix disk encryption deadlock on RK3399 (MR 5870)
Resolves deadlock between Rockchip crypto hardware and dm-crypt causing
kernel panic during disk decryption on devices like PinePhone Pro.

- Disables RK3399 hardware crypto engine (CONFIG_CRYPTO_DEV_ROCKCHIP)
- Enables ARM64 CPU crypto extensions for AES/SHA
- Makes core crypto components built-in instead of modules

Fixes: kernel panic in queued_spin_lock_slowpath() when accessing
encrypted devices.
[ci:skip-build]: already built successfully in CI
2024-12-06 14:34:02 +01:00
Jianhua Lu 0104485272 CODEOWNERS: add Jianhua Lu to device-xiaomi-elish maintainership (MR 5832)
[ci:skip-vercheck]
2024-12-05 23:39:47 -08:00
Jianhua Lu 7eaa286e9c device-xiaomi-elish: Move from testing to community (MR 5832) 2024-12-05 23:37:26 -08:00
Oliver Smith 04d707acbf channels: update v24.12 branch_aports 2024-12-06 00:01:57 +01:00
Frank Oltmanns 8d49f8782b soc-qcom-sdm845: update ucm conf to fix poco f1 mic during calls (MR 5860)
Update ucm conf to a version that contains a workaround to get the
bottom mic working again in voice calls.

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3322
[ci:skip-build]: already built successfully in CI
2024-12-05 23:43:58 +01:00
Stephan Gerhold 85e0c1f0ba main/postmarketos-initramfs: start mdev/udev before setting up USB (MR 5852)
There might be additional kernel modules needed for the USB UDC to show up.
This used to work fine, but broke when the initramfs was unified with the
minimal one. We need to load modules/start udev before setting up USB.

Fix this by duplicating the setup calls in both init.sh and init_2nd.sh.
Both calls already have checks to allow calling them multiple times,
so we don't need to handle the initramfs-extra case in a special way.
[ci:skip-build]: already built successfully in CI
2024-12-05 23:38:52 +01:00
Alistair Francis 49e70bd5f5 temp/iio-sensor-proxy: Support set_polling (MR 5853)
In order to reduce the power usage when using sensors let's implement
set_polling as described [1]. The patch was linked in the MR that adds
libssc support [2] and is from [3].

An alternative implementation is also avaliable [4], but that seems to
have GLib threading issues [5].

1: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2455#note_453587
2: https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/381#note_2567822
3: https://gitlab.freedesktop.org/verdre/iio-sensor-proxy/-/commit/7a7a5f3ea04ff4c134f3dbbbc005b8c26d0af300
4: https://gitlab.freedesktop.org/verdre/iio-sensor-proxy/-/commit/74a5860474b6e79cd6e3be13d1ff8dd9cd810b8b
5: https://mastodon.social/@verdre/113390737074625004

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-12-05 23:32:45 +01:00
Oliver Smith 1ba238d37e main/postmarketos-base-nofde: split from postmarketos-base (MR 5875)
Split -nofde into a separate package to resolve the cyclic depenency:
postmarketos-base -> postmarketos-initramfs -> postmarketos-base-nofde

Fixes: issue 3236
[ci:skip-build]: already built successfully in CI
2024-12-05 22:40:04 +01:00
Oliver Smith 278bdcc619 main/postmarketos-cros-common: add makedepends (MR 5876)
Fill out makedepends, so pmbootstrap and bpo know that these packages
need to be built before building postmarketos-cros-common, because it
has subpackages depending on these packages. Without this,
bootstrapping v24.12 currently fails:
https://builds.sr.ht/~postmarketos/job/1381582

This is intended behavior, abuild works the same way:
https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10138

[ci:skip-build]: already built successfully in CI
2024-12-05 22:35:17 +01:00
Willow Barraco ec694630cb temp/conky: fix build (MR 5877)
[ci:skip-build]: Oliver verified locally that it builds
2024-12-05 22:08:18 +01:00
Clayton Craft a56982b79f linux-lenovo-21bx: drop (MR 5837)
[ci:skip-build]: already built successfully in CI
2024-12-05 11:59:56 -08:00
Clayton Craft 924a78b271 device-lenovo-21bx: use linux-pmos-qcom-laptop kernel (MR 5837) 2024-12-05 11:59:56 -08:00
Clayton Craft eb2b5cd458 linux-postmarketos-qcom-laptop: new aport (MR 5837)
This is a generic kernel for qcom laptops (sc8280xp & x1e), meant to
replace the lenovo-21bx kernel for the x13s.

- Uses johan_defconfig as base, and includes Minecrell's pmos.config
- Adds some extra kconfig for supporting virtualization
2024-12-05 11:59:56 -08:00
postmarketOS CI 59b4992428 linux-next: upgrade to next-20241205 2024-12-05 19:57:19 +00:00
Maarten van Gompel 2d4f8429ea postmarketos-ui-sxmo-*: upgrade to 1.17.1 (MR 5869)
[ci:skip-build]: already built successfully in CI
2024-12-05 11:16:13 -08:00
Oliver Smith 0420dc57f2 cross/musl-*: upgrade to 1.2.5-r8 2024-12-04 22:06:13 +01:00
postmarketOS CI cde8d7149a linux-next: upgrade to next-20241204 2024-12-04 19:57:24 +00:00
Sicelo A. Mhlongo 5f059f959e device-nokia-n900: do not use upower for low-battery shutdown (MR 5868)
As of upower 1.90.5, it is possible to configure upower to not take an action
when the battery capacity is reported as critically low. Since the Nokia N900
now monitors its battery capacity using udev scripts, which is more accurate
than upower's calculation, enable the new ignore feature for the N900.
2024-12-04 17:25:12 +01:00
Sicelo A. Mhlongo ea97c08fa6 device-nokia-n900: implement udev-based battery monitoring (MR 5868)
The bq27200 fuel gauge depends on its battery-backed memory for capacity
reporting. If the supply is off for some time, the fuel gauge's last known
capacity is reset, after which a capacity value can only be read after a
full charge cycle. Thus, most of the time, as used on the Nokia N900, the
reported percentage cannot be relied on for making power-off decisions on
battery low conditions, e.g. through UPower.

However the fuel gauge can very accurately detect and report a low battery
condition internally, even if the reported capacity is incorrect, e.g. when
it has been reset. The low battery condition is reported by the kernel via
capacity_level in sysfs, and also generates uevents.

So we can implement safe battery shutdown by requesting the kernel to more
regularly polling for status changes, then performing an immediate shutdown
when the capacity_level is reported as Low and the device is not charging.
2024-12-04 17:25:12 +01:00
Sicelo A. Mhlongo 06aaf0abe4 device-nokia-n900: update urxvt font (MR 5868)
pmos now defaults to droid sans font
2024-12-04 17:25:12 +01:00
Sicelo A. Mhlongo 64dcfb004a device-nokia-n900: cleanup modem udev rules (MR 5868)
Do not duplicate udev rules that are also shipped by upstream
2024-12-04 17:25:12 +01:00
Sicelo A. Mhlongo fdd064430e device-nokia-n900: drop sxmo-specific sub-package (MR 5868)
The deviceprofile is now in a tagged sxmo release.

The conky issue will be mentioned in wiki for users to manually disable, until
upstream allows toggling it.
2024-12-04 17:25:03 +01:00
Caleb Connolly 1c3296a63a githooks: ignore unstaged hunks of APKBUILD (MR 5807)
It's possible that additional sources have been made to an APKBUILD
which are unstaged, but if the hunks adding those sources haven't been
staged either then it doesn't make sense to fail on this.

Use git show to get only the staged hunks for the APKBUILD.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-12-04 16:17:36 +01:00
postmarketOS CI b76e61f7b4 linux-next: upgrade to next-20241203 2024-12-04 06:10:55 +00:00
Oliver Smith d056729300 main/postmarketos-base: pmb_recommends: add doas-sudo-shim (MR 5867)
Fix the following error during "pmbootstrap install":

  ERROR: unable to select packages:
    sudo-1.9.16_p1-r1:
      conflicts: doas-sudo-shim-0.1.1-r1[cmd:sudo=1.9.16_p1-r1]
      breaks: doas-sudo-shim-0.1.1-r1[!sudo]
      satisfies: postmarketos-base-38-r0[sudo-virt]
                 postmarketos-base-nofde-38-r0[sudo-virt]
    doas-sudo-shim-0.1.1-r1:
      conflicts: sudo-1.9.16_p1-r1[cmd:sudo=0.1.1-r1]
      satisfies: postmarketos-base-doas-38-r0[doas-sudo-shim]
                 postmarketos-base-38-r0[sudo-virt]
                 postmarketos-base-nofde-38-r0[sudo-virt]

How the error gets triggered:
* postmarketos-base depends on sudo-virt. During "pmbootstrap install",
  pmbootstrap has to resolve this to a sudo implementation (sudo, doas,
  ...).
* pmbootstrap does this by looking at the packages that get installed
  at the same time. Before this patch we did not install doas-sudo-shim
  directly through _pmb_recommends, only indirectly through a
  postmarketos-base-doas subpackage that pulls doas-sudo-shim in via
  install_if.
* pmbootstrap cannot look at install_if as it resolves dependencies,
  so it has to pick one and goes for "sudo".
* pmbootstrap tells apk to install a list of packages including "sudo",
  and because apk also resolves install_if correctly, the solver fails
  at the conflict between "doas-sudo-shim" and "sudo". (This only fails
  since apk-tools-static 2.14.6-r0, apparently beforehand apk just
  installed "doas-sudo-shim" in this scenario.)

Teaching pmbootstrap to look at install_if while resolving packages
would be one way to fix this. But it would be a lot of effort, not
feasible to quickly stop the problem at hand that breaks "pmbootstrap
install" for all edge installs. IMHO it is not worth implementing this
at all in pmbootstrap, as it is just supposed to do some more or less
basic package resolving until apk takes over and does it properly.

Put doas-sudo-shim in _pmb_recommends so pmbootstrap knows that this is
the sudo implementation we want without looking at install_if.

Remove the now obsolete postmarketos-base-doas subpackage. This will
lead to doas-sudo-shim getting removed for old installations on upgrade,
but it can easily be installed back (doas add doas-sudo-shim). I'll make
an edge post about it and put it in the v24.12 release notes. If we
don't remove it here, we would need to keep this legacy subpackage
around forever and I'd rather avoid that to reduce maintenance effort.

Another alternative to this was removing sudo-virt from depends="". But
that would lead to sudo getting uninstalled for users upgrading from
old releases from before we had doas in pmb_recommends, so I've decided
against it.

Fixes: pmaports issue 3340
2024-12-01 15:27:05 +01:00
dabao1955 2ebc5dcbdc README.md: fix typo (MR 5862)
[ci:skip-build]: already built successfully in CI
2024-11-30 14:31:19 +01:00
Arnav Singh 578bd8f983 linux-postmarketos-allwinner: upgrade to 6.12.1_git20241127 (MR 5858) 2024-11-29 22:58:42 -08:00
Daniel LangbeinandClayton Craft 2c07e2d38f README.md: add short explanation of this repository (MR 5841)
Inspired by the Alpine aports README: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/README.md?ref_type=heads

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
2024-11-30 09:16:47 +09:00
Richard Acayan 8834db0ffb linux-postmarketos-qcom-sdm670: enable null tty (MR 5856)
The Google Pixel 3a automatically appends console=null to the command
line. In the kernel, the preferred console is set to ttynull. Since
ttynull is not automatically enabled, a warning is currently emitted:

	[    0.909853] Warning: unable to open an initial console.

This also causes stdin, stdout, and stderr to be missing from the init
process.

In the busybox implementation, syslogd creates the /dev/log socket and
opens /dev/kmsg. This happens just before daemonizing, which opens
/dev/null and aliases stdin, stdout, and stderr to it. After daemonizing
and potentially closing the socket, stdin is aliased to the socket to
save stack memory. If the program starts without stdin under Linux, the
socket gains the constant STDIN_FILENO file descriptor, which is cleared
when daemonizing.

Syscalls when the 0, 1, 2 file descriptors aren't open:

	socket(AF_UNIX, SOCK_DGRAM, 0)    = 0
	openat(AT_FDCWD, "/dev/kmsg", O_WRONLY|O_LARGEFILE) = 1
	openat(AT_FDCWD, "/dev/null", O_RDWR|O_LARGEFILE) = 2

Enable the CONFIG_NULL_TTY option and update the configuration to allow
the kernel to open stdin, stdout, and stderr for the init and (by
inheritance) syslogd processes. It's technically an expert option but
isn't enabled by default (and can be enabled in config fragments).

Closes #3269
[ci:skip-build]: already built successfully in CI
2024-11-29 04:15:20 +03:00
Jakob Hauser e60c77ac7a main/postmarketos-ui-{mate,xfce4}: switch to slick-greeter (MR 5805)
The main goal of switching LightDM to slick-greeter is to ease
enabling/disabling autologin. With "lightdm-settings" installed, there
is an administration/settings GUI "Login Window" available that allows
among others to configure autologin. Contrary to its general purpose
name, it works on LightDM greeter "slick-greeter" only.

[ci:skip-build]: already built successfully in CI
2024-11-28 21:37:35 +01:00
Jakob Hauser 8379700a13 main/postmarketos-ui-xfce4: clean up package section (MR 5805)
Use install "-t" option, avoiding to repeat the file name and allowing to add
more than one file per command. Additionally sort the commands alphabetically
per path.

Exception is the lightdm autologin config file because it does a file renaming.
Put this command to the end.
2024-11-28 21:37:35 +01:00
Jakob Hauser 15ee5d968a main/postmarketos-ui-{mate,xfce4}: remove tinydm line from post-install (MR 5805)
The line has been long enough in the script.
2024-11-28 21:37:32 +01:00
Clayton Craft bccbfbc90e kconfigcheck: add new category for virtualization support (MR 5843)
For including options to making sure KVM (and others later) is enabled
in the kernel.

[ci:skip-build]: already built successfully in CI
2024-11-28 21:12:21 +01:00
Sicelo A. Mhlongo f7f49b3416 linux-postmarketos-omap: n900: bq27xxx: generate events in changes to status flags (MR 5857)
bq27xxx_battery has a check for status flags in order to detect changes
and report to userspace. However, the cached flags are updated before
checking for changes, hence no flag-related events are ever sent. This
patch fixes this behavior, and has been sent upstream.

[ci:skip-build]: already built successfully in CI
2024-11-28 20:51:10 +01:00
postmarketOS CI 9b13e1ee5a linux-next: upgrade to next-20241128 2024-11-28 06:00:21 +00:00
Aster Boese 3589a3be15 main/postmarketos-initramfs: fix filesystem detection regex (MR 5812)
Changes the regex of the initramfs to make sure that it is searching for
filesystem type instead of any type (eg partition scheme type).
2024-11-27 18:30:21 +00:00
Barnabás Czémán 0a49f8ebc1 device-qcom-msm8953: move to community (MR 5800)
Replace individual msm8953 xiaomi packages with generic msm8953 package.
Move device-xaiomi-daisy-fake-goodix package to the generic device
package.

[ci:ignore-count] [ci:skip-vercheck]
2024-11-27 23:00:13 +09:00
Lin, Meng-Bo 42749e6dc8 samsung-j3ltetw: maintain device (MR 5851) 2024-11-27 16:46:58 +03:00
Lin, Meng-Bo 149033e513 samsung-fortunaltezt: maintain device (MR 5851) 2024-11-27 16:46:58 +03:00
Luca Weiss dde59c8f50 linux-postmarketos-qcom-sc7280: upgrade to 6.12.0 (MR 5821)
Manual kconfig changes:
* EEPROM_AT24
* VIDEO_IMX858
* VIDEO_QCOM_CAMSS
* VIDEO_S5KJN1
2024-11-27 22:24:50 +09:00
Maarten van Gompel 634a87c2f9 postmarketos-ui-sxmo-*: upgrade to 1.17.0 (MR 5854)
[ci:skip-build]: already built successfully in CI
2024-11-27 08:02:40 +01:00
postmarketOS CI 112e48b348 linux-next: upgrade to next-20241127 2024-11-27 06:00:03 +00:00
Jianhua Lu e4e0c10048 device-xiaomi-elish: include more modules and firmwares to initramfs (MR 5830)
[ci:skip-build]: already built successfully in CI
2024-11-26 14:28:26 +01:00
Jianhua Lu 03d04f20d1 firmware-xiaomi-elish: include firmware files to initramfs (MR 5830) 2024-11-26 14:28:26 +01:00
Jianhua Lu 412ace8335 linux-postmarketos-qcom-sm8250: upgrade to 6.12.0 (MR 5830) 2024-11-26 14:28:26 +01:00
postmarketOS CI edefb3dfa0 linux-next: upgrade to next-20241126 2024-11-26 05:57:36 +00:00
Jakob Hauser ff1db54205 device-qemu-*: move X11 config file from /etc to /usr (MR 5809)
As it's delivered by the distro, it should go into /usr.
2024-11-25 23:35:10 +09:00
Iuri Jikidze be05b7e3d0 device-samsung-logands: add initfs_extra (MR 5850) 2024-11-25 21:01:17 +09:00
Patriot-06 9c178c75a0 realme-x3: new device (Realme X3) (MR 5839)
Signed-off-by: Patriot-06 <mbmc172@gmail.com>
2024-11-25 20:34:14 +09:00
postmarketOS CI 61ebd242c9 linux-next: upgrade to next-20241125 2024-11-25 06:00:21 +00:00
Danct12 6d1184c01f device-pine64-pinetab2: upgrade to kernel 6.12.1-danctnix1 (MR 5849)
Upgrade to the new v6.12.1 kernel from the vendor.

Also disabled unnecessary erratas (they're platform-specific).
2024-11-24 23:06:31 +09:00
Oliver Smith 8423a52017 cross/busybox-static-*: upgrade to 1.37.0-r8 2024-11-24 12:08:59 +01:00
Oliver Smith 9028e0cf0c cross/musl-*: upgrade to 1.2.5-r7 2024-11-24 12:08:55 +01:00
Oliver Smith 864873e463 linux-htc-flounder: add V=1 workaround (MR 5848)
Add a workaround so the kernel compile output is not silent (which leads
to pmbootstrap aborting the build). This will be fixed once upgrading to
linux >= 6.2.

Related: pmaports issue 1990
[ci:skip-build]: already built successfully in CI
2024-11-24 12:00:56 +01:00
Stephan Gerhold ae57a82b67 device-samsung-serranove: drop display panel workaround (MR 5847)
In linux-postmarketos-qcom-msm8916 this is fixed properly thanks to a patch
from Jakob Hauser. The cmdline parameter is no longer necessary, and just
causes the display to be horizontally flipped again.

[ci:skip-build]: already built successfully in CI
2024-11-24 11:27:02 +01:00
Stephan Gerhold 053a486241 linux-postmarketos-qcom-msm8916: upgrade to 6.12.1 (MR 5847)
- Update to Linux v6.12.1
- Lots of cleanup and upstreaming, more than 30 commits upstreamed since 6.7
- Various defconfig updates

Device changes:
  - Acer a1-724 gains sound/modem, mount-matrix, simple-framebuffer display
  - L8910/l9100 (BQ Aquaris X5/M5) gain rgb led
  - More variants of Lenovo Vibe K5 supported
  - grandmax gains touchkeys
  - heatqlte gains backlight
  - gplus fl8005a gains modem, display, battery
  - serranove gains hardware-side display flip and brightness control

New devices:
  - Fareastone Smart 506
  - Lenovo Yoga Tab 3 10 LTE
  - Vivo Y21L
  - ZTE N818s (sapphire)
2024-11-24 11:26:58 +01:00
Oliver Smith 2602662717 linux-postmarketos-omap: enable ZRAM_BACKEND_ZSTD (MR 5846)
[ci:skip-build]: I've built it locally
2024-11-24 11:03:40 +01:00
Mithil Bavishi c3bac23fd3 linux-postmarketos-omap: upgrade to 6.12.1 (MR 5846)
[ci:skip-build]: already built successfully in CI
2024-11-24 10:52:36 +01:00
Robert Eckelmann 29e1a5f6c6 linux-purism-librem5: add CONFIG_CRYPTO_ZSTD (MR 5835)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>

[ci:ignore-count]: We meant to change many packages
[ci:skip-build]: already built successfully in CI
2024-11-24 09:31:47 +01:00
Robert Eckelmann 1c17f832f3 linux-postmarketos-qcom{msm8974,msm8994,sc7280,sm6115,sm6350}: add CONFIG_CRYPTO_ZSTD/CONFIG_ZRAM_BACKEND_ZSTD (MR 5835)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-24 09:31:22 +01:00
Robert Eckelmann f2f1c4f138 linux-postmarketos-amlogic: add CONFIG_CRYPTO_ZSTD (MR 5835)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-24 09:31:21 +01:00
Robert Eckelmann 13947dff65 linux-htc-flounder: add CONFIG_CRYPTO_ZSTD (MR 5835)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-24 09:31:21 +01:00
Robert Eckelmann 1cb8193d30 linux-postmarketos-grate: add CONFIG_CRYPTO_ZSTD (MR 5835)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-24 09:31:21 +01:00
Stephan Gerhold 9c55a40724 linux-volla-mimameid: drop ZRAM kconfigcheck (MR 5835)
Linux 4.14.186 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to the default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.

[ci:skip-vercheck]: no rebuild needed
2024-11-24 09:31:21 +01:00
Stephan Gerhold 8969b0159b linux-samsung-jxelte: drop ZRAM kconfigcheck (MR 5835)
Linux 3.18.14 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.

[ci:skip-vercheck]: no rebuild needed
2024-11-24 09:31:21 +01:00
Stephan Gerhold 3acdb58155 kconfigcheck: Fix ZRAM checks (MR 5835)
main/postmarketos-base/rootfs-etc-conf.d-zram-init configures zstd as our
default ZRAM configuration, but the kconfigcheck only checks for LZ4 at the
moment. Because of this some of our kernels don't actually have ZSTD
support enabled and end up using the default compression algorithm.

For Linux >=4.18 we should enable CONFIG_CRYPTO_ZSTD to enable ZSTD support
for ZRAM.

In Linux >=6.12 the configuration was changed to CONFIG_ZRAM_BACKEND_ZSTD.
This requires manual edits while upgrading, otherwise only LZO support will
remain enabled.

Checking for >=3.14.0 additionally does not make any sense, because the
kconfig check should not be enabled for kernels that cannot satisfy our
minimum requirements.

Describe this properly in kconfigcheck.toml to ensure kernels are
configured correctly.

The following kernels are currently missing the correct options:

config-htc-flounder.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-amlogic.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-grate.armv7: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-qcom-msm8974.armv7: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-qcom-sc7280.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-qcom-sm6115.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-postmarketos-qcom-sm6350.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-purism-librem5.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)

The following kernels are too old to support CONFIG_CRYPTO_ZSTD:

config-samsung-jxelte.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
config-volla-mimameid.aarch64: CONFIG_CRYPTO_ZSTD should be set (category:zram)
2024-11-24 09:31:21 +01:00
Caleb Connolly 34ad0ba568 postmarketos-base-ui: depend on xdg-utils (MR 5811)
Many parts of the Linux desktop (apps, tools, scripts, etc) all expect
xdg-open and friends to be installed.

Since these utilities are tiny and (usually) ubiquitous, let's make sure
our UIs all depend on them.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-11-24 15:36:02 +09:00
Mithil Bavishi 627e427cab device-samsung-espresso*: use initramfs extra (MR 5845)
[ci:skip-build]: already built successfully in CI
2024-11-23 21:29:32 +01:00
Stefan Hansson 207873d698 linux-purism-librem5: upgrade to 6.6.57 (MR 5815)
[ci:skip-build]: already built successfully in CI
2024-11-22 23:23:36 -08:00
Barnabás Czémán 13093eea02 device-qcom-msm8953: set partition type to msdos (MR 5818)
Set partition type to msdos because lk2nd does not
support gpt yet.

[ci:skip-build]: already built successfully in CI
2024-11-22 23:20:54 -08:00
Stefan Hansson e1be115971 CI: Don't bother with main/linux-*/config-* in kconfig check (MR 5838)
We haven't had kernels in main/ for soon three years[1], so no need
to bother checking this location.

 [1]: See commits 47d8f823..8f24fe3a
[ci:skip-build]: already built successfully in CI
2024-11-22 22:49:25 -08:00
postmarketOS CI c017365d9c linux-next: upgrade to next-20241122 2024-11-22 19:59:57 +00:00
Barnabás Czémán ed7cfa4163 device-qcom-msm8953: add qbootctl as a dependency (MR 5828)
Add qbootctl as dependency msm-firmware-loader needs it
for A/B devices like xiaomi-daisy and xiaomi-tissot.

[ci:skip-build]: already built successfully in CI
2024-11-22 12:51:36 +01:00
Stephan Gerhold 22f96f6dba main/postmarketos-initramfs: add missing USB gadget modules (MR 5795)
init_functions.sh makes use of the mass_storage and acm USB gadget
functions for error reporting, but the necessary kernel modules are not
included in the initramfs at the moment. Because of this, the functionality
works only on kernels where all these USB gadget functions are built-in and
not built as modules.

Add the missing modules and fix the sort order while at it.

[ci:skip-build]: bug in CI prevents build testing armv7, succeeded locally
2024-11-21 23:18:20 +01:00
postmarketOS CI c93cbc2c6a linux-next: upgrade to next-20241121 2024-11-21 19:57:56 +00:00
methanal ecb1c7fa21 CI: deviceinfo: allow inline comments (MR 5766)
The current test script disallows these kinds of comments:
  deviceinfo_some_variable="some_value" # an inline comment

Since deviceinfo is essentially a shell script, it does make sense to
allow inline comments. It is relatively simple to implement as well, by
adjusting the regex.
[ci:skip-build]: already built successfully in CI
2024-11-21 13:19:09 +01:00
Petr Vorel ea3904055a linux-postmarketos-qcom-msm8994: upgrade 6.12 (MR 5827)
Patch adding LG G4 (H815) support got upstreamed in v6.12-rc1 mainline
kernel (it's slightly different than the patch used here).

Add python3 to makedepends (required from v6.10-rc1
0fddd045f88e ("drm/msm: generate headers on the fly")).

Signed-off-by: Petr Vorel <pvorel@suse.cz>
2024-11-20 17:51:24 -08:00
fossdd adb58f61f8 firmware-motorola-osprey: move maintainership to Minecrell (MR 5822)
As discussed in https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2979

[ci:skip-build]: already built successfully in CI
2024-11-20 22:31:34 +01:00
fossdd b607c97b1d main/postmarketos-base-ui-gnome: add accidently removed line (MR 5833)
Follow-up of https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5824.

Accidently removed `decibels` in a MR revision:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5824/diffs?diff_id=27482&start_sha=a5318d3eef5f6d08c08e086098a42af461f768fe

[ci:skip-vercheck]
2024-11-20 21:59:30 +01:00
Barnabás Czémán ce4bc777e0 linux-postmarketos-qcom-msm8953: upgrade to 6.12 (MR 5829)
Upgrade to 6.12.0-r0.

[ci:skip-build]: already built successfully in CI
2024-11-20 21:48:28 +01:00
postmarketOS CI 261fb37d58 linux-next: upgrade to next-20241120 2024-11-20 19:59:49 +00:00
Caleb Connolly 0b78805c8d CI: autoupdate: update access token bot email (MR 5834)
The project access token disappeared (maybe expired?), let's avoid
hardcoding this and put it in a CI variable instead.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-11-20 20:19:01 +01:00
fossdd f5d4bef1b2 main/postmarketos-ui-phosh: remove blue accent color override
Phosh 0.43 supports accent colors with the xdg-desktop-portal-phosh.

This reverts commit d6344ca124.
2024-11-20 20:06:29 +01:00
fossdd 166a0ba7cf main/postmarketos-ui-phosh: add xdg-desktop-portal-phosh as dependency
Required for accent colors and other portals
2024-11-20 20:06:19 +01:00
fossdd 78a034792b main/postmarketos-base-ui-gnome: replace lollypop with decibels
Closes #3198

[ci:skip-vercheck]
2024-11-20 11:39:51 +01:00
Adam Thiede 7be6be4312 linux-postmarketos-mediatek-mt8173: upgrade to 6.12 (MR 5816)
Tested working on C330. I can drop the patch for 6.11 regression since
that is fixed now. All the normal stuff works, nothing broken as far as
I can tell. Default config options chosen with pmbootstrap kconfig
migrate.
2024-11-19 22:39:20 -08:00
Stephan Gerhold 319396a6d5 device-<qcom-msm8916>: revert to msdos partition table for now (MR 5813)
pmbootstrap 3.0.0 uses GPT partition table by default, which breaks booting
on all the devices using the lk2nd bootloader. The current version of lk2nd
supports GPT only for the eMMC, while subpartitions and SD cards must be
partitioned with MBR. GPT support was present in the legacy branch of
lk2nd, but was dropped at some point because of poor code quality.

Fix the regression for now by reverting back to the old msdos (MBR)
partition table. We can revert this again later when lk2nd restores support
for GPT.

Generated with
$ for d in $(grep -R linux-postmarketos-qcom-msm8916 | grep -Eo 'device-[^/]+' | sort -u); do \
  echo -e '\n# lk2nd does not support GPT for subpartitions/SD cards yet\ndeviceinfo_partition_type="msdos"' \
  >> device/*/$d/deviceinfo && pmbootstrap checksum $d && pmbootstrap pkgver_bump $d; done

[ci:ignore-count]

[ci:skip-build]: bug in CI prevents build testing armv7 and aarch64, so
Clayton did the test locally for those archs
2024-11-19 20:15:49 +01:00
Clayton Craft 0924a7f25b device-lenovo-21bx: update bt firmware path (MR 5681)
[ci:skip-build]: already built successfully in CI
2024-11-19 09:15:37 -08:00
Clayton Craft 345792be08 firmware-lenovo-21bx: package bt fw from unreleased linux-fw (MR 5681)
This is needed for completely functional BT on the 6.12 kernel we
package. The bt fw file will be in the next (december) release of
linux-firmware, so in the meantime it's fetched/packaged here. This will
need to be dropped when the next linux-fw package upgrade is released.
2024-11-19 09:14:59 -08:00
Clayton Craft 1e52f0a21c linux-lenovo-21bx: upgrade to 6.12 (MR 5681)
- kconfig migrated
- enable some user crypto stuff
- enabled WBT
2024-11-19 09:14:56 -08:00
fossdd 5c9976f594 CODEOWNERS: add me as co-maintainer of phosh, gnome and gnome-mobile (MR 5823)
I'm already part of the corresponding Alpine groups and also here on
pmaports helping these packages.
2024-11-19 16:11:38 +01:00
Raymond Hackley 0acca93062 samsung-{e7,grandmax}: change maintainer's email
[ci:skip-vercheck]
2024-11-19 10:44:44 +00:00
Oliver Smith a904211cdb channels.cfg: fix mirrordir-alpine -> mirrordir_alpine 2024-11-18 20:49:07 +01:00
Oliver Smith 4343a28b69 channels.cfg: add v24.12 2024-11-18 20:44:03 +01:00
WeirdTreeThing 2baaa10227 linux-postmarketos-mediatek-mt81xx: upgrade to 6.12.0_rc1_git20241108 (MR 5802)
Tested on google-hayato. I also cleaned up the config a bit since the
collabora defconfig had a few weird things set. Zram now works as
expected because of this.
2024-11-17 02:47:47 -08:00
WeirdTreeThing eda150d3a8 linux-postmarketos-mediatek-mt8183: upgrade to 6.6.61 (MR 5797) 2024-11-17 02:12:22 -08:00
Barnabás Czémán 7368bed858 linux-postmarketos-qcom-msm8953: upgrade to 6.11.6-r2
Upgrade to 6.11.6-r2 what contains hot fix for Redmi 5 (rosy).
2024-11-16 18:09:59 +01:00
postmarketOS CI 5aa6e7b924 linux-next: upgrade to next-20241115 2024-11-15 20:00:06 +00:00
Victoria Brekenfeld d7e7142569 testing/device-google-blueline: Add unl0kr config (MR 5772)
fb emulation needs this quirk on the p3
2024-11-15 16:30:20 +09:00
Victoria Brekenfeld 089686c315 testing/device-google-blueline: Add gpi module to initramfs (MR 5772)
The gpi module is needed to initialize the dma controller
necessary for the touchscreen to get initialized, so that
we have working on-screen keyboard input in early environment
of the initramfs. This mainly useful for unl0kr, but also
the initramfs-debug hook.
2024-11-15 16:29:27 +09:00
methanal 81b67d8732 samsung-j6lte: new mainline port (MR 5785)
This port is based on the linux-postmarketos-exynos7870 kernel.
2024-11-15 16:01:35 +09:00
methanal 8c13605b90 archive/samsung-j6lte: archive downstream port (MR 5785)
[ci:skip-build]: already built successfully in CI
2024-11-15 16:01:35 +09:00
Eisenbahnfan 39986ae6e5 samsung-n2awifi: add mainline kernel variant (MR 5789)
[ci:skip-build]: already built successfully in CI
2024-11-14 22:55:02 -08:00
methanal c62ca64c67 device-samsung-a2corelte: enable option to flash kernel after upgrade (MR 5784)
[ci:skip-build]: already built successfully in CI
2024-11-14 22:48:03 -08:00
methanal c22e73eed3 device-samsung-on7xelte: enable option to flash kernel after upgrade (MR 5784) 2024-11-14 22:48:03 -08:00
Arnav Singh 49dfa5a0a8 linux-postmarketos-allwinner: upgrade to 6.11.8_git20241114 (MR 5794) 2024-11-14 17:57:34 -08:00
Barnabás Czémán 14a28b2ffe device-qcom-msm8953: add quiet and loglevel (MR 5792)
Add quiet and logleve=2 to cmdline.
2024-11-14 17:25:44 -08:00
Oliver Smith 74c21ce7e0 main/mobile-config-firefox: upgrade to 4.4.0 (MR 5793)
[ci:skip-build]: already built successfully in CI
2024-11-15 00:31:41 +01:00
Oliver Smith 305a7bb18f cross/busybox-static-*: upgrade to 1.37.0-r7 2024-11-14 23:16:50 +01:00
postmarketOS CI 3b63628f1f linux-next: upgrade to next-20241114 2024-11-14 20:03:45 +00:00
Robert Eckelmann fe073505a5 device-solidrun-cubox: fix checksums
to be squished later

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-14 06:52:10 +00:00
Robert EckelmannandAnjan Momi fa2a7482d2 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Anjan Momi <anjandev@postmarketos.org>
2024-11-14 06:52:10 +00:00
Robert Eckelmann bc7eaf4f9e device-solidrun-cubox: switch partitition_type to msdos
Since pmbootstrap!2426, pmbootstrap defaults to a `gpt` partition type,
the legacy u-boot on the cubox does not support `gpt`.

Therefor the deviceinfo was adjusted to return to `msdos` type partition
table.

Tested sucessfully on actual HW with new install

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-14 06:52:10 +00:00
postmarketOS CI 07384c26c1 linux-next: upgrade to next-20241113 2024-11-13 19:59:52 +00:00
Oliver Smith 4432b6f54d CI: build_changd_aports: fix systemd pkgs in print (MR 5684)
Fix that in the checksum / build messages for systemd packages it would
print the wrong package list.
2024-11-13 17:04:30 +01:00
Clayton Craft a64120a3d0 ci: also account for extra-repos when only verifying checksums (MR 5684) 2024-11-13 16:59:14 +01:00
Clayton Craft 5c42195870 ci: build_changed_aports: Don't exit prematurely if pkg list is empty (MR 5684)
This should check for packages in other repos that need to be built,
even if the main repo pkg list is empty.

fixes !5576
2024-11-13 16:59:02 +01:00
Raihan Ahamed 8fad005dd3 device-qcom-msm8953: add lenovo-kuntao (MR 5756) 2024-11-13 17:55:00 +09:00
Raihan Ahamed 080cbb2859 device-lenovo-kuntao: add gpu firmware, panel and modem (MR 5756) 2024-11-13 17:55:00 +09:00
fossdd 6f70642442 postmarketos-ui-sxmo-de-{dwm,sway}: update package ver
update package version to latest sxmo-utils release.
2024-11-12 23:47:28 -08:00
Aren Moynihan bf8ee63e97 main/postmarketos-ui-sxmo-de-dwm: remove dependency on sxmo-common
sxmo-common was removed in #5779, so this package can't build anymore.
2024-11-12 21:52:33 -05:00
Aren Moynihan 5f2eaf2d0c main/postmarketos-ui-sxmo-de-sway: remove dependency on sxmo-common
sxmo-common was removed in #5779, so this package can't build anymore.
2024-11-12 21:52:18 -05:00
postmarketOS CI 96d54421cc linux-next: upgrade to next-20241112 2024-11-12 20:00:01 +00:00
Anjandev Momi 5591a18949 Increase the default vm.max_map_count (MR 5782)
closes #3294

Fixes issues with games on proton and steam failing to launch.

https://archlinux.org/news/increasing-the-default-vmmax_map_count-value/
[ci:skip-build]: already built successfully in CI
2024-11-12 09:22:32 -08:00
Andras Sebok 6effb8ba2a device-samsung-j5y17lte: switch to mainline kernel [ci:skip-vercheck] (MR 5778)
[ci:skip-build]: already built successfully in CI
2024-11-11 18:15:30 -08:00
Henrik Grimler 8d01311416 linux-postmarketos-exynos5: update to 6.6.59 (MR 5775)
Two main changes apart from rebase and config sync:

- Fix broken usb networking by making CONFIG_USB_CDC_COMPOSITE
  builtin (by @eisenbahnfan)
- Add mainline support for exynos5420-n2awifi (by @eisenbahnfan)
[ci:skip-build]: already built successfully in CI
2024-11-11 18:07:23 -08:00
WeirdTreeThing c714397635 linux-google-veyron: switch to xz compression (MR 5773)
[ci:skip-build]: already built successfully in CI
2024-11-11 17:59:02 -08:00
Richard Acayan 7ebdc89a44 google-sargo: replace hexagonrpcd config in firmware openrc subpackage (MR 5783)
Fixes: b7a426aedd ("google-sargo: move openrc scripts to subpackage (MR 5688)")

[ci:skip-build]: already built successfully in CI
2024-11-11 17:55:14 -08:00
Barnabás Czémán 016f726939 soc-qcom-msm8953: update UCM configs (MR 5780)
[ci:ignore-count]

[ci:skip-build]: already built successfully in CI
2024-11-11 17:49:06 -08:00
Barnabás Czémán d09c0558d0 device-motorola-ocean: use firmware-qcom-adreno-a530 (MR 5780) 2024-11-11 17:49:06 -08:00
Barnabás Czémán d8d1bdd7b8 device-asus-zenfone3: use firmware-qcom-adreno-a530 (MR 5780) 2024-11-11 17:49:06 -08:00
Barnabás Czémán fa0a279146 firmware-msm8953: follow kernel changes (MR 5780)
Last kernel uses device specific zap shader path,
this commit following the kernel changes.
2024-11-11 17:49:06 -08:00
Barnabás Czémán 02bc3b6950 device-qcom-msm8953: use firmware-qcom-msm8953 (MR 5780) 2024-11-11 17:49:06 -08:00
Barnabás Czémán f1031e95c8 firmware-qcom-msm8953: new package (MR 5780)
Unified firmware package for msm8953 devices.
2024-11-11 17:49:05 -08:00
Barnabás Czémán 3dcc08f4a9 linux-postmarketos-qcom-msm8953: upgrade to 6.11.6 (MR 5780) 2024-11-11 17:49:05 -08:00
fossdd 3e835b7fc8 temp/sxmo-common: remove (MR 5779)
Ghost package was added in v24.06 and the next release, which includes
this commit, is v24.12.

[ci:skip-build]: already built successfully in CI
2024-11-11 17:39:58 -08:00
Oliver Smith cda9735b36 device-google-sargo: move replaces to -openrc (MR 5771)
[ci:skip-build]: already built successfully in CI
2024-11-11 16:26:58 -08:00
Oliver Smith 5f92a24897 device-xiaomi-beryllium: move replaces to -openrc (MR 5771) 2024-11-11 16:26:58 -08:00
postmarketOS CI 71b21a4b53 linux-next: upgrade to next-20241111 2024-11-11 20:04:22 +00:00
Clayton Craft 0738399936 main/postmarketos-cros-common: fix compatibility with systemd (MR 5768)
fixes !5767

[ci:skip-build]: already built successfully in CI
2024-11-09 10:50:50 +01:00
postmarketOS CI 26dd6ff875 linux-next: upgrade to next-20241108 2024-11-08 20:00:00 +00:00
postmarketOS CI 98a97ea85c linux-next: upgrade to next-20241107 2024-11-07 19:59:41 +00:00
Oliver Smith 1e7d937044 main/postmarketos-cros-common: fix pmb_recommends (MR 5767)
The package was renamed from postmarketos-cros-keymap to
postmarketos-cros-keymap-openrc, adjust _pmb_recommends.

[ci:skip-build]: already built successfully in CI
2024-11-06 22:33:23 +01:00
Oliver Smith 2942aea548 device-oneplus-fajita: move replaces to -openrc (MR 5767) 2024-11-06 22:33:18 +01:00
Clayton Craft 2355af6a59 device/*: stop using console=null (MR 5752)
I replaced "console=null" with "quiet loglevel=2",
based on the findings in #2989

fixes #3269

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-11-06 13:15:13 -08:00
Clayton Craft aabfc2ed69 main/postmarketos-initramfs: include udev.conf in initramfs (MR 5752)
Allows udev to use custom config when running from the initramfs
2024-11-06 13:15:12 -08:00
Clayton Craft 9a92478496 main/postmarketos-base: decrease udev logging verbosity (MR 5752) 2024-11-06 13:15:12 -08:00
Clayton Craft e61bf69138 ci/grep: fail if device pkg uses console=null (MR 5752) 2024-11-06 13:15:12 -08:00
Clayton Craft 0c3e1a972f main/postmarketos-initramfs: drop console=null warning on boot (MR 5752)
fixes #2989
2024-11-06 13:15:12 -08:00
Oliver Smith 51cbd7cedb cross/busybox-static-*: upgrade to 1.37.0-r6 2024-11-06 22:05:40 +01:00
postmarketOS CI 7b9e4fdaa2 linux-next: upgrade to next-20241106 2024-11-06 19:59:45 +00:00
Robert Eckelmann 8ac15569c2 linux-postmarketos-marvell-dove: upgrade to 6.11.5 (MR 5600)
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-06 09:06:01 +01:00
Robert Eckelmann 442fc42462 solidrun-cubox: new device (MR 5600)
initial commit for the Marvell dove based CuBox SBC system

Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
2024-11-06 09:06:01 +01:00
Antony K. S 1ea401f564 asus-zenfone3: new device (MR 5711)
asus-zenfone3: move linux-postmarketos-qcom-msm8953 package to each subpackages

asus-zenfone3: remove suffix from deviceinfo_name

asus-zenfone3: remove uneeded firmware files & add lk2nd-msm8593
[ci:skip-build]: already built successfully in CI
2024-11-06 08:59:31 +01:00
Clayton Craft e4e6a375db main/postmarketos-initramfs: add udev rules for devicemapper (MR 5764)
Without these rules, the /dev/disk/by-* stuff isn't created on devices
that use subpartitions (and maybe FDE too?), and systemd boot fails
because it's unable to find the boot partition UUID under that path.

fixes !5636

[ci:skip-build]: already built successfully in CI
2024-11-05 12:16:58 -08:00
postmarketOS CI 71e5547ee3 linux-next: upgrade to next-20241105 2024-11-05 20:00:12 +00:00
Duje Mihanović dbb2a327eb linux-samsung-coreprimevelte: upgrade to 6.12_rc5 (MR 5758)
[ci:skip-build]: already built successfully in CI
2024-11-05 12:25:35 +01:00
methanal 9386e30711 linux-postmarketos-exynos7870: upgrade to 6.11.6 (MR 5760)
Upgrade the kernel to version 6.11.6. It adds mainline support for two new
devices, namely samsung-j6lte and samsung-j5y17lte.

Also includes minor code refactoring.
[ci:skip-build]: already built successfully in CI
2024-11-05 12:11:25 +01:00
postmarketOS CI fad34c0923 linux-next: upgrade to next-20241104 2024-11-04 20:00:08 +00:00
Aster Boese 44ce859e43 soc-qcom-sm8350: move openrc scripts to subpackage (MR 5688)
[ci:ignore-count]

[ci:skip-build]: already built successfully in CI
2024-11-04 10:52:43 -08:00
Aster Boese 1868f41ef5 main/nokia-weeknd: add openrc subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese 0622be4c83 main/wl1251-cal: add openrc subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese 24abf411c1 soc-qcom-sm7150: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese 0ce27ef17d soc-qcom-sm7125: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese 4ad6ad0b49 soc-qcom-sdm660: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese 4ae22faca9 soc-qcom-sc8180x: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:43 -08:00
Aster Boese f767583830 soc-qcom-sc7280: move openrc scripts to subpackages (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese 2c73ab30be soc-qcom-msm8998: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese 584a6f082e soc-qcom-msm8909: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese 329949155e kobo-epdc-extractor: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese 60bccf6fe9 firmware-xiaomi-sagit: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese f424050082 firmware-sony-ninges: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:42 -08:00
Aster Boese f59eac28b0 firmware-samsung-pxa1908: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese ddffd8de81 firmware-samsung-kminilte: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese 547a871840 firmware-samsung-degaswifi: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese 26f5809a6c firmware-oneplus-msm8998: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese 94fad16f2f firmware-motorola-potter: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese 0c3acd11f4 firmware-huawei-alice: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:41 -08:00
Aster Boese e336721314 firmware-fxtec-qx1050: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese fbc404a5ac xiaomi-vayu: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese f82ceef9f3 fairphone-fp5: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese 0ce247f1b7 xiaomi-raphael: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese ce29bce59b xiaomi-natrium: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese 69f0eb80fd xiaomi-elish: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:40 -08:00
Aster Boese 8931d7cc27 xiaomi-armani: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese 2ca7ef6b75 sony-leo: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese ce5a0f4505 samsung-zeroltexx: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese cb06d121ce samsung-zerofltexx: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese a900390374 samsung-j7y17lte: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese 9174ac2f52 samsung-i9100: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese 5e4d96891a samsung-a6lte: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:39 -08:00
Aster Boese 1b9c7c899d raspberry-pi4: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese 95d9990a98 raspberry-pi3: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese 902dcc4d52 raspberry-pi0: move openrc scripts to subpackages (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese 0bc1d4cd0d raspberry-pi: move openrc scripts to subpackages (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese 9de81d09eb pine64-dontbeevil: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese b162a221dc oneplus-oneplus3t: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese adde895b6d lenovo-q706f: move openrc scripts to subpackages (MR 5688) 2024-11-04 10:52:38 -08:00
Aster Boese 57562c7597 jolla-sbj: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese 24f152bc80 cutiepi-tablet: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese 8f87acca7e clockworkpi-uconsole-cm4: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese 3e102e95db ayn-odin: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese 02066257eb bluetooth-raspberry-pi: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese bbbf3a1062 soc-qcom-sc7180: move openrc scripts to subpackages (MR 5688) 2024-11-04 10:52:37 -08:00
Aster Boese 7610fe1035 soc-qcom-msm8953: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese f586ca4441 soc-qcom-msm8916: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese f55c9c0d3a xiaomi-scorpio: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese 056e257de3 xiaomi-beryllium: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese 0125e65f90 pine64-pinephonepro: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese 7a9b5a205d main/watchdog-kick: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese 48f6c9656b main/postmarketos-cros-common: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese 0b16918fe0 main/postmarketos-boot-hwtest: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:36 -08:00
Aster Boese bd431d40cc main/postmarketos-base-ui: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese 9a99823538 main/postmarketos-base-ui-cage: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese c2f8ce4f10 pine64-pinebookpro: move non-essential scripts to subpackages (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese dfbcebd69e oneplus-enchilada: clean up openrc subpackage (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese 8251a6956f oneplus-fajita: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese 9a095777ba nokia-n900: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:35 -08:00
Aster Boese b7a426aedd google-sargo: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:34 -08:00
Aster Boese 29e3422044 fairphone-fp4: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:34 -08:00
Aster Boese 17c4a53643 main/postmarketos-base: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:34 -08:00
Aster Boese 4942ec0603 main/hisi-wlan: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:34 -08:00
Aster Boese 57709727ed modem/msm-cros-efs-loader: move openrc scripts to subpackage (MR 5688) 2024-11-04 10:52:34 -08:00
Jakob Hauser d87b8222b9 main/postmarketos-ui-mate: improve touch-friendliness (MR 5713)
Maintenance:
- Renamed gschema override files for "system background" and "screensaver"
  to prefix number "10", that's more common for distribution-delivered
  gschema override files. Basically the prefix number just separates the
  override files from the xml files.
- For gschema override files "caja single click" and "mate terminal colors"
  replaced underline by dash character for better alphabetic sorting.
- In the APKBUILD, adapted the install of file "gtk.css" to the "-t" option,
  as no file name change is needed.
- Sorted the installs alphabetically per path, except the for the file
  "61-lightdm-autologin.conf", this one is at the end because it doesn't use
  the "-t" option due to file renaming.

Touch-friendliness:
- Increased size of the upper and lower panel from 24 to 36 px. This also
  increases the size of the icons in the panel. Unfortunately, at installation
  the panel layout config file is stronger than the gsettings override of the
  panel size, therefore a new panel layout config file is needed. It corresponds
  to the upstream default layout, just the panel size values were changed.
- Increased the size of the window buttons by changing the window border theme
  to "HighContrast". That's not the nicest looking theme but the one with the
  largest window buttons – convenient for touch devices.
- Increased general font sizes from 10 to 12 px. This goes along with increased
  panel size and window button size, avoiding looking it too unproportional.
- Changed the layout of the panel clock to just show the time (no date or week
  day). This saves space on devices with small screen. As the panel size was
  increased, display size gets tight on devices with small screen.
- Changed the layout of the panel workspace switcher to show names in the format
  of "-  x  -". This is a workaround to artificially increase the size of the
  workspace switcher buttons on portrait displays. Because otherwise these
  buttons are very squeezed on portrait displays due to the display ratio.
- Add an application shortcut for a maximized terminal to the users Desktop
  upon installation.
[ci:skip-build]: already built successfully in CI
2024-11-04 11:27:50 +01:00
Oliver Smith 817ed870e9 pmaports.cfg: set pmbootstrap_min_version=2.3.2
Require the pmbootstrap version where we added a workdir migration to
change pmaports git URLs from gitlab.com to gitlab.postmarketos.org.

pmaports at gitlab.com will be fast-forwarded to this commit once, so
users who still have this archived repository configured as upstream
will be notified of this change after next git pull and trying to use
pmbootstrap <2.3.2 with it.

Related: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/tags/2.3.2
Related: pmbootstrap issue 2471
2024-11-03 13:39:32 +01:00
kouta 62440e5f17 main/lk2nd: patch xiaomi-daisy DT board-id (MR 5750) 2024-11-02 21:49:11 +03:00
Clayton Craft 7b01c66a34 device-google-x64cros: move gpu fw to initramfs-extra (MR 5730)
oem-* packages put fw into the initramfs, which allows for display/gpu
to work properly early during boot. On x64cros, there's not enough space
in the boot partition to hold gpu firmware so this patch duplicates some
things from oem-* packages in order to put the fw into initramfs-extra

[ci:skip-build]: already built successfully in CI
2024-11-02 09:11:58 -07:00
Aster Boese 439bd8e869 google-x64cros: increase boot partition to 32mb (MR 5730) 2024-11-02 09:11:04 -07:00
Jakob Hauser 6e00f34f61 main/postmarketos-ui-{mate,xfce4}: separate openrc and main post-install scripts (MR 5735)
Split the post-install scripts for the main package and the openrc subpackage.
They act on different things.

[ci:skip-build]: already built successfully in CI
2024-11-02 12:55:36 +01:00
Arnav Singh f568f4e2ec linux-postmarketos-allwinner: upgrade to 6.11.5_git20241029 (MR 5753)
[ci:skip-build]: already built successfully in CI

[ci:skip-vercheck]
2024-11-02 11:02:07 +01:00
Barnabás Czémán 3b49327237 msm8226-*: add soc-qcom-msm8226 as a dependency (MR 5732)
[ci:ignore-count]
2024-11-02 16:31:06 +09:00
Barnabás Czémán c12b826d6a soc-qcom-msm8226: initial package (MR 5732)
Add initial SoC pacakge for common configs of msm8226 devices.
2024-11-02 16:22:11 +09:00
Barnabás Czémán c8ebd2705e msm8974-*: add soc-qcom-msm8974 as a dependency (MR 5732) 2024-11-02 16:22:11 +09:00
Barnabás Czémán dfdccbb1ae soc-qcom-msm8974: initial package (MR 5732)
Add initial SoC pacakge for common configs of msm8974 devices.
2024-11-02 16:22:10 +09:00
Aren Moynihan 142948a592 device-postmarketos-trailblazer: add support for pine64 pinephone (MR 5703)
Add the necessary modules to the initramfs so the splash screen shows
up, and depend on linux-firmware-rtw88 so the wifi works.
2024-11-02 15:47:24 +09:00
Aren Moynihan 443fb1a850 device-postmarketos-trailblazer: modules-initfs sort alphabetically (MR 5703)
This is a stylistic change only.

Generated by this program, which takes care to treat '_' and '-' as the
same character for the purpose of sorting:

perl -e 'print sort {($a =~ s/_/-/r) cmp ($b =~ s/_/-/r)} <>' modules-initfs | uniq | sponge modules-initfs
2024-11-02 15:47:09 +09:00
Aren Moynihan 4dfa2e644e linux-next: add support for pine64 pinephone (MR 5703)
Add configs to get the PinePhone to boot and some functionality such as
wifi. A number of components, including the modem, sound, and usb, don't
yet work without patches, so are left out here.
2024-11-02 15:44:47 +09:00
Clayton Craft a2b2c0ee5a main/postmarketos-initramfs: umount /boot in the initramfs (MR 5751)
Fixes a bug where the kernel thinks the boot partition is still mounted
and it's unavailable for mounting in the rootfs

If you look at what the initramfs was doing before !5635, it was
explicitly umounting the boot partition from /boot in the initramfs and
then mounting it under /boot in the rootfs:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/blob/c45d7ec0a5f7ac814b50087402bb11825120f42b/main/postmarketos-initramfs/init.sh#L87

With this patch, we're now back to umounting /boot in the initramfs.
The second part of that original logic is now handled elsewhere now, and
that seems to be working OK.

The bug was reported here:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3279#note_454346

[ci:skip-build]: already built successfully in CI
2024-11-01 14:09:35 -07:00
postmarketOS CI ea7eb26fb3 linux-next: upgrade to next-20241101 2024-11-01 16:57:37 +00:00
Caleb Connolly bb7b1c4fde device-postmarketos-trailblazer: add icc-osm-l3 to initramfs (MR 5745)
This module is necessary for cpu frequency scaling on Qualcomm
platforms, let's make it available earlier so we have cpu frequency
scaling up sooner.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-11-01 15:53:11 +01:00
adamthiede adfe55c89a linux-postmarketos-mediatek-mt8173: upgrade to 6.11.5 (MR 5741)
[ci:skip-build]: already built successfully in CI
2024-10-31 16:42:48 -07:00
MightyM17 0bf67c68ec linux-postamrketos-omap: Reduce config options to reduce kernel size (MR 5716)
[ci:skip-build]: already built successfully in CI
2024-10-31 16:25:48 -07:00
Caleb Connolly d92e2aaa20 postmarketos-initramfs: only include necessary udev rules (MR 5636)
importing all udev rules doesn't make sense here. Only add the needed
ones.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-10-31 11:54:25 -07:00
Caleb Connolly a36c8a4d3c main/unl0kr: include only necessary udev rules (MR 5636) 2024-10-31 11:54:25 -07:00
Caleb ConnollyandClayton Craft 7065039494 postmarketos-initramfs: clean up logging (MR 5636)
make the logging nicer and remove some irrelevant errors.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-10-31 11:54:24 -07:00
Clayton Craft 5c201c359e main/postmarketos-mkinitfs: upgrade to 2.6.1 (MR 5636)
Note: this includes a breaking change in pmaports if pmos-initramfs isn't changed to support merging the initramfs+initramfs-extra. Do not cherry-pick without the required initramfs changes!
2024-10-31 11:54:24 -07:00
Caleb Connolly 4546b99f5f postmarketos-initramfs-minimal: drop (MR 5636)
Drop the fork, nothing depends on it and we can use the new multi-stage
initramfs instead

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:ignore-count]
[ci:skip-vercheck]
2024-10-31 11:54:24 -07:00
Caleb Connolly affa4134ca device/*/*: enable deviceinfo_create_initfs_extra instead of depending on initramfs-minimal (MR 5636)
Make use of the new multi-stage initramfs rather than the minimal
variant, and inform mkinitfs that the initramfs-extra archive should be
created to save space.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:ignore-count]
2024-10-31 11:54:24 -07:00
Caleb ConnollyandClayton Craft cb8414a20d postmarketos-initramfs: unify with minimal initramfs (MR 5636)
We previously forked the initramfs into a minimal variant for highly
space constrained devices, to allow the normal variant to gain
additional functionality like the debug-shell (With OSK). Initially the
hope was that only a handful of devices would need the minimal variant,
but in practise this has not been the case.

Trying to maintain two diverging forks of the initramfs is absoutely
unsustainable and (to be frank) a bit silly.

Based on discussion with craftyguy and newbyte, let's re-architect the
initramfs to run in two stages, with the second stage being part of
initramfs-extra. By itself this doesn't make a lot of sense, since
requiring the boot partition be mounted for the debug-shell to be useful
is a major downgrade.

However this can be used in tandem with pending support for a new
deviceinfo_create_initfs_extra variable, this is default false in
mkinitfs which finally gets rid of initramfs-extra entirely for devices
that don't need it.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-10-31 11:54:24 -07:00
Caleb Connolly 1a9eb8973e postmarketos-initramfs: run_hooks: hide ls error (MR 5636)
We need to use ls to check if the hooks dir contains any hooks
(otherwise the wildcard doesn't work). But ls prints an error if the dir
is missing or empty. Hide the error to not pollute the log.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-31 11:54:24 -07:00
Caleb Connolly d8530c4144 postmarketos-initramfs: remove support for /boot/.pmos_export_logs (MR 5636)
This was only added recently, is likely not used by anyone, and
introduces hard to resolve dependencies on /boot being mounted which we
may not want in the future.

Remove it to drop some complexity.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-31 11:54:24 -07:00
Oliver Smith c45d7ec0a5 cross/crossdirect: fakeroot: add helpful error msg (MR 5744)
Alpine's abuild runs build() without fakeroot, and package() with
fakeroot. From the APKBUILD reference page in the Alpine wiki:

> Note: Building in fakeroot will reduce performance for parallel
> builds dramatically. It is for this reason that we split the build
> and package process into two separate functions.

Every now and then we see a package that tries to run a compiler (gcc,
g++, clang, ...) during package() in the APKBUILD. This is a bug in the
APKBUILD / build system of the program we are packaging. All compiling
should be done during build().

Let crossdirect print the following when this happens:

  ============================================================================================
  ERROR: crossdirect was called with: LD_PRELOAD=libfakeroot.so
  This means your package tried to run a compiler during package().
  This is not supported by crossdirect, and usually not a good idea.
  * Try to fix your APKBUILD so it does not run the compiler during package(), only in build()
    * If you're using meson install, try to add '--no-rebuild'
  * If this is not possible, you can work around it by setting options="!pmb:crossdirect"
    (compilation will be slower!)
  ============================================================================================

Instead of:

  ERROR: crossdirect: can't handle LD_PRELOAD: libfakeroot.so
  Please report this at: https://gitlab.com/postmarketOS/pmaports/issues
  As a workaround, you can compile without crossdirect.

In the past I've also tried to add 'strcmp(ldPreload, "libfakeroot.so") == 0'
(pmaports MR 2231), and today I made the same patch. The current code
looks like it would then work by just using libfakeroot.so from the
native chroot, but it does not work. And as mentioned, if we hit this
then we are compiling in package() which is something we should not do
anyway!

Fixes: pmb issue 2039
Related: pma issue 2351, pma MR 5738
2024-10-30 22:24:57 +01:00
Clayton Craft f30cb0d74b main/postmarketos-ui-gnome-mobile: remove nonexistent nm-elogind dependency (MR 5742)
Dropped in aports @ 3e7a2f54
2024-10-28 23:07:47 -07:00
Kevin Widjaja f58357bebe sony-togari: new device (MR 5739) 2024-10-28 17:45:06 +03:00
Bart Ribbers a83466f5fc temp/gnome-shell-mobile: remove dependency on removed networkmanager-common (MR 5740)
[ci:skip-build]: already built successfully in CI
2024-10-28 14:10:17 +01:00
Andreas Kemnade ce3f3240c9 linux-postmarketos-imx-ereader: update to 6.11.2 (MR 5731) 2024-10-28 10:02:13 +09:00
Nikita Travkin d3cf846739 main/dtbloader: Upgrade to 1.2.2 (MR 5737)
[ci:skip-build]: already built successfully in CI
2024-10-27 11:35:50 +01:00
Barnabás Czémán d47cdc4186 device-lg-hammerhead: use lk2nd-msm8974-lg-hammerhead (MR 5691) 2024-10-26 22:40:54 +09:00
Barnabás Czémán 0ca2aeff2c device-oneplus-bacon: switch to lk2nd-msm8974 (MR 5691)
Switch to lk2nd-msm8974 because separate appended
dtb image build is not needed anymore.
2024-10-26 22:40:54 +09:00
Barnabás Czémán b0ce64a2ce device-motorola-ali: switch to lk2nd-msm8953 (MR 5691)
Custom lk2nd build for motorla-ali is not needed anymore.
2024-10-26 22:40:54 +09:00
Barnabás Czémán 1275eb848f main/lk2nd-msm8953: remove package (MR 5691)
Remove old lk2nd-msm8953 package in favor of lk2nd package.
2024-10-26 22:40:54 +09:00
Barnabás Czémán c6e0ce6379 main/lk2nd: upgrade to 19.0 (MR 5691)
lk2nd 19.0 supports new platforms and simplifies image formats.
2024-10-26 22:40:54 +09:00
Oliver Smith 378cbbb235 linux-purism-librem5: add pmb:kconfigcheck-librem5 (MR 5633)
Follow up to MR 5562, which introduced category:librem5. Add the related
option, so CI actually enforces this category for the Librem 5.

[ci:skip-vercheck]: no need to rebuild for this
2024-10-23 13:24:10 +02:00
Oliver Smith a6f188af10 CI: common.run_pmbootstrap: use simple check=True (MR 5633)
Use check=True instead of running check_returncode() afterwards, it has
the same effect and is shorter.
2024-10-23 13:24:10 +02:00
Oliver Smith 4ef0a4e9ad CI: apkbuild_linting: fix missing output (MR 5633)
pmbootstrap used to exit with 0 if "pmbootstrap lint" failed. This was
the case in 2.3.x too, but I assumed this was a regression and fixed it
recently in pmbootstrap MR 2398.

It turns out that the CI code relied on this assumption, it captured the
output of "pmbootstrap lint", and only after it is done it checks if the
output wasn't empty and prints it in that case followed by exit 1.

Now that pmbootstrap actually exits with 1, CI already fails at
"common.run_pmbootstrap" and doesn't get to the part where it would be
printed.

I think "exit 1" on error is actually the right thing to do in
pmbootstrap, so I'll leave that in. Adjust CI to just run "pmbootstrap
lint", removing the additional output capture logic that isn't used
anywhere besides here. This also has the advantage that we get the
output "live", without buffering it completely first.
2024-10-23 13:24:06 +02:00
Jakob Hauser a8a4d06fac device-qemu-*: set a default resolution for X11 (MR 5712)
Qemu by default starts a GTK window in VGA resolution 640x480. The content
adapts to this resolution, thus X11 shows up in resolution 640x480 as well.

This resolution causes some handling issues. In Xfce4 the shutdown button of
the menu isn't reachable. Even worse in MATE, where the "Apply" button for
changing the resolution is out of the screen, making it difficult to change
the resolution.

The default resolution for X11 can be set by a config file. The Qemu GTK
window resolution remains independently at default 640x480. Setting the X11
resolution to default 800x600 mitigates the issue: Most of the screen content
becomes accessible while font size and button sizes are still large enough.
From this point the user can adjust the resolutions of the Qemu GTK window
and X11 content as desired.
[ci:skip-build]: already built successfully in CI
2024-10-23 00:23:40 -07:00
Luca Weiss a9ab9a3925 cross/busybox-static-*: upgrade to 1.37.0-r3 (MR 5727)
[ci:skip-build]: already built successfully in CI
2024-10-23 00:19:15 -07:00
Clayton Craft 66cffd1903 main/postmarketos-ui-sway: enable portals (MR 5643)
This adds the wlr and GTK portal backends so that apps using portals will work OOTB.

The GTK backend is added because the wlr backend does not provide some essential portals, e.g. for camera
[ci:skip-build]: already built successfully in CI
2024-10-23 00:04:26 -07:00
Clayton Craft 36c12f1809 device-lenovo-21bx: depend on alsa-ucm-conf (MR 5714)
fixes #3251

[ci:skip-build]: already built successfully in CI
2024-10-22 23:59:16 -07:00
Clayton Craft 5541f19df4 main/postmarketos-installkernel: install to /sbin (MR 5728)
This reverts 622140965c, which basically broke installkenrel because
the kernel build system is hardcoded to look for installkernel in /
sbin/installkernel.

We'll have to move then once usr merge is complete and the symlink is
created for /sbin
[ci:skip-build]: already built successfully in CI
2024-10-22 23:21:23 -07:00
Luca Weiss da8d31d637 linux-postmarketos-qcom-msm8974: upgrade to 6.11.4 (MR 5725)
Some kconfig changes to reduce kernel size to avoid conflict of 0x8000
(kernel load address) + uncompressed kernel size (arch/arm/boot/Image) +
compressed kernel size (arch/arm/boot/zImage) being bigger than
0x1e00000 (tags address).

This causes mostly silent boot failures, with CONFIG_DEBUG_LL messages
such as "no ATAGS support: can't continue" or "Error: invalid dtb and
unrecognized/unsupported machine ID" can be seen on UART, though they're
not very clear that the kernel image is essentially too big for what lk
is setting up.

Manual kconfig changes:
* Convert some =y to =m to reduce kernel size, mostly NFS_FS and CIFS
  since those are quite big and there's no point in having them
  built-in.
* Disable EXT2_FS & EXT3_FS - handled by EXT4 driver
* Disable PCI - unused
[ci:skip-build]: already built successfully in CI
2024-10-22 21:17:57 +02:00
Caleb Connolly a79aaf0136 CI: fix autoupdate bot and don't enable it for local CI (MR 5724)
Update the bot email address, and don't enable the script for local CI
since it relies on protected GitLab CI variables. This could be fixed in
the future by safely handling these not being available.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-22 13:55:47 +02:00
Clayton Craft 901cb95204 main/postmarketos-base-ui: configure flathub from file drop-in (MR 5726)
Per the flatpak manpage, repos can be configured OOTB by dropping config under /etc/flatpak/remotes.d. Using the install script requires doing stuff over the internet, which may not always work at image build time. By using the drop-in file, we avoid having to connect to flathub.

The manpage only mentions /etc/flatpak, and nothing about /usr ...
2024-10-21 11:41:06 -07:00
Clayton Craft ad9a7874a5 cross/gcc-*: upgrade to 14.2.0-r4 (MR 5722)
Quite a messy upgrade due to changes in both abuild and in the upstream
gcc APKBUILD breaking various things. Pmbootstrap also seems to
misbehave in GitLab CI making it difficult to validate.

Manual fixups:
* Set !tracedeps - changed behavior in abuild
* Manually add "so:" dependencies to avoid issues with !tracedeps set
  (becomes obvious with crossdirect)
* Add back makedepends="$makedepends_build $makedepends_host"
* Disable move of some files into usr/lib to avoid
  ERROR: gcc-aarch64-14.2.0-r4: trying to overwrite usr/lib/libgcc_s.so.1 owned by libgcc-14.2.0-r4.

[ci:skip-build] # pmbootstrap bugs will prohibit this from building
                # anyways, don't even attempt

Co-developed-by: Luca Weiss <luca@lucaweiss.eu>
2024-10-21 13:25:53 +02:00
Jens Reidel e729f058ab main/unixbench: upgrade to 5.1.3_git20230411 (MR 5715)
And re-enable riscv64 as the latest commits have added
support for riscv64.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI
2024-10-19 16:18:32 +02:00
Clayton Craft 344658db76 CI: gitlab: increase git clone depth to 100 (MR 5718)
Technically this option can be configured in the Gitlab UI, but I spent
about 3 hours debugging a CI failure caused by it being too low and
I don't want to risk forgetting this can happen later if/when someone
decides to lower it in the UI. By setting it here, we can have some
context/history about why.

This fixes the CI in !5688

Also see:
https://docs.gitlab.com/17.4/ee/user/project/repository/monorepos/index.html#shallow-cloning
[ci:skip-build]: already built successfully in CI
2024-10-19 14:07:38 +02:00
Clayton Craft f37c93ed7e ci: common: fix typo when printing upstream branch sha (MR 5718)
I was confused for a while about why the SHA printed by CI differed from
the actual upstream/master SHA:

     commit upstream/master: f822b7ee0d06f05ff6d2eb37bcf4a1825569be692
     real upstream/master: 822b7ee0d0
2024-10-19 14:07:24 +02:00
Barnabás Czémán e03dc38b5c linux-postmarketos-qcom-msm8953: upgrade to 6.11.1 (MR 5690)
[ci:skip-build]: already built successfully in CI
2024-10-19 13:44:20 +02:00
Barnabás Czémán e21859c6e1 qcom-msm8953: new device (MR 5692)
With the new changes in lk2nd that allow us to support extlinux.conf,
we can now generate image that would be generic to these devices.

[ci:skip-build]: already built successfully in CI
2024-10-19 13:30:52 +02:00
Luca Weiss 8e1e107725 gnome-shell-extension-pinenote: remove (MR 5721)
mozjs102-dev has been removed from aports in September 2023[0] so
obviously noone has ever run this in the last year. Remove it.

[0] https://gitlab.alpinelinux.org/alpine/aports/-/commit/14107fd2b47f1ab899b0ca9e525b8970f1e1f4c9
[ci:skip-build]: already built successfully in CI
2024-10-19 13:25:41 +02:00
Luca Weiss 344a1f9865 device-pine64-pinenote: remove gnome subpackage (MR 5721)
Prepare to remove the gnome-shell-extension-pinenote package.
2024-10-19 13:25:34 +02:00
Luca Weiss 284c7034e5 device-samsung-on7xelte-downstream: fix kernel package dependency (MR 5721) 2024-10-19 13:25:25 +02:00
Luca Weiss b6673372f5 device-raspberry-pi: fix linux-rpi2 dependency (MR 5721)
The package was renamed/replaced in Alpine with:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/6f4fa0525cecbd37a6a9d49c64e545348f521ed7
2024-10-19 13:25:25 +02:00
Luca Weiss 878e3d7bf7 cross/musl-*: upgrade to 1.2.5-r5 (MR 5720)
[ci:skip-build]: already built successfully in CI
2024-10-17 23:13:24 -07:00
Richard Acayan 8d7c0d1c84 firmware-google-sargo: add audio calibration file (MR 5709)
[ci:skip-build]: already built successfully in CI
2024-10-17 17:15:23 +02:00
Richard Acayan accb6bf0a9 alsa-ucm-conf-qcom-sdm670: update to 1.2.9_git20241012 (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan 10ccdaccc7 google-bonito: add kernel for tianma panel (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan f7bc9a023b linux-postmarketos-qcom-sdm670: upgrade to v6.11.3 (MR 5709) 2024-10-17 17:15:23 +02:00
Alexey Min 71aee6a9c1 device-xiaomi-clover: enable GPU / panel support (MR 5702)
Include Qualcomm display subsystem and Adreno GPU driver, along
with panel driver into initramfs.

And mark devices as GPU accelerated to allow using all the UIs.
2024-10-17 03:49:36 +03:00
Alexey Min 5da8f081d5 linux-postmarketos-qcom-sdm660: upgrade to 6.11.1 (MR 5702)
This release has several little but neat fixes not really worth
mentioning, but most notable features are:

* Xiaomi Mi PAD 4 and PLUS (clover) *both* now have proper panel
  driver and full GPU support. On par with other our devices now.
  Thanks to @kubntd for code and @barni2000 for testing !
* ath10k wlan no-msa-indication hack was dropped in favor of
  solution that was accepted upstream.
* Adreno 5xx preemption fixes were also included.
2024-10-17 03:49:30 +03:00
Jens Reidel 822b7ee0d0 device-xiaomi-scorpio: depend on postprocessd (MR 5699)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-vercheck]

[ci:skip-build]: already built successfully in CI
2024-10-14 14:39:41 +02:00
Jens Reidel 4a43fc75e0 device-pine64-pinephone: depend on postprocessd (MR 5699)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-10-14 14:39:38 +02:00
Jens Reidel be6b56d467 device-purism-librem5: depend on postprocessd (MR 5699)
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-10-14 14:39:34 +02:00
Jens Reidel 34bc19e3ca main/postmarketos-ui-{gnome-mobile,plasma-mobile,sxmo-de-sway}: remove postprocessd (MR 5699)
This package is not buildable for riscv64 and ppc64le. Devices that use
megapixels should depend on it explicitly.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-10-14 14:39:29 +02:00
Pablo Correa Gómez a604b9068b main/postmarketos-mkinitfs: trigger on udev changes (MR 5695)
Our regular initramfs imports eudev and its rules, so we need to make
sure that we update the initramfs if they change

[ci:skip-vercheck]: version bump not needed
[ci:skip-build]: already built successfully in CI
2024-10-14 14:34:07 +02:00
Sergey Lisov 9b55052b58 modem/samsungipcd: upgrade to v0.3.0 (MR 5698)
This also adds a PPP bypass, so that traffic can flow through the native
interface (rmnet0) directly, and not via the emulated PPP.

[ci:skip-build]: already built successfully in CI
2024-10-13 19:51:32 +02:00
Robert Mader 58625e8394 temp/libcamera: backport more swISP patches (MR 5710)
Fixing or related to:
 - https://bugs.libcamera.org/show_bug.cgi?id=234
 - https://bugs.libcamera.org/show_bug.cgi?id=235
 - https://bugs.libcamera.org/show_bug.cgi?id=236

[ci:skip-build]: already built successfully in CI
2024-10-13 16:47:25 +02:00
Alistair Francis 31aa6e8a2b device-purism-librem5: upgrade to 65pureos1 (MR 5700)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2024-10-12 12:56:41 +00:00
Adam Thiede d3e6de365c linux-postmarketos-mediatek-mt8173: upgrade to 6.11.3 (MR 5705) 2024-10-11 21:00:09 +09:00
Sicelo A. Mhlongo f0313fc0a2 device-nokia-n900: explicitly choose msdos partitioning scheme (MR 5707)
u-boot on the Nokia N900 cannot boot from GPT, which will soon be the default
scheme. Hence choose msdos explicitly.
2024-10-09 02:24:08 +02:00
Pablo Correa Gómez c1013ea2fd device-purism-librem5: rebuild to update references to gitlab.postmarketos.org (MR 5696)
[ci:skip-vercheck]
[ci:ignore-count]
2024-10-07 12:59:45 +02:00
Pablo Correa Gómez 8a14c77745 cross/crossdirect: rebuild to update references to gitlab.postmarketos.org (MR 5696) 2024-10-07 12:58:04 +02:00
Pablo Correa Gómez fdaee79c61 main,modem/*: rebuild to update references to gitlab.postmarketos.org (MR 5696)
Since either url or source change
2024-10-07 12:58:03 +02:00
Pablo Correa Gómez 9552b4a781 */*: update references to gitlab.postmarketos.org that need no rebuild (MR 5696)
These are in files or parts of files that are not part of the
checksums, or that serve as packaging-information only. Thus, require
no rebuild
2024-10-07 12:57:38 +02:00
Pablo Correa Gómez 8e1d778ecc ci: fix paths to point to gitlab.postmarketos.org (MR 5696) 2024-10-07 12:57:38 +02:00
Jakob Hauser d47c81e808 main/swclock-offset: upgrade to 0.2.4 (MR 5687)
The Makefile of swclock-offset was previously changed to install the scripts
according to the /usr merge. In the service files for openrc and systemd,
however, the paths to the scripts need to be adapted as well. Version 0.2.4
catches up on this.

[ci:skip-build]: already built successfully in CI
2024-10-05 08:44:29 -07:00
Joel Selvaraj 82a208d1cd soc-qcom-sdm845: update ucm conf to include pixel3 speaker support (MR 5686)
[ci:skip-build]: already built successfully in CI
2024-10-05 12:54:21 +02:00
Joel Selvaraj 05b0edca69 linux-postmarketos-sdm845: update kernel config (MR 5686)
The config file was not up-to-date with the sdm845 kernel repo. Fix it.
This will also fix the missing Pixel 3 touchscreen config and kconfig checks.
2024-10-05 12:54:21 +02:00
postmarketOS CI 3043f30d72 linux-next: upgrade to next-20241004 2024-10-05 06:59:01 +00:00
Luca Weiss 6bdf450942 linux-postmarketos-qcom-sm6350: upgrade to 6.11.0 (MR 5602)
Manual kconfig changes:
* Switch DRM_MSM & panel driver back to =y, seems to improve display
  issues a bit

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2969
[ci:skip-build]: already built successfully in CI
2024-10-04 23:19:25 +02:00
Clayton Craft 8018402b15 main/swclock-offset: upgrade to 0.2.3 (MR 5642)
- now installs to /usr by default
- now installs systemd service files by default
- added -systemd subpkg to handle service files

[ci:skip-build]: already built successfully in CI
2024-10-04 13:58:00 -07:00
Clayton Craft 1d04fa02a8 main/postmarketos-base: install swapfile script to /usr/bin (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft dd0e759c19 main/mdss-fb-init-hack: install to /usr/bin (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft 622140965c main/postmarketos-installkernel: install to /usr/bin (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft f60eb86dc0 main/postmarketos-android-recovery-installer: install to /usr/bin (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft 8cc91cfebc main/bootchart2: install to /usr (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft 21cde1b137 main/boot-deploy: install to /usr/bin (MR 5642) 2024-10-04 13:57:59 -07:00
Clayton Craft fb2e31c898 kobo-epdc-extractor: upgrade to 1.1, install to /usr (MR 5642)
1.1 includes a patch to support using PREFIX, which we use here to install to /usr
2024-10-04 13:57:59 -07:00
Clayton Craft b0e12a5532 main/unl0kr: fde-unlock script to /usr/bin (MR 5642)
To support merged /usr
2024-10-04 13:57:58 -07:00
Masanori Ogino 2621ad2c48 postmarketos-ui-(lxqt|mate): depend on DejaVu (MR 5638)
MR 5540 breaks the Enter key label in onboard OSK with LXQt and Mate. In
theory Droid can be used instead, but it actually does not work.

We can't use _pmb_recommends here since v24.06 -> v24.12 upgrade will
break onboard unless any package depends on font-dejavu.

Signed-off-by: Masanori Ogino <mogino@acm.org>
[ci:skip-build]: already built successfully in CI
2024-10-04 13:45:17 -07:00
Clayton Craft a44590ec47 ci: build_changed_aports: fix building changed aports in extra-repos/systemd (MR 5576)
With this change, the build test will only build changed aports when
they are in an enabled repo. It will also detect when a changed aport is
in extra-repos/systemd, and build it later with systemd support enabled.

[ci:skip-build]: already built successfully in CI
2024-10-04 12:07:26 -07:00
Petr Hodina b97a6d30c3 testing/firmware-google-blueline: new aport (MR 5514)
Co-developed-by: Victoria Brekenfeld ...
2024-10-04 20:43:21 +02:00
Petr Hodina 3000151e0a testing/firmware-google-blueline-dtbo: new aport (MR 5514)
Co-developed-by: Victoria Brekenfeld ...
2024-10-04 20:43:21 +02:00
Petr Hodina 6d6f286e53 testing/device-google-blueline: New aport (MR 5514) 2024-10-04 20:43:21 +02:00
Caleb Connolly 008bb8b38d linux-postmarketos-qcom-sdm845: upgrade to 6.11.0
Let's get this cooking in edge.

Boot tested on the OnePlus 6, 6T, and Yoga C630

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-04 20:38:15 +02:00
Barnabás Czémán 6f1aeedba3 device/msm8974*: generate extlinux.conf (MR 5682)
Generate extlinux.conf for msm8974 devices make ability
switch to new lk2nd seamlessly.
2024-10-04 07:04:28 +03:00
postmarketOS CI e806b00884 linux-next: upgrade to next-20241003 2024-10-03 21:01:37 +00:00
Pablo Correa Gómez b77fd768e1 petitboot-motorola-smi: get udev rules from /usr/lib/udev (MR 5679)
All rules have been moved to /usr as the move to /usr-merge from
alpine
2024-10-03 18:21:33 +02:00
Pablo Correa Gómez 85d978165a main/postmarketos-mkinitfs-hook-ci: stop including /lib/udev (MR 5679)
Nothing in Alpine or pmOS ships to /lib/udev any more since today and
including it while it doesn't exist breaks the building of images.
2024-10-03 18:19:27 +02:00
Pablo Correa Gómez deed4aa691 main/unl0kr: stop including /lib/udev (MR 5679)
Nothing in Alpine or pmOS ships to /lib/udev any more since today and
including it while it doesn't exist breaks the building of images.
2024-10-03 18:19:27 +02:00
Bart Ribbers f5e579f2d5 main/postmarketos-initramfs: stop including /lib/udev (MR 5678)
Nothing in Alpine or pmOS ships to /lib/udev any more since today and
including it while it doesn't exist breaks the building of images.

[ci:skip-build]: already built successfully in CI
2024-10-03 17:59:47 +02:00
Duje Mihanović 744ac34b5d linux-samsung-coreprimevelte: upgrade to 6.11.0 (MR 5672) 2024-10-03 06:35:11 +09:00
postmarketOS CI 2e82a5580d linux-next: upgrade to next-20241002 2024-10-02 21:05:45 +00:00
Adam Thiede e5093e14b8 linux-postmarketos-mediatek-mt8173: upgrade to 6.11.1 (MR 5611)
introducing a patch to fix blank framebuffer; will report this upstream
as well. Bad commit is bc46eb5d5d7780782c70c7915f59ed25a908d550
2024-10-02 23:13:43 +09:00
Pablo Correa Gómez 1fdfc60c36 main/postmarketos-base-eink: install udev rule under /usr (MR 5663)
[ci:ignore-count]

[ci:skip-build]: already built successfully in CI
2024-10-02 15:26:08 +02:00
Pablo Correa Gómez d175b10ef2 main/unl0kr: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez fc7a6b020b main/postmarketos-mkinitfs-hook-ci: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez d424c71493 main/postmarketos-initramfs: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez b4b9abc4fe temp/mutter-mobile: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez f97ec6d74a temp/iio-sensor-proxy: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez 878e7179f1 temp/gnome-settings-daemon-mobile: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez 2779c51baf main/postmarketos-base-downstream: move udev rules under /usr (MR 5663)
Depends on
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez ca8d40f727 device-purism-librem5dev: move hwdb under /usr (MR 5663)
Depends on
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:03 +02:00
Arnav Singh 5b7d971d3e linux-postmarketos-allwinner: upgrade to 6.11.0_git20240915 (MR 5669)
- 0012-ARM-dts-allwinner-sun5i-a13-pocketbook-614-plus-Add-.patch

  The dts added by this patch is now present in upstream, so this patch has
  been removed. Note that the upstream dts has differences from the one that
  this patch added.

- Set myself as primary maintainer since Jan has been inactive for
  many months now.
[ci:skip-build]: already built successfully in CI
2024-10-02 15:00:46 +02:00
fossdd a9e97f5aa6 main/postmarketos-ui-gnome-mobile: use blue accent color by default (MR 5648)
See 20_postmarketos-blue-accent.gschema.override for reasoning.
2024-10-02 11:20:17 +02:00
fossdd d6344ca124 main/postmarketos-ui-phosh: use blue accent color by default (MR 5648)
See 20_postmarketos-blue-accent.gschema.override for reasoning.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/3218
2024-10-02 11:19:42 +02:00
postmarketOS CI b081572252 linux-next: upgrade to next-20241001 2024-10-01 21:02:35 +00:00
1755 changed files with 80348 additions and 33241 deletions

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
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"
fi
+7 -12
View File
@@ -1,24 +1,18 @@
#!/bin/sh -e
# Description: update a list of packages
# Options: native slow
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk add git openssh-keygen grep curl
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
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 $*"
fi
git config --global --add safe.directory "$CI_PROJECT_DIR"
git config --global user.name "postmarketOS CI"
# pmaports
# The email address is the username of the bot (from the GitLab group members page) @noreply.gitlab.com
git config --global user.email "project_8065375_bot_13cf44ca4cd2c938688af6e3d500d9cb@noreply.gitlab.com"
# For testing with pmaports-autoupdate-test repo
# git config --global user.email "project_58002231_bot_be2d4e9e7aba929855726aafe12940d6@noreply.gitlab.com"
# The username for the bot associated with the access token
# e.g. project_226_bot_bfa19b84bf7f559c8ff7438a01fd29b9
git config --global user.email "$PMAPORTS_TOKEN_BOT@noreply.gitlab.postmarketos.org"
# Configure SSH key for signing
mkdir -p ~/.ssh
@@ -77,6 +71,7 @@ update_linux_next() {
echo "Updating linux-next from $pkgver to $new_pkgver..."
sed -i -e "s/pkgver=$pkgver/pkgver=$new_pkgver/" device/testing/linux-next/APKBUILD
sed -i -e "s/^pkgrel=.*/pkgrel=0/" device/testing/linux-next/APKBUILD
# Update the checksums
pmbootstrap checksum linux-next
@@ -90,9 +85,9 @@ update_linux_next() {
}
# For testing
#git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.com/postmarketOS/pmaports-autoupdate-test.git
#git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.postmarketos.org/postmarketOS/pmaports-autoupdate-test.git
git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.com/postmarketOS/pmaports.git
git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.postmarketos.org/postmarketOS/pmaports.git
git fetch gitlab
git checkout --track gitlab/master
+1 -1
View File
@@ -11,7 +11,7 @@ if [ "$(id -u)" = 0 ]; then
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
+8 -1
View File
@@ -57,7 +57,7 @@ fi
POSTMARKETOS_WALLPAPER_PATH='/usr/share/wallpapers/postmarketos.jpg'
# The excluded devices are "grandfathered in". New devices should not be added here.
# See https://gitlab.com/postmarketOS/pmaports/-/issues/2529
# See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2529
if grep -qr $POSTMARKETOS_WALLPAPER_PATH \
--exclude-dir='device-pine64-pinetab' \
--exclude-dir='device-oneplus-kebab' \
@@ -87,4 +87,11 @@ if grep -qEr 'PMOS_NO_OUTPUT_REDIRECT' -- *; then
exit_code=1
fi
if grep -qEr '^deviceinfo_kernel_cmdline.*[\"\s]console=null' -- device/; then
echo "ERROR: Do not use console=null in the kernel command line."
echo "Use these params to quiet console on boot: quiet loglevel=2"
echo "For more information, see: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/2989"
exit_code=1
fi
exit "$exit_code"
+1 -1
View File
@@ -6,7 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
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"
fi
+1 -6
View File
@@ -23,9 +23,4 @@ if __name__ == "__main__":
print("No APKBUILDs to lint")
sys.exit(0)
result = common.run_pmbootstrap(["-q", "lint"] + packages, output_return=True)
if len(result) > 0:
print("Linting issues found:")
print(result)
sys.exit(1)
common.run_pmbootstrap(["-q", "lint"] + packages)
+54 -13
View File
@@ -2,6 +2,7 @@
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import sys
import os
import pathlib
# Same dir
@@ -9,6 +10,7 @@ import common
# pmbootstrap
import add_pmbootstrap_to_import_path
import pmb.core
import pmb.parse
import pmb.parse._apkbuild
import pmb.helpers.pmaports
@@ -53,22 +55,34 @@ if __name__ == "__main__":
# Package count sanity check
common.get_changed_packages_sanity_check(len(packages))
# [ci:skip-build]: verify checksums and stop
verify_only = common.commit_message_has_string("[ci:skip-build]")
if verify_only:
print("WARNING: not building changed packages ([ci:skip-build])!")
print("verifying checksums: " + ", ".join(packages))
verify_checksums(packages, arch)
sys.exit(0)
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
context = get_context()
# Filter out packages that can't be built for given arch
# Get set of all buildable packages for the enabled repos, for skipping unbuildable
# aports later. We might be given a changed aport from e.g. extra-repos/systemd when
# that repo is not enabled
buildable_pkgs = set()
for path in pmb.core.pkgrepo.pkgrepo_iter_package_dirs():
buildable_pkgs.add(os.path.basename(path))
# To store a list of packages from extra-repos/systemd for special handling later:
systemd_pkgs = list()
# Filter out packages that either:
# 1. can't be built for given arch
# 2. are not found in enabled repos
# (Iterate over copy of packages, because we modify it in this loop)
for package in packages.copy():
if package not in buildable_pkgs:
print(f"{package}: not in any available repos, skipping")
packages.remove(package)
# FIXME: this should probably be more generic, if other repos are added later?
# This just tosses the package into the list of packages to try building later w/ systemd enabled, and assumes it'll be found there.
systemd_pkgs.append(package)
continue
apkbuild_path = pmb.helpers.pmaports.find(package)
apkbuild = pmb.parse._apkbuild.apkbuild(pathlib.Path(apkbuild_path, "APKBUILD"))
@@ -79,8 +93,35 @@ if __name__ == "__main__":
# No packages: skip build
if len(packages) == 0:
print(f"no packages changed, which can be built for {arch}")
sys.exit(0)
# Build packages
print(f"building in strict mode for {arch}: {', '.join(packages)}")
build_strict(packages, arch)
else:
verify_only = common.commit_message_has_string("[ci:skip-build]")
if verify_only:
# [ci:skip-build]: verify checksums and stop
print("WARNING: not building changed packages ([ci:skip-build])!")
print("verifying checksums: " + ", ".join(packages))
verify_checksums(packages, arch)
else:
# Build packages
print(f"building in strict mode for {arch}: {', '.join(packages)}")
build_strict(packages, arch)
# Build packages in extra-repos/systemd
# FIXME: this should probably be more generic, if other repos are added later?
if systemd_pkgs:
common.run_pmbootstrap(["config", "systemd", "always"])
# To fix the ERROR: Chroot 'native' is for the 'edge' channel, but you are on the
# 'systemd-edge' channel. Run 'pmbootstrap zap' to delete your chroots and try again.
# To do this automatically, run 'pmbootstrap config auto_zap_misconfigured_chroots yes'.
common.run_pmbootstrap(["config", "auto_zap_misconfigured_chroots", "yes"])
verify_only = common.commit_message_has_string("[ci:skip-build]")
if verify_only:
# [ci:skip-build]: verify checksums
print("WARNING: not building changed packages for extra-repos/systemd: ([ci:skip-build])!")
print("verifying checksums: " + ", ".join(systemd_pkgs))
verify_checksums(systemd_pkgs, arch)
else:
# Build packages
print(f"building in strict mode for {arch}, from extra-repos/systemd: {', '.join(systemd_pkgs)}")
build_strict(systemd_pkgs, arch)
+1 -1
View File
@@ -5,7 +5,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
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"
fi
+4 -8
View File
@@ -36,7 +36,7 @@ def run_git(parameters, check=True, stderr=None):
def add_upstream_git_remote():
""" Add a remote pointing to postmarketOS/pmaports. """
run_git(["remote", "add", "upstream",
"https://gitlab.com/postmarketOS/pmaports.git"], False)
"https://gitlab.postmarketos.org/postmarketOS/pmaports.git"], False)
run_git(["fetch", "-q", "upstream"])
@@ -44,14 +44,10 @@ def commit_message_has_string(needle):
return needle in run_git(["show", "-s", "--format=full", "HEAD"])
def run_pmbootstrap(parameters, output_return=False):
def run_pmbootstrap(parameters):
""" Run pmbootstrap with the pmaports dir as --aports """
cmd = ["pmbootstrap", "--aports", get_pmaports_dir()] + parameters
stdout = subprocess.PIPE if output_return else None
result = subprocess.run(cmd, stdout=stdout, universal_newlines=True)
result.check_returncode()
if output_return:
return result.stdout
subprocess.run(cmd, universal_newlines=True, check=True)
def get_upstream_branch():
@@ -100,7 +96,7 @@ def get_changed_files(removed=True):
commit_head = run_git(["rev-parse", "HEAD"])[:-1]
commit_upstream = run_git(["rev-parse", branch_upstream])[:-1]
print("commit HEAD: " + commit_head)
print(f"commit {branch_upstream}: f{commit_upstream}")
print(f"commit {branch_upstream}: {commit_upstream}")
# Check if we are HEAD on the upstream branch
if commit_head == commit_upstream:
+1 -1
View File
@@ -8,7 +8,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh pytest
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
-2
View File
@@ -21,11 +21,9 @@ sh_files="
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/setup_usb_storage.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./main/msm-firmware-loader/*.post-install
./device/community/soc-qcom-sdm845/call_audio_idle_suspend_workaround.sh
$(find . -path './main/postmarketos-ui-*/*.sh')
+2 -3
View File
@@ -47,8 +47,7 @@ def test_aports_device():
if "postmarketos-base" == dependency or "postmarketos-base>" in dependency:
depend_flag = True
if not depend_flag:
raise RuntimeError("Missing 'postmarketos-base' in depends of " +
path)
raise RuntimeError(f"Missing 'postmarketos-base' in depends of {path}")
# Depends: Must not have specific packages
for depend in apkbuild["depends"]:
@@ -61,7 +60,7 @@ def test_aports_device():
raise RuntimeError("wrong architecture, please change to arch=\""
f"{deviceinfo.arch}\": {path}")
if "!archcheck" not in apkbuild["options"]:
raise RuntimeError("!archcheck missing in options= line: " + path)
raise RuntimeError(f"!archcheck missing in options= line: {path}")
def test_aports_device_kernel():
+3 -3
View File
@@ -36,7 +36,7 @@ def test_deviceinfo():
# Iterate over all devices
last_exception = None
count = 0
pattern = re.compile("^deviceinfo_[a-zA-Z0-9_]*=\".*\"$")
pattern = re.compile("^deviceinfo_[a-zA-Z0-9_]*=\".*\"(\\s*# .*)?$")
for folder in pkgrepo_iglob("device/*/device-*"):
device = folder.name.split("-", 1)[1]
@@ -63,8 +63,8 @@ def test_deviceinfo():
# Check line against regex (can't use multiple lines etc.)
if not pattern.match(line) or line.endswith("\\\""):
raise RuntimeError("Line looks invalid, maybe missing"
" quotes/multi-line string/comment next"
f" to line instead of above? {line}")
" quotes/multi-line string/malformed"
f" inline comment? {line}")
# Successful deviceinfo parsing / obsolete options
info = pmb.parse.deviceinfo(device)
+2 -1
View File
@@ -10,6 +10,7 @@ expected_directories = [
"device/community",
"device/main",
"device/testing",
"extra-repos/systemd",
"main",
"modem",
"non-free",
@@ -28,7 +29,7 @@ def test_directories():
# Ensure no file in pmaports are executable.
# see https://gitlab.com/postmarketOS/pmaports/-/issues/593.
# see https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/593.
def test_executable_files():
for file in glob.iglob("[!temp]**/**/*", recursive=True):
if os.path.isdir(file) or os.path.islink(file):
+3
View File
@@ -23,6 +23,9 @@ def test_aports_kernel():
apkbuild = pmb.parse.apkbuild(path)
aport_name = os.path.basename(os.path.dirname(path))
if aport_name == "linux-pam":
continue # This package isn't a linux kernel!
if "pmb:cross-native" not in apkbuild["options"]:
raise RuntimeError(f"{aport_name}: \"pmb:cross-native\" missing in"
" options= line")
+5
View File
@@ -12,3 +12,8 @@ indent_style = tab
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
# Forked from Alpine
[extra-repos/systemd/networkmanager/networkmanager.rules]
indent_style = space
indent_size = 4
+12 -2
View File
@@ -65,7 +65,7 @@ is_symlink() {
# available in git tree and checksums are correct.
check_local_sources() {
local apkbuild="$1"
local startdir="${apkbuild%/*}"
local startdir="$2"
local status=0
local checksum_act checksum_exp content filename line sources
@@ -109,11 +109,21 @@ check_file_size() {
fi
}
cleanup() {
[ -f "$_staged" ] && rm "$_staged"
}
trap cleanup EXIT
for apkbuild in $(changed_files '**/APKBUILD'); do
check_local_sources "$apkbuild"
_staged="$(mktemp)"
git show ":$apkbuild" >"$_staged"
check_local_sources "$_staged" "${apkbuild%/*}"
cleanup
done
for path in $(changed_files); do
check_file_size "$path"
done
trap - EXIT
+18 -11
View File
@@ -10,7 +10,12 @@ stages:
- lint
- build
- autoupdate
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/
# common.py) can fail
GIT_DEPTH: 100
# This defines the rules for when a pipeline should run.
workflow:
rules:
@@ -26,7 +31,7 @@ workflow:
wiki:
stage: lint
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: &mr_rule $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
changes:
- .ci/**/*
- .gitlab-ci.yml
@@ -39,7 +44,7 @@ wiki:
ruff:
stage: lint
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
changes:
- .ci/*
- .ci/*/*
@@ -53,7 +58,7 @@ shellcheck-grep:
stage: lint
image: alpine:edge
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/shellcheck.sh
@@ -64,7 +69,7 @@ editor-config:
stage: lint
image: alpine:edge
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/ec.sh
@@ -73,7 +78,7 @@ editor-config:
pytest-commits:
stage: lint
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/pytest.sh
@@ -90,7 +95,7 @@ pytest-commits:
aport-lint:
stage: lint
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/apkbuild-lint.sh
@@ -100,11 +105,13 @@ aport-lint:
kernel-kconfig:
stage: lint
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
changes:
- kconfigcheck.toml
allow_failure: true
- if: *mr_rule
changes:
- device/*/linux-*/config-*
- main/linux-*/config-*
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/kconfig.sh
@@ -119,14 +126,14 @@ mr-settings:
- *global_before_scripts
- apk -q add python3
script:
- wget -q "https://gitlab.com/postmarketOS/ci-common/-/raw/master/check_mr_settings.py"
- wget -q "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/check_mr_settings.py"
- python3 ./check_mr_settings.py
# build changed aports
.build:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
- if: *mr_rule
before_script:
- *global_before_scripts
- .ci/lib/gitlab_prepare_ci.sh
+5 -1
View File
@@ -27,7 +27,8 @@
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v24.06`
* [ ] `v24.12`
* [ ] `v24.06` (supported until 2025-01-23)
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -38,6 +39,9 @@
* [ ] Plasma Mobile
* [ ] Sxmo (Wayland/Sway) **Please post the output of `sxmo_version.sh`**
* [ ] Other: **Please fill out**
### Which init system are you using?
* [ ] OpenRC
* [ ] systemd
### How did you get postmarketOS image?
* [ ] from https://images.postmarketos.org
* [ ] I built it using pmbootstrap
+4 -8
View File
@@ -1,14 +1,10 @@
{
"subject_format": {
"pass": [
"^(([a-z]+\\/[a-z\\-0-9*{}]+),?)+: [A-Za-z\\/\\-0-9*{}\\(\\)\\.,_&:=' ]+( \\(MR \\d+\\)|)$",
"^CI: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^mrhlpr.json: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^pmaports.cfg: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$"
],
"unknown": [
"^[a-z-0-9_.*{}\\/]+: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$"
"^(([a-z]+\\/\\)?\\([a-z\\-0-9*{}]+),?)+: [a-z][A-Za-z\\/\\-0-9*{}\\.,_&:=' ]+( \\(MR \\d+\\)|)$",
"^CI: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\.,_ ]+( \\(MR \\d+\\)|)$",
"^mrhlpr.json: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\.,_ ]+( \\(MR \\d+\\)|)$",
"^pmaports.cfg: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\.,_ ]+( \\(MR \\d+\\)|)$"
]
}
}
+1
View File
@@ -0,0 +1 @@
https://postmarketos.org/funding.json
+17 -2
View File
@@ -31,25 +31,34 @@ device/*/*-pine64-pinephonepro/ @PsychoGame
device/*/*-pine64-rockpro64/ @PureTryOut
device/*/*-purism-librem5/ @craftyguy @alistair23 @Newbyte
device/*/*-qcom-msm8916/ @Minecrell @TravMurav
device/*/*-qcom-msm8953/ @barni2000 @alikates @vipaoL @jiaxyga
device/*/*-qcom-sdm670/ @flamingradian
device/*/*-qcom-sdm845/ @sdm845-mainline
device/*/*-qcom-sm6350/ @z3ntu
device/*/*-qcom-sm8250/ @jianhua
device/*/*-samsung-a3/ @Mis012 @TravMurav @Minecrell
device/*/*-samsung-a5/ @Minecrell @minlexx
device/*/*-samsung-a51/ @manoedinata
device/*/*-samsung-e7/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-espresso10/ @MightyM17
device/*/*-samsung-espresso7/ @MightyM17 @antoni.aloytorrens
device/*/*-samsung-fortuna/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-fortunaltezt/ @bolilingmeng89006
device/*/*-samsung-grandmax/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-gt510/ @TravMurav
device/*/*-samsung-gt58/ @TravMurav
device/*/*-samsung-j3ltetw/ @bolilingmeng89006
device/*/*-samsung-j4lte/ @manoedinata
device/*/*-samsung-j5/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-j5x/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-rossa/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-serranove/ @Minecrell
device/*/*-tolino-shine2hd/ @akemnade
device/*/*-videostrong-kii-pro/ @funderscore
device/*/*-wileyfox-crackling/ @TravMurav @Minecrell
device/*/*-xiaomi-beryllium/ @joelselvaraj
device/*/*-xiaomi-daisy/ @joelselvaraj @alikates
device/*/*-xiaomi-elish/ @jianhua
device/*/*-xiaomi-markw/ @vipaoL
device/*/*-xiaomi-mido/ @barni2000
device/*/*-xiaomi-scorpio/ @Tooniis
@@ -59,6 +68,7 @@ device/*/*-xiaomi-wt88047/ @Minecrell
device/*/*-xiaomi-ysl/ @barni2000
device/*/alsa-ucm-conf-cros/ @WeirdTreeThing
device/*/alsa-ucm-conf-qcom-sdm670/ @flamingradian
device/*/device-apple-n61/ @JustSoup321
device/*/device-fairphone-*/ @z3ntu
device/*/device-generic-x86_64/ @craftyguy @ollieparanoid
device/*/device-google-nyan-big/ @jenneron
@@ -90,8 +100,10 @@ device/*/device-samsung-lt01/ @knuxify
device/*/device-samsung-m0/ @Newbyte
device/*/device-samsung-manta/ @jenneron @alexmrqt
device/*/device-shift-axolotl/ @amartinz @calebccff @dylanvanassche
device/*/device-solidrun-cubox/ @longnoserob
device/*/firmware-google-sargo/ @flamingradian
device/*/firmware-google-veyron-brcm/ @jenneron
device/*/firmware-motorola-osprey/ @Minecrell
device/*/firmware-odroid-xu4/ @Grimler
device/*/firmware-oneplus-sdm845/ @calebccff
device/*/firmware-powervr-gx6250/ @jenneron
@@ -102,13 +114,16 @@ device/*/linux-huawei-plank/ @gtrxAC
device/*/linux-next/ @calebccff
device/*/linux-postmarketos-allwinner/ @Arnavion @PsychoGame
device/*/linux-postmarketos-amlogic/ @funderscore @exkc
device/*/linux-postmarketos-apple/ @JustSoup321
device/*/linux-postmarketos-exynos4/ @Newbyte @Grimler @knuxify
device/*/linux-postmarketos-exynos5/ @jenneron @Grimler
device/*/linux-postmarketos-grate/ @clamor-s @jenneron @jethrob
device/*/linux-postmarketos-imx-ereader/ @akemnade
device/*/linux-postmarketos-marvell/ @longnoserob @exkc
device/*/linux-postmarketos-mediatek-mt8173/ @jenneron @adamthiede
device/*/linux-postmarketos-mediatek-mt8183/ @jenneron @binarycraft
device/*/linux-postmarketos-omap/ @MightyM17 @Sicelo
device/*/linux-postmarketos-qcom-laptop/ @craftyguy @calebccff
device/*/linux-postmarketos-qcom-msm8939/ @Newbyte
device/*/linux-postmarketos-qcom-msm8953/ @M0Rf30 @Ultra-azu @barni2000
device/*/linux-postmarketos-qcom-msm8996/ @Tooniis
@@ -132,10 +147,10 @@ device/*/u-boot-librem5/ @craftyguy @alistair23 @Newbyte
device/*/u-boot-pinebookpro/ @QC8086
device/*/u-boot-pinephone/ @Arnavion @PsychoGame
device/*/wl1251-cal/ @Danct12
main/postmarketos*gnome*/ @pabloyoyoista @Newbyte
main/postmarketos*gnome*/ @pabloyoyoista @Newbyte @fossdd
main/postmarketos-initramfs/ @calebccff @craftyguy
main/postmarketos-ui-i3wm/ @fossdd
main/postmarketos-ui-phosh/ @pabloyoyoista @Newbyte
main/postmarketos-ui-phosh/ @pabloyoyoista @Newbyte @fossdd
main/postmarketos-ui-plasma-mobile/ @PureTryOut
main/shutdown-clear-rtc-wakealarm/ @Arnavion
main/ttyescape/ @calebccff
+5 -1
View File
@@ -1,4 +1,8 @@
# postmarketOS aports
# postmarketOS aports repository
This repository contains the APKBUILD files for postmarketOS-specific packages, along with the required patches and scripts, if any.
There are many more packages defined in the [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/) on which these packages depend.
Helpful resources:
* [How to create a package](https://wiki.postmarketos.org/wiki/Create_a_package)
+162
View File
@@ -0,0 +1,162 @@
This page lists all of the various projects that postmarketOS maintains, along with the team members that maintain them. To become a maintainer, simply talk with the current maintainer(s) if there are any, or add yourself if you are interested and there are no maintainers.
=== Main ===
{| class="wikitable" style="margin:auto"
|-
! Project !! Description !! Maintainers !! Repository !! Issue tracker
=== Tools ===
{| class="wikitable" style="margin:auto"
|-
! Project !! Description !! Maintainers !! Repository !! Issue tracker
=== Infra ===
{| class="wikitable" style="margin:auto"
|-
! Project !! Description !! Maintainers !! Repository !! Issue tracker
|-
| [Package browser https://pkgs.postmarketos.org ]] || Python implementation of aports-turbo || || [https://gitlab.com/postmarketOS/apkbrowser apkbrowser] || [https://gitlab.com/postmarketOS/apkbrowser/-/issues/new Report issue]
{| class="wikitable" style="margin:auto"
|-
! Project !! Description !! Maintainers
|-
| [https://gitlab.com/postmarketOS/aports-turbo aports-turbo] || ||
|-
| [https://gitlab.com/postmarketOS/artwork artwork] || ||
|-
| [https://gitlab.com/postmarketOS/asus-transformer-blobtools asus-transformer-blobtools] || ||
|-
| [https://gitlab.com/postmarketOS/boot-deploy boot-deploy] || || [[User:craftyguy|craftyguy]] ([[User:Caleb|Caleb]] trying to help)
|-
| [https://gitlab.com/postmarketOS/bootmac bootmac] || ||
|-
| [https://gitlab.com/postmarketOS/buffybox BuffyBox] || ||
|-
| [https://gitlab.com/postmarketOS/build.postmarketos.org build.postmarketos.org] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/cast.postmarketos.org cast.postmarketos.org] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/charging-sdl charging-sdl] || ||
|-
| [https://gitlab.com/postmarketOS/ci-common ci-common] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/fbdebug fbdebug] || ||
|-
| [https://gitlab.com/postmarketOS/gnss-share gnss-share] || || [[User:craftyguy|craftyguy]]
|-
| [https://gitlab.com/postmarketOS/gpmbootstrap gpmbootstrap] || ||
|-
| [https://gitlab.com/postmarketOS/hkdm HKDM] || || [[User:Caleb|Caleb]]
|-
| [https://gitlab.com/postmarketOS/install-makedepends install-makedepends] || ||
|-
| [https://gitlab.com/postmarketOS/jonathan jonathan] || Matrix chat bot for managing/syncing cross-room power levels and access, and handling shortcuts ||
|-
| [https://gitlab.com/postmarketOS/libapk-qt libapk-qt (ApkQt)] || || [[User:Alexeymin|Alexey Min]]
|-
| [https://gitlab.com/postmarketOS/mobile-config-firefox mobile-config-firefox] || ||
|-
| [https://gitlab.com/postmarketOS/monitoring monitoring] || ||
|-
| [https://gitlab.com/postmarketOS/mrhlpr mrhlpr] || || [[User:ollieparanoid|ollieparanoid]] and [[User:Pabloyoyoista|pabloyoyoista]]
|-
| [https://gitlab.com/postmarketOS/msm-cros-efs-loader msm-cros-efs-loader] || || [[User:Jenneron|Jenneron]]
|-
| [https://gitlab.com/postmarketOS/msm-firmware-loader msm-firmware-loader] || || [[User:TravMurav|TravMurav]]
|-
| [https://gitlab.com/postmarketOS/obex-capabilities obex-capabilities] || ||
|-
| [https://gitlab.com/postmarketOS/ondev2 ondev2] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/openrc-settingsd openrc-settingsd] || ||
|-
| [https://gitlab.com/postmarketOS/pbsplash pbsplash] || || [[User:Caleb|Caleb]]
|-
| [https://gitlab.com/postmarketOS/pmaports pmaports] || || Various, see [https://gitlab.com/postmarketOS/pmaports/-/blob/master/CODEOWNERS CODEOWNERS] and APKBUILDs in repo
|-
| [https://gitlab.com/postmarketOS/pmbootstrap pmbootstrap] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/postmarketos-android-recovery-installer postmarketos-android-recovery-installer] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-apparmor-profiles postmarketos-apparmor-profiles] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-backup postmarketos-backup] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-demos postmarketos-demos] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-mkinitfs postmarketos-mkinitfs] || || [[User:craftyguy|craftyguy]]
|-
| [https://gitlab.com/postmarketOS/postmarketos-release-upgrade postmarketos-release-upgrade] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-testing-template-generator postmarketos-testing-template-generator] || || [[User:Jenneron|Jenneron]]
|-
| [https://gitlab.com/postmarketOS/postmarketos-theme postmarketos-theme] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-tweaks postmarketos-tweaks] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-upgrade-gtk3 postmarketOS Upgrade GTK3] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos-welcome postmarketOS Welcome] || ||
|-
| [https://gitlab.com/postmarketOS/postmarketos.org postmarketos.org] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/q6voiced q6voiced] || ||
|-
| [https://gitlab.com/postmarketOS/reboot-mode reboot-mode] || ||
|-
| [https://gitlab.com/postmarketOS/status.postmarketos.org status.postmarketos.org] || ||
|-
| [https://gitlab.com/postmarketOS/swclock-offset swclock-offset] || ||
|-
| [https://gitlab.com/postmarketOS/tinydm tinydm] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/ttq ttq] || || [[User:ollieparanoid|ollieparanoid]]
|-
| [https://gitlab.com/postmarketOS/ttyescape TTYEscape] || || [[User:Caleb|Caleb]]
|-
| [https://gitlab.com/postmarketOS/unudhcpd unudhcpd] || || [[User:craftyguy|craftyguy]]
|-
| [https://gitlab.com/postmarketOS/webflash webflash] || ||
|-
| [https://gitlab.com/postmarketOS/wiki wiki] || ||
|-
| [https://gitlab.com/postmarketOS/xfce4-phone xfce4-phone] || ||
|}
== Archived Projects ==
{| class="wikitable" style="margin:auto"
|-
! Project !! Reason
|-
| [https://gitlab.com/postmarketOS/anbox-image-make anbox-image-make] || || Anbox is no longer maintained and has been replaced by Waydroid
|-
| [https://gitlab.com/postmarketOS/gps-nokia-n900 gps-nokia-n900] || || Now maintained under [https://github.com/maemo-leste/gps-nokia-n900 Maemo Leste]
|-
| [https://gitlab.com/postmarketOS/linux-postmarketos-archive linux-postmarketos-archive] || || The linux-postmarketos.git repository was removed due to space issues
|-
| [https://gitlab.com/postmarketOS/matrix-bot matrix-bot] || || Superseded by jonathan
|-
| [https://gitlab.com/postmarketOS/megapixels megapixels] || || Use https://gitlab.com/megapixels-org instead
|-
| [https://gitlab.com/postmarketOS/pmOS-repo-scripts pmOS-repo-scripts] || || Superseded by bpo
|-
| [https://gitlab.com/postmarketOS/postmarketos-images postmarketos-images] || || Superseded by bpo
|-
| [https://gitlab.com/postmarketOS/osk-sdl osk-sdl] || || Superseded by unl0kr
|-
| [https://gitlab.com/postmarketOS/postmarketos-ondev postmarketos-ondev] || || Superseded by ondev2
|-
| [https://gitlab.com/postmarketOS/postmarketos-splash postmarketos-splash] || || Superseded by pbsplash
|-
| [https://gitlab.com/postmarketOS/postprocessd postprocessd] || || Use https://gitlab.com/megapixels-org/postprocessd instead
|}
+7 -1
View File
@@ -8,8 +8,14 @@ branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v24.06]
[v24.12]
description=Latest release / Recommended for best stability
branch_pmaports=v24.12
branch_aports=3.21-stable
mirrordir_alpine=v3.21
[v24.06]
description=Old release (supported until 2025-01-23)
branch_pmaports=v24.06
branch_aports=3.20-stable
mirrordir_alpine=v3.20
+9341
View File
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-aarch64
pkgver=1.36.1
pkgrel=32
pkgver=1.37.0
pkgrel=11
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
88f07677919711bb577f60e1861f4fa555168a8703a0a3b904550e24d4045135bb0296e00464899fc6231df07db09bb11f1bc81cdf593a71a8f74dfc3333c29e busybox-static-1.36.1-r32-aarch64-edge.apk
4b5bc587f42d06ec8dfb1b1b0dc9bcd5e7b35e6b0223c6e4d3db3ac3567a93eda4b595e7e46b9d4322607380909ebba7361a8ea3e8bfe3fcecb139261b22331d busybox-static-1.37.0-r11-aarch64-edge.apk
"
+3 -3
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-armhf
pkgver=1.36.1
pkgrel=32
pkgver=1.37.0
pkgrel=11
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
b0985e2f62df8f1d4e1b7a1206dc3e462df1e6b2a8aae662e57cc497ca3f474f37cc952de0d3bbaad6532d569bf540f17ad4eccc9cabfdc3c9f95f8feaf08049 busybox-static-1.36.1-r32-armhf-edge.apk
2acc65aa25b8d4a842e951ea357b7f5c9dbcb693c2d7bca7b5256e2a79211b90eb63c0b3b5e146501e679d6db89c9b499090b87e3039b5fce9ef68f039de0eb7 busybox-static-1.37.0-r11-armhf-edge.apk
"
+3 -3
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-armv7
pkgver=1.36.1
pkgrel=32
pkgver=1.37.0
pkgrel=11
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
f383286e58183232b41a0d299528734cb29b11e51112eab1fe513322a269a2cdf90a1341d7e329ed7cd58e2d158e3a80bc3a5290ef93de2b28aaf7a25b78bfd7 busybox-static-1.36.1-r32-armv7-edge.apk
016df6eaeda31a8c6236fde4a93a7bed005f61970d53f02d2ca7c91234a7e6587538c8a3fa3ac8cba6aa0cccbf7d0ad104c63c6967e2b6372fe1c5f56b0649ea busybox-static-1.37.0-r11-armv7-edge.apk
"
+2 -2
View File
@@ -5,7 +5,7 @@
pkgname=ccache-cross-symlinks
pkgver=3
pkgrel=0
pkgrel=1
pkgdesc="Enable ccache for cross-compilers with symlinks"
url="https://ccache.samba.org/"
arch="noarch"
@@ -15,7 +15,7 @@ options="!check"
package() {
# Keep in sync with pmb.config.build_device_architectures
local _archs="armhf armv7 aarch64 x86_64 x86"
local _archs="armhf armv7 aarch64 x86_64 x86 riscv64"
local _bins="c++ cc cpp g++ gcc clang clang++"
mkdir -p "$pkgdir/usr/lib/ccache/bin"
+5 -5
View File
@@ -19,8 +19,8 @@
# version is implemented as simple shell wrappers.
pkgname=crossdirect
pkgver=5.1.0
pkgrel=0
pkgver=5.2.0
pkgrel=1
pkgdesc="Wrappers to launch native cross compilers in foreign chroots"
url="https://postmarketOS.org"
arch="all"
@@ -31,7 +31,7 @@ source="cargo.sh crossdirect.c rustc.sh rust-qemu-linker.sh"
build() {
cd "$srcdir"
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64"
_archs="x86_64 armhf armv7 aarch64 riscv64"
for _arch in $_archs; do
[ "$_arch" == "$CARCH" ] && continue
_hostspec="$(arch_to_hostspec $_arch)"
@@ -48,7 +48,7 @@ build() {
package() {
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64"
_archs="x86_64 armhf armv7 aarch64 riscv64"
_bins="c++ cc cpp g++ gcc clang clang++"
# Rust wrappers
@@ -82,7 +82,7 @@ package() {
sha512sums="
0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh
500107e5aff8b34e74b54982ebcd447fc41bc8283956d506561b031a055cb30ec12698047c2604918b4b6d8560fe03db427a63dff2b83c907e8494b7f5233f29 crossdirect.c
b2e602b7fc95ed403d29f0d754879d5f773c39ee33e726bb10cff17b3c088406dac84f2ca6d8ad563c64370007d98af805d6ee9cd4a06fe3d4c61c0cb90c5c0c crossdirect.c
de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh
"
+13 -8
View File
@@ -43,9 +43,8 @@
void exit_userfriendly()
{
fprintf(stderr, "Please report this at: https://gitlab.com/postmarketOS/pmaports/issues\n");
fprintf(stderr, "As a workaround, you can compile without crossdirect.\n");
fprintf(stderr, "See 'pmbootstrap -h' for related options.\n");
fprintf(stderr, "Please report this at: https://gitlab.postmarketos.org/postmarketOS/pmaports/issues\n");
fprintf(stderr, "As a workaround, you can compile without crossdirect with options=\"!pmb:crossdirect\".\n");
exit(1);
}
@@ -118,11 +117,17 @@ int main(int argc, char **argv)
NULL };
char *ldPreload = getenv("LD_PRELOAD");
if (ldPreload) {
if (strcmp(ldPreload, "/usr/lib/libfakeroot.so") == 0) {
env[0] = "LD_PRELOAD=/native/usr/lib/libfakeroot.so";
} else {
fprintf(stderr, "ERROR: crossdirect: can't handle LD_PRELOAD: %s\n", ldPreload);
exit_userfriendly();
if (strstr(ldPreload, "libfakeroot.so")) {
fprintf(stderr, "============================================================================================\n");
fprintf(stderr, "ERROR: crossdirect was called with: LD_PRELOAD=%s\n", ldPreload);
fprintf(stderr, "This means your package tried to run a compiler during package().\n");
fprintf(stderr, "This is not supported by crossdirect, and usually not a good idea.\n");
fprintf(stderr, "* Try to fix your APKBUILD so it does not run the compiler during package(), only in build()\n");
fprintf(stderr, " * If you're using 'meson install', try to add '--no-rebuild'\n");
fprintf(stderr, "* If this is not possible, you can work around it by setting options=\"!pmb:crossdirect\"\n");
fprintf(stderr, " (compilation will be slower!)\n");
fprintf(stderr, "============================================================================================\n");
exit(1);
}
}
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-aarch64 mpc1"
depends="binutils-aarch64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
subpackages="g++-aarch64:gpp libstdc++-dev-aarch64:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armhf
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for armhf"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-armhf mpc1"
depends="binutils-armhf mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
subpackages="g++-armhf:gpp libstdc++-dev-armhf:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armv7
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for armv7"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-armv7 mpc1"
depends="binutils-armv7 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armv7 binutils-armv7"
subpackages="g++-armv7:gpp libstdc++-dev-armv7:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-riscv64
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for riscv64"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-riscv64 mpc1"
depends="binutils-riscv64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-riscv64 binutils-riscv64"
subpackages="g++-riscv64:gpp libstdc++-dev-riscv64:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-x86
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for x86"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-x86 mpc1"
depends="binutils-x86 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-x86 binutils-x86"
subpackages="g++-x86:gpp libstdc++-dev-x86:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+84 -163
View File
@@ -34,19 +34,19 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-x86_64
pkgrel=3
pkgrel=5
pkgdesc="Stage2 cross-compiler for x86_64"
url="https://gcc.gnu.org"
arch="aarch64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-x86_64 mpc1"
depends="binutils-x86_64 mpc1 so:libc.musl-aarch64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-x86_64 binutils-x86_64"
subpackages="g++-x86_64:gpp libstdc++-dev-x86_64:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc$_target"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
replaces="libstdc++ binutils"
options="!strip"
options="!strip !tracedeps"
: "${LANG_CXX:=true}"
: "${LANG_D:=true}"
@@ -135,7 +135,6 @@ else
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
export LDFLAGS_FOR_TARGET="$LDFLAGS"
export BOOT_CFLAGS="$CFLAGS"
export BOOT_CXXFLAGS="$CXXFLAGS"
export BOOT_LDFLAGS="$LDFLAGS"
fi
@@ -170,7 +169,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64 | ppc64le) ;;
*) _libquadmath=false ;;
esac
@@ -218,13 +217,12 @@ if $LANG_FORTRAN; then
_languages="$_languages,fortran"
fi
if $LANG_ADA; then
subpackages="$subpackages gcc-gnat$_target:gnat"
subpackages="$subpackages gcc-gnat$_target:gnat libgnat::$CTARGET_ARCH"
_languages="$_languages,ada"
if [ "$CBUILD" = "$CTARGET" ]; then
makedepends_build="$makedepends_build gcc-gnat-bootstrap"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH"
subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH"
else
subpackages="$subpackages libgnat::$CTARGET_ARCH"
makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross"
fi
fi
@@ -234,7 +232,7 @@ fi
makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
# https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
#
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
@@ -244,7 +242,7 @@ makedepends="$makedepends_build $makedepends_host"
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -283,6 +281,7 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
0036-libphobos-add-riscv64-and-loongarch64-support.patch
fix-arm64.patch
ppc64le-quadmath.patch
riscv64-improve-build-time.patch
"
# secfixes:
@@ -290,44 +289,21 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkg
# - CVE-2023-4039
# we build out-of-tree
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
#builddir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
builddir="$srcdir"/gcc-$_pkgbase
_gcclibdir="/usr/lib/gcc/$CTARGET/$_pkgbase"
_gcclibexec="/usr/libexec/gcc/$CTARGET/$_pkgbase"
prepare() {
cd "$_gccdir"
_err=
for i in $source; do
case "$i" in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || _err="$_err $i"
;;
esac
done
if [ -n "$_err" ]; then
error "The following patches failed:"
for i in $_err; do
echo " $i"
done
return 1
fi
echo ${_pkgbase:-$pkgver} > gcc/BASE-VER
default_prepare
echo $_pkgbase > gcc/BASE-VER
}
build() {
local _arch_configure=
local _libc_configure=
local _bootstrap_configure=
local _symvers=
local _jit_configure=
cd "$_gccdir"
case "$CTARGET" in
aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";;
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
@@ -343,7 +319,7 @@ build() {
i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";;
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";;
loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";;
loongarch64-*-*-*) _arch_configure="--with-arch=la64v1.0 --with-abi=lp64d";;
esac
case "$CTARGET_ARCH" in
@@ -351,15 +327,7 @@ build() {
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
esac
case "$CTARGET_LIBC" in
musl)
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
esac
export libat_cv_have_ifunc=no
case "$BOOTSTRAP" in
@@ -388,10 +356,8 @@ build() {
echo " CHOST=$CHOST"
echo " CTARGET=$CTARGET"
echo " CTARGET_ARCH=$CTARGET_ARCH"
echo " CTARGET_LIBC=$CTARGET_LIBC"
echo " languages=$_languages"
echo " arch_configure=$_arch_configure"
echo " libc_configure=$_libc_configure"
echo " cross_configure=$_cross_configure"
echo " bootstrap_configure=$_bootstrap_configure"
echo " hash_style_configure=$_hash_style_configure"
@@ -412,7 +378,7 @@ build() {
--disable-multilib
--disable-nls
--disable-werror
$_symvers
--disable-symvers
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
@@ -420,7 +386,8 @@ build() {
--enable-link-serialization=2
--enable-linker-build-id
$_arch_configure
$_libc_configure
--disable-libssp
--disable-libsanitizer
$_cross_configure
$_bootstrap_configure
--with-bugurl=https://gitlab.alpinelinux.org/alpine/aports/-/issues
@@ -430,7 +397,7 @@ build() {
mkdir -p "$_builddir"
cd "$_builddir"
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--with-pkgversion="$version"
msg "building gcc"
@@ -446,7 +413,7 @@ build() {
if $LANG_JIT; then
mkdir -p "$_builddir"/libgccjit-build
cd "$_builddir"/libgccjit-build
"$_gccdir"/configure $gccconfiguration \
"$builddir"/configure $gccconfiguration \
--disable-bootstrap \
--enable-host-shared \
--enable-languages=jit \
@@ -461,7 +428,7 @@ package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
[ "$CHOST" = "$CTARGET" ] && ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
@@ -505,25 +472,22 @@ package() {
# move ada runtime libs
if $LANG_ADA; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do
local libgnat_static=
[ "$CHOST" = "$CTARGET" ] && libgnat_static="libgna*.a"
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 \( -name "libgna*.so" -o -name "$libgnat_static" \) ); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
if [ "$CHOST" = "$CTARGET" ]; then
for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do
mv "$i" "$pkgdir"/usr/lib/
ln -s ../../../../${i##*/} $i
done
fi
fi
if [ "$CHOST" != "$CTARGET" ]; then
# cross-gcc: remove any files that would conflict with the
# native gcc package
rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
rm -rf "$pkgdir"/usr/include "${pkgdir:?}"/usr/share
# libcc1 does not depend on target, don't ship it
rm -rf "$pkgdir"/usr/lib/libcc1.so*
# fixup gcc library symlinks to be linker scripts so
# linker finds the libs from relocated sysroot
for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do
@@ -572,8 +536,7 @@ libatomic() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libatomic.so.*
}
libcxx() {
@@ -586,8 +549,7 @@ libcxx() {
nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime
fi
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libstdc++.so.*
}
libcxx_dev() {
@@ -605,15 +567,13 @@ libcxx_dev() {
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
"$subpkgdir"/usr/${_target:+$CTARGET/}lib \
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/"
depends="$depends so:libc.musl-aarch64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
amove $_gcclibexec/cc1plus
amove usr/bin/*++
}
jit() {
@@ -632,30 +592,26 @@ libobjc() {
pkgdesc="GNU Objective-C runtime"
replaces="objc"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libobjc.so.*
}
objc() {
pkgdesc="GNU Objective-C"
replaces="gcc"
depends="libc-dev gcc=$_gccrel libobjc=$_gccrel"
depends="musl-dev gcc=$_gccrel libobjc=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include \
"$subpkgdir"/usr/lib
mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/
mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \
"$subpkgdir"/usr/lib/
amove $_gcclibexec/cc1obj
amove $_gcclibdir/include/objc
amove usr/lib/libobjc.so
amove usr/lib/libobjc.a
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgcc_s.so.*
}
libgomp() {
@@ -663,17 +619,15 @@ libgomp() {
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgomp.so.*
}
libgphobos() {
pkgdesc="D programming language standard library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so.*
amove usr/lib/libgphobos.so.*
}
gdc() {
@@ -682,42 +636,26 @@ gdc() {
[ "$CBUILD" = "$CTARGET" ] && depends="$depends libgphobos=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && provides="gcc-gdc-bootstrap=$_gccrel"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/$_gcclibdir/include/d/ \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
# Copy: The installed '.d' files, the static lib, the binary itself
# The shared libs are part of 'libgphobos' so one can run program
# without installing the compiler
mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/"
mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/
amove $_gcclibexec/d21
amove $_gcclibdir/include/d
if [ "$CBUILD" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.so "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.so "$subpkgdir"/usr/lib/
amove usr/lib/libgdruntime.so
amove usr/lib/libgphobos.so
fi
if [ "$CHOST" = "$CTARGET" ]; then
mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
else
mkdir -p "$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgdruntime.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.a \
"$subpkgdir"/usr/$CTARGET/lib/
mv "$pkgdir"/usr/$CTARGET/lib/libgphobos.spec \
"$subpkgdir"/usr/$CTARGET/lib/
fi
mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/
amove usr/${_target:+$CTARGET/}lib/libgdruntime.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.a
amove usr/${_target:+$CTARGET/}lib/libgphobos.spec
amove usr/bin/*gdc
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgo.so.*
}
go() {
@@ -725,31 +663,25 @@ go() {
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/usr/lib/libgo.a \
"$pkgdir"/usr/lib/libgo.so \
"$pkgdir"/usr/lib/libgobegin.a \
"$pkgdir"/usr/lib/libgolibbegin.a \
"$subpkgdir"/usr/lib/
amove usr/lib/go
amove usr/bin/*go
amove usr/bin/*gofmt
amove $_gcclibexec/go1
amove $_gcclibexec/cgo
amove $_gcclibexec/buildid
amove $_gcclibexec/test2json
amove $_gcclibexec/vet
amove usr/lib/libgo.a
amove usr/lib/libgo.so
amove usr/lib/libgobegin.a
amove usr/lib/libgolibbegin.a
}
libgfortran() {
pkgdesc="Fortran runtime library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libgfortran.so.*
}
libquadmath() {
@@ -757,8 +689,7 @@ libquadmath() {
pkgdesc="128-bit math library for GCC"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.so.*
}
gfortran() {
@@ -767,38 +698,30 @@ gfortran() {
$_libquadmath && depends="$depends libquadmath=$_gccrel"
replaces="gcc"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libgfortran.a \
"$pkgdir"/usr/lib/libgfortran.so \
"$subpkgdir"/usr/lib/
amove usr/bin/*gfortran
amove usr/lib/libgfortran.a
amove usr/lib/libgfortran.so
if $_libquadmath; then
mv "$pkgdir"/usr/lib/libquadmath.a \
"$pkgdir"/usr/lib/libquadmath.so \
"$subpkgdir"/usr/lib/
amove usr/lib/libquadmath.a
amove usr/lib/libquadmath.so
fi
mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec
mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir
amove $_gcclibdir/finclude
amove $_gcclibexec/f951
mv -v "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir/
}
libgnat() {
pkgdesc="GNU Ada runtime shared libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.so
}
libgnatstatic() {
pkgdesc="GNU Ada static libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/
amove usr/lib/libgna*.a
}
gnat() {
@@ -807,12 +730,9 @@ gnat() {
provides="$pkgname-gnat-bootstrap=$_gccrel"
[ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel"
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/$_gcclibdir \
"$subpkgdir"/usr/bin
mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/
mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/
mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/
amove $_gcclibexec/*gnat*
amove $_gcclibdir/*ada*
amove usr/bin/*gnat*
}
gdb() {
@@ -864,4 +784,5 @@ c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1
06f64544fd8bc4b6c8b06410c5198aa8fb4e82c232afc0cad83b2c69ac5d39399968206defa78297222700cd18e7fd7e8244afa76d343406a01f657c86306453 0036-libphobos-add-riscv64-and-loongarch64-support.patch
00319c9770362520e8e93bd03fda1769dfa3622eba77d620e11d8af45a38e6d804a5e924046ae388e1cfaea605696e89c343fca507aaaa5edd58d80744fff14f fix-arm64.patch
815265826742400f86336f0c2d3e4edc37398dbc6505ee81107c0103c13ac0f406cff851438d2323033c6c6d0c0323765ee15b975eab8d1dd465f9e988168fb9 ppc64le-quadmath.patch
ea55e0fa6813fc95c4ca2e87f059182edc54dc61515ebb92bf6eb31dbbd176d0fe81edcc7ea28d32f84ca37e8d48a544623d3d9bc94aa41ffc0859326a616aa2 riscv64-improve-build-time.patch
"
@@ -0,0 +1,149 @@
Patch-Source: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2cf89ae83225f932b226cd57ef2d083a59bcf8a3
--
From 2cf89ae83225f932b226cd57ef2d083a59bcf8a3 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Tue, 6 Aug 2024 14:56:26 +0200
Subject: [PATCH] tree-optimization/116166 - forward jump-threading going wild
Currently the forward threader isn't limited as to the search space
it explores and with it now using path-ranger for simplifying
conditions it runs into it became pretty slow for degenerate cases
like compiling insn-emit.cc for RISC-V esp. when compiling for
a host with LOGICAL_OP_NON_SHORT_CIRCUIT disabled.
The following makes the forward threader honor the search space
limit I introduced for the backward threader. This reduces
compile-time from minutes to seconds for the testcase in PR116166.
Note this wasn't necessary before we had ranger but with ranger
the work we do is quadatic in the length of the threading path
we build up (the same is true for the backwards threader).
PR tree-optimization/116166
* tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks):
Add limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
* tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks):
Honor and decrement limit parameter.
(jump_threader::thread_through_normal_block): Likewise.
(jump_threader::thread_across_edge): Initialize limit from
param_max_jump_thread_paths and pass it down to workers.
---
gcc/tree-ssa-threadedge.cc | 30 ++++++++++++++++++++++--------
gcc/tree-ssa-threadedge.h | 4 ++--
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/gcc/tree-ssa-threadedge.cc b/gcc/tree-ssa-threadedge.cc
index 7f82639b8ecc..0aa2aa851430 100644
--- a/gcc/tree-ssa-threadedge.cc
+++ b/gcc/tree-ssa-threadedge.cc
@@ -786,13 +786,17 @@ propagate_threaded_block_debug_into (basic_block dest, basic_block src)
bool
jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
edge taken_edge,
- bitmap visited)
+ bitmap visited, unsigned &limit)
{
basic_block bb = taken_edge->dest;
gimple_stmt_iterator gsi;
gimple *stmt;
tree cond;
+ if (limit == 0)
+ return false;
+ --limit;
+
/* The key property of these blocks is that they need not be duplicated
when threading. Thus they cannot have visible side effects such
as PHI nodes. */
@@ -830,7 +834,8 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
bitmap_set_bit (visited, taken_edge->dest->index);
- return thread_around_empty_blocks (path, taken_edge, visited);
+ return thread_around_empty_blocks (path, taken_edge, visited,
+ limit);
}
}
@@ -872,7 +877,7 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
m_registry->push_edge (path, taken_edge, EDGE_NO_COPY_SRC_BLOCK);
m_state->append_path (taken_edge->dest);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return true;
}
@@ -899,8 +904,13 @@ jump_threader::thread_around_empty_blocks (vec<jump_thread_edge *> *path,
int
jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge e, bitmap visited)
+ edge e, bitmap visited,
+ unsigned &limit)
{
+ if (limit == 0)
+ return 0;
+ limit--;
+
m_state->register_equivs_edge (e);
/* PHIs create temporary equivalences.
@@ -989,7 +999,7 @@ jump_threader::thread_through_normal_block (vec<jump_thread_edge *> *path,
visited. This may be overly conservative. */
bitmap_set_bit (visited, dest->index);
bitmap_set_bit (visited, e->dest->index);
- thread_around_empty_blocks (path, taken_edge, visited);
+ thread_around_empty_blocks (path, taken_edge, visited, limit);
return 1;
}
}
@@ -1075,9 +1085,12 @@ jump_threader::thread_across_edge (edge e)
bitmap_set_bit (visited, e->src->index);
bitmap_set_bit (visited, e->dest->index);
+ /* Limit search space. */
+ unsigned limit = param_max_jump_thread_paths;
+
int threaded = 0;
if ((e->flags & EDGE_DFS_BACK) == 0)
- threaded = thread_through_normal_block (path, e, visited);
+ threaded = thread_through_normal_block (path, e, visited, limit);
if (threaded > 0)
{
@@ -1148,11 +1161,12 @@ jump_threader::thread_across_edge (edge e)
m_registry->push_edge (path, e, EDGE_START_JUMP_THREAD);
m_registry->push_edge (path, taken_edge, EDGE_COPY_SRC_JOINER_BLOCK);
- found = thread_around_empty_blocks (path, taken_edge, visited);
+ found = thread_around_empty_blocks (path, taken_edge, visited, limit);
if (!found)
found = thread_through_normal_block (path,
- path->last ()->e, visited) > 0;
+ path->last ()->e, visited,
+ limit) > 0;
/* If we were able to thread through a successor of E->dest, then
record the jump threading opportunity. */
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 9f6cbfe93307..245b3506a550 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -101,9 +101,9 @@ private:
unsigned limit);
bool thread_around_empty_blocks (vec<class jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
int thread_through_normal_block (vec<jump_thread_edge *> *path,
- edge, bitmap visited);
+ edge, bitmap visited, unsigned &limit);
void thread_across_edge (edge);
bool record_temporary_equivalences_from_phis (edge);
gimple *record_temporary_equivalences_from_stmts_at_dest (edge);
--
2.43.5
+2 -2
View File
@@ -3,7 +3,7 @@
pkgname=grub-efi-x86
pkgver=2.12
pkgrel=6
pkgrel=7
_arch="x86"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -22,5 +22,5 @@ package() {
}
sha512sums="
bad54187b4fbb9f78f2d619ff9a652a4927c557070c2c39334fd9900ae5aeb956144055602ca56295d7966c2d10090ef142a073dd67eb14f7b41ba0d54c78d4d grub-efi-2.12-r6-x86-edge.apk
8a44b4d48c804fb2c62c3d75c85f86a108f1446d3b1f194cde3c1b3ce7653825379d5733fdf8e08013afcea0d9c879438556d8cbbfb7d5cd6c41b98ab7216492 grub-efi-2.12-r7-x86-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-aarch64
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="x86_64"
subpackages="musl-dev-aarch64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
30c20d050028bbe9a2203a0db0bb1453d921ac381fc3a7dc2c79c535a7ac25ecf65d7ee367b17178a37aa0e26d028a860d03567e9662c6251171c53bf2562893 musl-1.2.5-r3-aarch64-edge.apk
43ef19c8698e98eb473116e7c21dbb9e66d994bd1cd63837d0f0c43ceaf1ce4f1db582e48b22478574ef7fe4bc309aa7bb387af2f99d8d88bcecfaf7763ec82c musl-dev-1.2.5-r3-aarch64-edge.apk
0f874d6c7be3a69a69553d99c4b50ede6e3b92811052c13a36d8dd35955817f437f77e185d624804526d36e8cc6e99be4eedf8c2d3bcf09340068b1e41da5a49 musl-1.2.5-r9-aarch64-edge.apk
2b85e131b5b8829a02ca5d6ab9bf3e897468834e6db9e5d54127037b5951f5c3ca06964d225d7d4376637ae77467c4001cbcc7f179705a6a206587ac8d7cd266 musl-dev-1.2.5-r9-aarch64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armhf
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="x86_64"
subpackages="musl-dev-armhf:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
b98e17b30e5968ca8f6c963e8752544112337b641186c269dbc4dd4b0a9496de9f4a549deb1bbf03e419b145b86b0c48fd22db1b8dff188bd3b451632b8c2b3f musl-1.2.5-r3-armhf-edge.apk
0e9fa461b75f3a9832e26f8086c9397b9d5dbea9c5821cf7898c0ccf64281f603137265606ee97810cba988fdff967ea7ec240e4e59c1d87da7e001cd4bf719a musl-dev-1.2.5-r3-armhf-edge.apk
10f462174d0fa0caaa4e4b767848b2d3a89c70617aca562cf0cd310ee2119eee8638b9eb2909a0756ee8e8952236624c1bacaac314b2d1146cf1c47b4c9b409d musl-1.2.5-r9-armhf-edge.apk
b9305bbe13d94de869d354f3657f59f1e08e897c2b6b0d0419a1dc384f00160dbf56df52b75196f238bcee62dd2e7e613755a91ee6e28776f6df38e5e9203de1 musl-dev-1.2.5-r9-armhf-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armv7
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="x86_64"
subpackages="musl-dev-armv7:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
05d888f66cb8bb75fcf767327068aff0152c32c97d6de680f7df0b9b11bbf99fefd8f2b7c1b92de8489e0f051d536e0d708faa3c5aaff783565e6c0e05d34c3b musl-1.2.5-r3-armv7-edge.apk
2c8775a37f2f7d5730857dcf7a7f038a1b0838a775a03e05ce299807f3608a112e95c61b776b32152434c27ee23b999915357b4e89e6559eb89e820666e36d97 musl-dev-1.2.5-r3-armv7-edge.apk
874994ef577a9651b444ddab90f8ac248b7b2ef8c4b0b7dda38d4ff2200e76a737e9dc27b63da5e7fd4022d18829badcdf99969cc52752d710ec598460cbe03d musl-1.2.5-r9-armv7-edge.apk
945a53e8ac24889bcc1bee2b9235fa743c6f653ca0f1611176797ae242eb26c19d3521ead290e9a759ffff38135073c6d2677879c891499c3a50f7f23ab0cead musl-dev-1.2.5-r9-armv7-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-riscv64
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="x86_64"
subpackages="musl-dev-riscv64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
d9adef7c000203504c357db8b84008f95f97fa68e3944103c345e0bc511f84bff7175ea1afd029de81dd2acce64795c55f100b7abfed3a5bad464c654e620ac3 musl-1.2.5-r3-riscv64-edge.apk
51a20229c477c691429d2fb800ff441f0181e98879996c0fede94a39e37d66fd2bddd50f663c85090837b8cfaf41ed65c2d2142eaa0ce503b2c5bf6fd2d0194e musl-dev-1.2.5-r3-riscv64-edge.apk
eb1e36d35decc8df6c383845e73a703bb5e0f322ca4ba8c346a54652f6d3c9c46d1eef901031ccfaa3a52a132963a67f35f791480f5918c091f3141775e1b1b9 musl-1.2.5-r9-riscv64-edge.apk
0cfa1711bc803674fb6504ed7466d73c2e35b735cbd78a5348bafd48973ed89afb877d966202d822f5e7d1064e99c1cc8452672478e3c6f30bac611328462c57 musl-dev-1.2.5-r9-riscv64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="x86_64"
subpackages="musl-dev-x86:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
68f290b5c1a8e8c1b5b70e34c4be391fa49fc8f91902a6dd432a3c34317788c69d5a31f9fedeec51a4d12509aee735d8875f0c4349d3d9cab1d9789a50a78bf8 musl-1.2.5-r3-x86-edge.apk
2115a6da3ac624872a8e4d764aed69c0e729853d3b74643da83bef1083d20147de2f2f181df82d0bb273fad0597d37b719048bd66e23ed072982018ecf07b8fc musl-dev-1.2.5-r3-x86-edge.apk
809a21a20c1c0558c717b566c2fa53af05bb5eab0ca44bc1616b746f89fb4bf9ea05a733a6f4d6b674cd8d531c2734d3d44e38460c4939ac8e24423c91ad8e57 musl-1.2.5-r9-x86-edge.apk
be193ac93468095cbecd9fbc84ee16b9fc2f5e7f5181b6759669cb180cdd31daf1b094eb9585e1ddc9b27be7cedc931a51eaca09c1dce191826f8b6f1c15587d musl-dev-1.2.5-r9-x86-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86_64
pkgver=1.2.5
pkgrel=3
pkgrel=9
arch="aarch64"
subpackages="musl-dev-x86_64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
c4667bf824340766c2b6c41e88e4dc76a7e51b7247ece8f85e8e9347769fce6bd4459d94fcdc82ea12e0a67f7160d68cf2a1ed322eee7d6ca9d075036c17e193 musl-1.2.5-r3-x86_64-edge.apk
a64220117e1614e585be89fcb00e387b4ea2f4251ce2b6af38c576787093b4ce6a0bed3e4d7bc86517369ee5c4f11db63c6f572e16f336a1178fa99dfa394aff musl-dev-1.2.5-r3-x86_64-edge.apk
b762a06e161cfbdf3a62c155dd6b0d11d81b81543a2381b7ea0ccd56320f9ed14c52a19dd76033594cfefd3b5da20517a2fda3a7c94d7e43c0f378912237b62f musl-1.2.5-r9-x86_64-edge.apk
396a982f454b377df901bc465ec5e5ba8b91c2e9e9b6cd52ae28f83f4b5fbd673e7c79657ffa94d0d164e80d77dac813c5b7c51914fabcae3167d0bbc182b01a musl-dev-1.2.5-r9-x86_64-edge.apk
"
@@ -0,0 +1,51 @@
From 4cbffcd4f146ccceafccd9fa9d522640d1f0f519 Mon Sep 17 00:00:00 2001
From: Oliver Smith <ollieparanoid@postmarketos.org>
Date: Tue, 10 Dec 2024 08:33:54 +0100
Subject: [PATCH] libfdt.i_shipped: use SWIG_AppendOutput
Fix this build error with modern SWIG:
scripts/dtc/pylibfdt/libfdt_wrap.c: In function '_wrap_fdt_next_node':
scripts/dtc/pylibfdt/libfdt_wrap.c:5578:17: error: too few arguments to function 'SWIG_Python_AppendOutput'
5578 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
Patch is based on:
https://github.com/dgibson/dtc/pull/154
---
scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
index 27c29ea260..3bbbfb3c9f 100644
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -1033,7 +1033,7 @@ typedef uint32_t fdt32_t;
fdt_string(fdt1, fdt32_to_cpu($1->nameoff)));
buff = PyByteArray_FromStringAndSize(
(const char *)($1 + 1), fdt32_to_cpu($1->len));
- resultobj = SWIG_Python_AppendOutput(resultobj, buff);
+ resultobj = SWIG_AppendOutput(resultobj, buff);
}
}
@@ -1072,7 +1072,7 @@ typedef uint32_t fdt32_t;
%typemap(argout) int *depth {
PyObject *val = Py_BuildValue("i", *arg$argnum);
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
%apply int *depth { int *depth };
@@ -1088,7 +1088,7 @@ typedef uint32_t fdt32_t;
if (PyTuple_GET_SIZE(resultobj) == 0)
resultobj = val;
else
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
}
--
2.47.1
@@ -2,8 +2,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-alcatel-idol347-downstream
pkgdesc="Alcatel OneTouch Idol 3 (4.7) (Downstream)"
pkgver=1
pkgrel=2
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
2b6ba0e6e6d8f90d907a7a8089718c8a1ff8ee3ad0ea17f204e2e9fa2a514a06af9c2b91b7bfb0b8b8362ba2d44b53aad52fd88d506682f1f61b9fe6c19d206e deviceinfo
131bddf782050fd8301ebd242a5b19cd70c520f03fe2e8a2f0b7afba60cc3dc0330f3765395de70553fc172a116a02a9512c3fc189303cb09609e4adac76a799 deviceinfo
"
@@ -20,7 +20,6 @@ deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk androidboot.bootloader=L1BGC0C0BG00"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
@@ -0,0 +1,35 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-lenovo-kuntao
pkgdesc="Lenovo P2"
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
firmware-lenovo-kuntao
firmware-qcom-adreno-a530
linux-postmarketos-qcom-msm8953
lk2nd-msm8953
mkbootimg
msm-firmware-loader
postmarketos-base
soc-qcom-msm8953-modem
"
makedepends="devicepkg-dev"
source="deviceinfo modules-initfs"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
5e0a1e6315c1bc85af7bc0c4ae58c817cfe4a373b1f65fe8a133310868e1ccb974d9648d5397a2a1566cf174b935e8b1717f23ede6096e77caa86f8fba29fe3f deviceinfo
2ce6911ef54351f46819b3323e361ce60297b30f94e81a77e2d20b1bc294e51e3a0fa859ad8e257fa3fdef404a47dd3b64c247222cb7ca73f03cb4dcd083d1f8 modules-initfs
"
@@ -34,3 +34,6 @@ deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_sparse="true"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -0,0 +1,2 @@
msm
panel_lenovo_kuntao_549
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Clayton Craft <clayton@craftyguy.net>
# Archived: Not actively maintained, hw is very rare/unlikely to be used by anyone, and port is outdated/broken
pkgname=device-purism-librem5dev
pkgdesc="Purism Librem 5 Devkit"
pkgver=2
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -60,7 +60,7 @@ package() {
install -D -m644 "$srcdir"/modprobe.d_rsi.conf "$pkgdir"/etc/modprobe.d/rsi.conf
install -D -m644 "$srcdir"/00-mesa.sh "$pkgdir"/etc/profile.d/00-mesa.sh
install -D -m644 "$srcdir"/flash_script.lst "$pkgdir"/usr/share/uuu/flash_script.lst
install -D -m644 "$_confdir"/default/hwdb/80-librem5.hwdb "$pkgdir"/lib/udev/hwdb.d/80-librem5.hwdb
install -D -m644 "$_confdir"/default/hwdb/80-librem5.hwdb "$pkgdir"/usr/lib/udev/hwdb.d/80-librem5.hwdb
install -D -m644 "$_confdir"/debian/librem5-base-defaults.librem5-devkit-sgtl5000.udev \
"$pkgdir"/usr/lib/udev/rules.d/librem5-base-defaults.librem5-devkit-sgtl5000.udev
install -D -m644 "$_confdir"/debian/librem5-base-defaults.librem5-pm.udev \
@@ -2,8 +2,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-a5lte-downstream
pkgdesc="Samsung Galaxy A5 (SM-A500F)"
pkgver=1
pkgrel=2
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
09f28323fac82a8f8495af89de94449100e0f9233e22e33af807e559803bf3d9114aedc6d21626c7d5d736e93025de812292a0ee47c3639ac704696995c3d675 deviceinfo
410b5caac31e2af65ebfe1f3312fc2106c681430b75dfa8f4412f5727cd7db669dc3f46b1b2c20ece1b438052c36cbd3ff7b212ea03d9fea5af0b3c5bb14ff9b deviceinfo
"
@@ -17,7 +17,7 @@ deviceinfo_screen_height="1280"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
deviceinfo_kernel_cmdline="quiet loglevel=2 androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_dtb_second="false"
@@ -2,8 +2,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-a5ulte-downstream
pkgdesc="Samsung Galaxy A5 (SM-A500FU)"
pkgver=1
pkgrel=2
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
1e7fe5a6788c1b635ab5c63083da5c1f353440567b8f86948092202ce026cbbae000ea047e65fae543f13092f97626ce227bc3f329477fbd7521df1b31f30bc8 deviceinfo
8c08854b664866087f3df1dccbe39ee0aba4563e9fc2cb38567bbbb9f54a74e3a9ed7a574bc18930ecf595d8beda32dd301cd757b6788d24cdd819c8c9cc5c52 deviceinfo
"
@@ -17,7 +17,7 @@ deviceinfo_screen_height="1280"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
deviceinfo_kernel_cmdline="quiet loglevel=2 androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_dtb_second="false"
@@ -3,13 +3,13 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-coreprimevelte-downstream
pkgdesc="Samsung Galaxy Core Prime VE LTE downstream"
pkgver=1
pkgrel=3
pkgver=3
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base postmarketos-initramfs-minimal pxa-mkbootimg u-boot-tools"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base pxa-mkbootimg u-boot-tools"
makedepends="devicepkg-dev"
_pmb_recommends="firmware-samsung-pxa1908-downstream"
source="deviceinfo 90-coreprimevelte.conf"
@@ -24,6 +24,6 @@ package() {
}
sha512sums="
741f46736c2742d4a6f118a924eee89954fb14e5b1dc00f372bda41b63ec975cf960909f915fcb31ad965f136a712905bc8626cd7e530f40e110885f7c861790 deviceinfo
00c8780dbc77e62e7d57a2b3e879881076204f3e58d50555778aa68feb0157f5b4207fdabbb4627888eeeda6a35182e8e199e49e4050244a60ce4e9e2d84bd99 deviceinfo
4854cc57b86e1199dbc165110514e672dabf45044fe9f7ebbde5b2b24768fb5497273b5f38612cf2dfeffc9bf0648c725114b4fa01165bf7fb02f7d741ee5806 90-coreprimevelte.conf
"
@@ -14,12 +14,12 @@ deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="480"
deviceinfo_screen_height="800"
deviceinfo_create_initfs_extra="true"
# Bootloader relate
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_bootimg_pxa="true"
deviceinfo_flash_offset_base="0x10000000"
@@ -0,0 +1,39 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-j6lte-downstream
pkgdesc="Samsung Galaxy J6 (2018)"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-samsung-j6lte-downstream
mkbootimg
postmarketos-base
postmarketos-base-downstream
msm-fb-refresher
"
makedepends="devicepkg-dev"
source="
deviceinfo
"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="$pkgdesc (WiFi firmware)"
depends="firmware-samsung-j6lte-downstream"
mkdir "$subpkgdir"
}
sha512sums="
5bbe8f6840d75c4d8693fbe62afaf071cddaef750aee2f9cae31187489a2b05873369ee06bf5292ec484a70f6d5ac7aea7862fc27f7fc3057205afda52996d7e deviceinfo
"
@@ -1,33 +1,32 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Motorola Moto G7 Power"
deviceinfo_manufacturer="Motorola"
deviceinfo_codename="motorola-ocean"
deviceinfo_year="2019"
deviceinfo_name="Samsung Galaxy J6"
deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-j6lte-downstream"
deviceinfo_year="2018"
deviceinfo_arch="aarch64"
deviceinfo_dtb="qcom/sdm632-motorola-ocean"
deviceinfo_append_dtb="true"
# Device related
deviceinfo_gpu_accelerated="true"
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1520"
deviceinfo_screen_height="1480"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_kernel_cmdline="androidboot.selinux=permissive androidboot.selinux=permissive"
deviceinfo_generate_bootimg="true"
deviceinfo_generate_extlinux_config="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_offset_base="0x10000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_heimdall_partition_kernel="BOOT"
deviceinfo_flash_heimdall_partition_rootfs="SYSTEM"
@@ -2,15 +2,14 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-lt01wifi-downstream
pkgdesc="Samsung Galaxy Tab 3 8.0"
pkgver=1
pkgrel=1
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="
postmarketos-base
postmarketos-initramfs-minimal
linux-samsung-lt01wifi-downstream
mkbootimg
"
@@ -35,7 +34,7 @@ nonfree_firmware() {
}
sha512sums="
b6d8953f5717b81fd1cb6d34e0f5539480b348a52194bbd3e6d83c3ae9e77bc2d948b05303c93ecbd7121f7affd476a9522c32c1a55fd7cee4ae0ca1bc0b88a0 deviceinfo
ea36813341c6843fa3b9c8a4ca330b92beb61e7c62de6a1d095c66f044237be2557bacdcc82912c48290d958128bef1771cd0d8c747758a5a98de759ecbb5778 deviceinfo
af036fe35011db078379dbb2e8c16c86546f0a4fcb3d1bcee3502bb1ea5b38f3ec5a9fa8cd1ca8ed8b89592a7f572d6072781289845303e0bf85fc2de4ead9fb modules-load.conf
594d6059ba1b06bce65538d26ce80cf2ce840786605b86e993ffaef858837507c033c0f95b7bcd9914ae7ea3cd2a9e43e32ec879db7c908219ad62d38b4e426a modprobe.conf
"
@@ -14,6 +14,7 @@ deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="800"
deviceinfo_screen_height="1280"
deviceinfo_create_initfs_extra="true"
# Bootloader related
deviceinfo_flash_method="heimdall-bootimg"
@@ -2,8 +2,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-m0-downstream
pkgdesc="Samsung Galaxy S III"
pkgver=3
pkgrel=4
pkgver=5
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -12,7 +12,6 @@ depends="
linux-samsung-m0-downstream
mkbootimg
postmarketos-base
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
install="$pkgname.post-install"
@@ -40,6 +39,6 @@ nonfree_firmware() {
}
sha512sums="
e89b2287780aa94e93ee8cba472ec78b14a0de0089c3ee8c278175ace459d84a58a9278f473d917dd569b114874fb76931b404f810220d328c7e3f6148dac485 deviceinfo
e43ad5a25aa5b0c499a8f7001feb236e428a185df0e51bf0b72f82550965e3050d10f8a4e6b0f92b11feec6f4bee734fac78bcbe8f55d8290d2544bd7ec3e811 deviceinfo
1376f0eb7c6ba459ca5c44b3eb7e9919d9c5f48d71ec30c006d1b4843e31cdade9f980415a166e977b2567b26f4e87d4554ee1143fdc62453d60a93bed129d06 90-android-touch-dev.rules
"
@@ -14,13 +14,13 @@ deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1280"
deviceinfo_create_initfs_extra="true"
# Bootloader related
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_kernel_cmdline="console=ttySAC2,115200 buildvariant=userdebug"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x10000000"
deviceinfo_flash_offset_kernel="0x00008000"
@@ -2,14 +2,14 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-on7xelte-downstream
pkgdesc="Samsung Galaxy J7 Prime"
pkgver=1
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-samsung-on7xelte
linux-samsung-on7xelte-downstream
mkbootimg
msm-fb-refresher
postmarketos-base
@@ -52,7 +52,7 @@ lightdm() {
}
sha512sums="
d342e7d79922d2e4a313e6c0ad20172e841886aa9517522460699da0dc66cd83cfeab986e468b0427ebcd64d54ffbc39cf3ba56c5d839b560e34cbe6e36526f1 deviceinfo
eb8a2cfc57044f901b3ce75eda0001b58d5132ea52155d5e4bfa7361c1a19021759c0182c5ac01100145902dbebaaaf7965ded45487c6b4d0860a7d799d4cf94 deviceinfo
baee319b6d2f49a15680b0f322ec3e398a071d73fbf7713d14f26a1d027f8950457a482ac3f019605af3dfcf25bbb33ebaa0ffde181f7f96d911d56251c81eef lightdm.conf
efbe3d6217854c0131e61f9f3722100d349cb0673f4923bc3d56dae30a6346b0c33e676a39fc4c080150f6ea9457bf268abf870eea916a7d5daae1a22642a2b8 mount-efs.rc-init
3e5bb764529010d2b6b1f2759a7799f665d140aebcee2dd63433e68cd4282e09b5d3b34fb7c21e737595b406501e7f02ece4592651c60e4c2b9419de4aedb438 samsungipcd.rc-conf
@@ -21,7 +21,6 @@ deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_kernel_cmdline="androidboot.selinux=permissive androidboot.selinux=permissive"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_offset_base="0x10000000"
@@ -2,7 +2,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-cepheus-downstream
pkgdesc="Xiaomi Mi 9"
pkgver=1
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -25,5 +25,5 @@ package() {
}
sha512sums="
ee52ac16542a599f397fba5ddbb82028d666dec7f509a4b9298df248ac98a129c7f2eb4452282c5de38f7f97516da6ba70ea027a0fea075881f6a7f5d2ca10c7 deviceinfo
f71fef16c5a10a49b5ff56971a50224bc4a3c59075276ce2c4fc4f94307d3e39e006942d9f5fe4711058b0ce83b1df44e491efb9b67781662e042878556fe03d deviceinfo
"
@@ -22,7 +22,6 @@ deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xa90000 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=2048 loop.max_part=7 androidboot.usbcontroller=a600000.dwc3 buildvariant=user"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_offset_base="0x00000000"
@@ -2,7 +2,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-daisy
pkgdesc="Xiaomi Mi A2 Lite"
pkgver=12
pkgver=13
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -43,7 +43,7 @@ fake_goodix() {
}
sha512sums="
a958e29c8ba4c079ee64a9882fe14ad03e7751ba4c2416a4bda07b0ee4e0342d5d6e3d43c95b05f47dabe06ff5be759401287da3c58ef0ecb31c8cba515cd560 deviceinfo
83b468ba3250896f9ade6cbc0c9defeb4fec4f9f3513c0bfdf2530197547a668e3940351430c0dbf1ca93e195b30208a47f92a44c31db64d0332dcb3db3bb3a5 deviceinfo
7202f0a55dfe43348940412fc38e59c855594b070db8742419feadb2299086d5810107201a228b7137b7cc7a97c94afac95d81c0cd65c52f31dbcb619b0a4279 modules-initfs
a2608b01b7b6e2dade694af355ff4f0f26cad49cf54bc332c77eb75d19fdc985f7f996fedb72753de447be0391deabf5fcea52406791d1e6e0d165703b63f145 90-device-xiaomi-daisy.rules
"
@@ -34,3 +34,6 @@ deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_sparse="true"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -2,7 +2,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-markw
pkgdesc="Xiaomi Redmi 4 Prime"
pkgver=7
pkgver=8
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -31,6 +31,6 @@ package() {
}
sha512sums="
d5ecef8983110624e0cd69feed5f105204f8323e718435b19ffafa37cbe73d1c37a4d1d1cfb53d338dfeffa91ade137b3cf7c7b9f48408002c04260bbd3b5e65 deviceinfo
a31f4e9612407662e3f0de56ed892073449d3d39452026f8f73d3e300ea01636a966970c7c93ec748c468876d232a54c18e6fe2ec0e967093b166db60705f764 deviceinfo
0cba88d7ede62dc7c47feefb27d10e58e4c93498bec97cd274a1d10c4f16dff06c5472ed555170e0392a57c9269cc50bf550523f41bf1ba6c600af533302574b modules-initfs
"
@@ -33,3 +33,5 @@ deviceinfo_flash_sparse="true"
# osk-sdl
deviceinfo_mesa_driver="msm"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -1,7 +1,7 @@
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=device-xiaomi-mido
pkgdesc="Xiaomi Redmi Note 4X"
pkgver=8
pkgver=9
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -30,6 +30,6 @@ package() {
}
sha512sums="
3424c103cc2878480527f57d75e122cfc5c95ffa66bf7133067dd691e664fee14ba43a626f70c5b2ffb70cd24a08b026e0571e99e390c0a485a3491e28883cda deviceinfo
cf450799dbb70f9ce40f6eb431493b3675e8ad1ae19048b2b62f0b2fc53897ebcbe578b57c29132450e26afe2b3739546eb31191e94d9e6b2aa028ef5878ec9f deviceinfo
9f534c76689728c3fa699ac8c854ca82815d5158a3675a70ef879ddbf140460977187dc3c1a799dadd0ab53d5a08b6275a1594a7b976eda983f3e78b2738a8be modules-initfs
"
@@ -32,4 +32,5 @@ deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_sparse="true"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -3,7 +3,7 @@
pkgname=device-xiaomi-onclite
pkgdesc="Xiaomi Redmi 7"
pkgver=5
pkgver=6
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -32,6 +32,6 @@ package() {
}
sha512sums="
38630c72060697f3404e3832a21f1d9a3e365303c37e71e0df152f059e2607086718f115109e7d68e4906c6052a69f3b6649f8e2c2fd87708b9b2bedd154489e deviceinfo
a37d2baf856bbd734b9571ded15aa24c8800350295169b9d543b10cd225eadbdf36a1ebbb4d72369f0f117662de6e8f43cdd2f095893ef3ef3f201b6c98e8a73 deviceinfo
706e76054992dfd03ef240e0de2d7e84a77c97727141fa8d737b02c9d780f60c2df57755e17c44d93136aa6a6d1f8a8d9dbbf51d11674e5fb67197bd313811fd modules-initfs
"
@@ -38,3 +38,6 @@ deviceinfo_flash_kernel_on_update="false"
# osk-sdl
deviceinfo_mesa_driver="msm"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -3,7 +3,7 @@
pkgname=device-xiaomi-rosy
pkgdesc="Xiaomi Redmi 5"
pkgver=3
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -32,6 +32,6 @@ package() {
}
sha512sums="
7492d71babd34e34d3e69e82b538b8369cf46bd83da3ceb39ee1a36f7ecfaf09b01621acc23417041b4fd0ce8115e1364bafa051c75a04767f7c6e1d84858425 deviceinfo
7c8cb91b8b5e2405e371f614791a7354cafe81427c8f2ee190282edfbdfe0be6df37621f950a8040de29d9e5bee9379f05c3ef3681dc383db1b49d1432856e57 deviceinfo
ddc4e788c7cf62a1f0d6228f3bb59b89cba8f30c06d99c945477b0c1931721aefa3dc77e9f90ae3f0ad78979b9c7b228984e0bfd961b3e5eac62961830682939 modules-initfs
"
@@ -35,3 +35,6 @@ deviceinfo_flash_sparse="true"
deviceinfo_dtb="qcom/sdm450-xiaomi-rosy"
deviceinfo_append_dtb="true"
deviceinfo_flash_kernel_on_update="false"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -4,7 +4,7 @@
pkgname=device-xiaomi-tissot
pkgdesc="Xiaomi Mi A1"
pkgver=8
pkgver=9
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -34,6 +34,6 @@ package() {
}
sha512sums="
4ea529e8822f268773e043dec4af4c419803e3220bc0bc85def1c07ee480efd5f33b2f8f74007aaf7d608926048c49d4dfc1d529f6501cebf5aba0f183ac9cd0 deviceinfo
a20e73d01823cfa5a5796c4a3725ab7a594bd8ae8cb46c3d2326d5f15fd19086b37dac1f5d5e19b222215d3275df585537ef26f15bfced2dd007975d14eb4968 deviceinfo
4284d7c184f364d81a06de962808cb240b713cda11381ddcec5acdfbb4d4962922b64b2f2675ab463961c0510352211ec439a6b9e4ebdc47bf73980133e9626a modules-initfs
"
@@ -38,3 +38,6 @@ deviceinfo_flash_kernel_on_update="false"
# osk-sdl
deviceinfo_mesa_driver="msm"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
@@ -2,7 +2,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-vince
pkgdesc="Xiaomi Redmi 5 Plus"
pkgver=14
pkgver=15
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -34,6 +34,6 @@ package() {
}
sha512sums="
902eea9986467553e129c11a387919f21aed496d09475e6fd3b8fa44b036c79f2705b9ccda9caa0e2954b62cc5bafe761bdf734de871463020926c7263032e44 deviceinfo
bc0db9190fdef9859e7dedc0439f350ce8716a59efa5a182e12985c2435e2f1a624ddb85d1d3b89c60d452e813c90a8a9eb888db5a83422d6d225363c84e5072 deviceinfo
69cfc8db6ea497576085e1b5861c766b5c6cfbd493e4d66aa0bfa29a0e80eeaeb8a465c4841c6a7959796f5a2325e621d60f2c35ccb0741d7934ab310abe807f modules-initfs
"
@@ -38,3 +38,6 @@ deviceinfo_flash_sparse="true"
# osk-sdl
deviceinfo_mesa_driver="msm"
# lk2nd does not support GPT for subpartitions/SD cards yet
deviceinfo_partition_type="msdos"
Loaded 100 of 1755 files, more files were not shown because too many files have changed in this diff. Show more