Compare commits

...
Author SHA1 Message Date
Clayton Craft 1231104a66 DO NOT MERGE: tablet-x64eufi: adopt and move to community 2023-04-30 11:00:00 -07:00
Clayton Craft 503533ce4c DO NOT MERGE: tablet-x86uefi: adopt and move to community 2023-04-30 10:59:59 -07:00
Alistair Francis 01d084c777 linux-purism-librem5: upgrade to 6.2.10 (MR 4045)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-04-30 00:18:28 -07:00
Pablo Correa Gómez e6a905c176 main/postmarketos-base-ui-gnome: enable apk-polkit-rs service (MR 4014)
Needed by GNOME Software since
https://gitlab.alpinelinux.org/Cogitri/apk-polkit-rs/-/merge_requests/45

GNOME Software is often installed in GNOME UI's through pmb_recommends,
but it's not a dependency in any way. To avoid spilling this service
enablement everywhere, add just the openrc subpackage from the daemon.
That means that if GNOME Software is not installed or gets uninstalled,
the daemon will crash on startup. That should not be a big deal though.

[ci:skip-build] already built successfully in CI
2023-04-30 00:02:12 -07:00
vipaol a1a9836982 main/lk2nd-msm8953: upgrade to 0.3.3 (MR 4044)
[ci:skip-build] already built successfully in CI
2023-04-29 23:57:49 -07:00
Santiago García Mantiñán d17d994693 linux-samsung-jackpotlte: Add patch to fix build ld error, issue #2052. (MR 4006)
[ci:skip-build] already built successfully in CI
2023-04-29 23:55:18 -07:00
Luca Weiss a7ed851ed9 community/linux-postmarketos-qcom-sm6350: upgrade to 6.3.0 (MR 4042)
[ci:skip-build] already built successfully in CI
2023-04-29 23:52:44 -07:00
Luca Weiss c91cd9998e community/firmware-fairphone-fp4: upgrade to 20230215 (MR 4042) 2023-04-29 23:52:44 -07:00
Clayton CraftandArnavion 4b516916dc pmos-base-ui-networkmanager: set up dnsmasq for filtering lookups (MR 3823)
This uses a dispatcher script to configure filtering A and AAAA records
based on which IP versions are routable on the NM primary connection.

gojq is preferred over the 'standard' jq because it's considerably
faster... the dispatcher script took 0.89s on my L5 with jq, and 0.07s
with gojq. the difference is probably greater on slower phones... so it
seemed worth installing it.

fixes #1430

Co-authored-by: Arnavion <me@arnavion.dev>
2023-04-29 23:40:52 -07:00
Jan Jasper de Kroon 08b32ff4ba linux-postmarketos-allwinner: upgrade to 6.3.0 (MR 4038)
-Removed 0013-media-ov5640-Update-last-busy-timestamp-to-reset-aut.patch:
 Fix should now be incorporated in 6.3 kernel.

[ci:skip-build]: Already built successfully in CI
2023-04-28 10:40:24 +02:00
notfound405 8f8c0bb350 main/msm-firmware-loader: upgrade to 1.2.0 (MR 4041) 2023-04-28 09:09:30 +02:00
notfound405 23d7875f10 generic-zhihe: add new devices (MSM8916-based LTE dongles, namely zhihe) (MR 3988)
[ci:skip-build]: already built successfully in CI
2023-04-27 09:58:53 +02:00
M0Rf30 dc79738ba6 firmware-xiaomi-vince: use a530_pfp.fw from V11.0.2.0.OEGMIXM (MR 4033)
[ci:skip-build]: already built successfully in CI
2023-04-27 09:55:37 +02:00
Pablo Correa Gómez ae41229fd4 device-pine64-dontbeevil: modernize, select dtb based on kernel suffix (MR 4037)
[ci:skip-vercheck]
2023-04-26 18:13:53 +02:00
Pablo Correa Gómez ee13208d07 device-planet-geminipda: use source_deviceinfo (MR 4037) 2023-04-26 18:13:53 +02:00
Pablo Correa Gómez ff12848ae6 device-motorola-maserati: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez 38659e07ff main/osk-sdl: use source_deviceinfo from init_functions.sh (MR 4037)
The osk-sdl runs on the initramfs, so this should be no issue
2023-04-26 18:13:52 +02:00
Pablo Correa Gómez 3c3ef48600 main/postmarketos-mkinitfs-hook-netboot: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez e192346cb4 main/postmarketos-mkinitfs-hook-debug-shell: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez c47963552a main/postmarketos-mkinitfs-hook-console-shell: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez b26ba8784c main/postmarketos-initramfs: add function to source deviceinfo (MR 4037)
As a preparation for #1836, move the sourcing of deviceinfo to its own
function. This should allow to have a single point in the whole of the
initramfs for the sourcing of the deviceinfo, instead of every script
that needs it sourcing it. This allows to change the way deviceinfo is
sourced in the future with a lot less effort.
2023-04-26 18:13:52 +02:00
Pablo Correa Gómez beef607a81 device-oneplus-oneplus2: remove unnecessary deviceinfo installation (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez b3998d167f device-asus-t00f: remove unnecessary deviceinfo installation (MR 4037) 2023-04-26 18:13:52 +02:00
Adam Słaboń 455368dfed lenovo-a6020a40: new device (Lenovo Vibe K5) (MR 4036)
[ci:skip-build]: already built successfully in CI
2023-04-25 22:24:47 +02:00
Minecrell a5a0b54f40 samsung-matisseve: add panel and touchscreen to initfs (MR 4032)
This makes the splash screen work and probably osk-sdl/unl0kr as well.

[ci:skip-build]: already built successfully in CI
2023-04-25 15:24:58 +02:00
Minecrell 25cc08f1e2 soc-qcom-msm8916: update ALSA UCM configs (MR 4031)
- Add msm8916-1mic configuration for devices without SecondaryMic
- Fix audio volume after upstream msm8916-wcd-digital changes

[ci:skip-build]: already built successfully in CI
2023-04-25 07:21:23 +02:00
Minecrell 880c94220e linux-postmarketos-qcom-msm8916: upgrade to 6.3 (MR 4031)
- Update to Linux 6.3
- Fix voltage reporting for SMB1360 battery driver

Device changes:
  - nokia-{argon,leo,sparkler}: Fix some key mappings
  - wileyfox-crackling: Fix multi-touch
  - bq-piccolo, samsung-gt510, samsung-matisseve:
    - Add capacitive touch keys
  - samsung-matisseve: Display brightness control
  - bq-paella: yushun-nt35521s panel driver
  - motorola-surnia: inx_v1 panel driver

New devices:
  - Various MSM8916-based USB modem dongles ("zhihe")
    (UF896, UFI001c, UZ801v3, ...)
    - eMMC, USB, Button, WiFi/BT, Modem, LEDs
  - Lenovo Vibe K5 (wingtech-wt82918hd)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control, LEDs
    - Touchscreen
    - Sensors (Accelerometer/Gyroscope/IMU)
    - Battery status (no charging driver yet)
    - Flash LED
    - Modem
2023-04-25 07:20:35 +02:00
Luca Weiss dfe9ada6e8 testing/linux-postmarketos-qcom-msm8953: enable new waydroid options (MR 4027)
[ci:skip-build]
2023-04-24 21:00:12 +02:00
Luca Weiss d7e933fbf5 testing/linux-postmarketos-qcom-msm8953: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss daa1c6d8a5 testing/linux-sourceparts-pocketpc: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss a570ee22c2 testing/linux-sourceparts-pocketpc: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss bd280119fe testing/linux-postmarketos-stericsson: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 46b97c342b testing/linux-postmarketos-stericsson: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 03b588fc67 testing/linux-postmarketos-qcom-sdm660: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 137d23f938 testing/linux-postmarketos-qcom-sdm660: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Clayton Craft 88f58f6a11 cross/busybox-static-a*: upgrade to 1.36.0-r8 2023-04-24 11:58:30 -07:00
Minecrell f81492edab motorola-harpia: use WCNSS firmware from osprey (MR 4034)
harpia's WCNSS firmware has problems with WiFi channels on some device
variants, using osprey's firmware seems to help as a workaround.

Install that by default so WiFi has better chances of working properly
out of the box.
[ci:skip-build]: already built successfully in CI
2023-04-24 12:37:56 +02:00
Bart Ribbers d892694d34 main/postmarketos-ui-plasma-mobile: remove kpeoplesink (MR 4030)
It has been dropped from Alpine due to being unmaintained and it's
dependencies not building against the latest kmime (23.04) anymore

[ci:skip-vercheck]
[ci:skip-build]
2023-04-24 10:50:45 +02:00
Dang Huynh 2d6be776a1 sipeed-m1sdock: new device (MR 4025)
Sipeed M1s DOCK is a development board from Sipeed, it is based on
M1s module.

The Sipeed M1s introduces the BL808 SoC from Bouffalo Lab, the
BL808 is also used in Pine64 0x64 development board.

[ci:skip-build]: already built successfully in CI
2023-04-24 07:53:10 +02:00
Barnabás Czémán 560e8b56ee linux-xiaomi-riva: Replace kernel source (MR 4029)
The kernel source replaced with the lineageos version.
It fix the compile issues and the contains security fixes.

[ci:skip-build]: Already built successfully in CI
2023-04-23 21:39:39 +02:00
Henrik Grimler 8583329551 linux-postmarketos-exynos5: upgrade to 6.1.24 (lts) (MR 4022)
The pmaports package will follow lts releases from now on.
Intermediate versions will be tagged in the
gitlab.com/exynos5-mainline/linux repo.

Also enable CONFIG_LRU_GEN while we are at it (but not
CONFIG_LRU_GEN_ENABLED for now).
[ci:skip-build]: already built successfully in CI
2023-04-23 15:23:59 +02:00
M0Rf30 20983e2b50 xiaomi-vince: use msm8953 prefix for dtb filename and remove mainline subpackage (MR 4023) 2023-04-22 20:47:03 +02:00
M0Rf30 6d8dbf777f xiaomi-tissot: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:02 +02:00
M0Rf30 69a148491c xiaomi-mido: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:02 +02:00
M0Rf30 65578e8149 xiaomi-daisy: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:01 +02:00
M0Rf30 4ab4c6f8f7 motorola-potter: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:00 +02:00
Henrik Grimler ee22fd5eac linux-postmarketos-exynos4: upgrade to version 6.3-rc7 (MR 4018)
And use gitlab.com/exynos4-mainline/linux as source so that we no
longer have to carry all the patches in pmaports.

[ci:skip-build]: Already built successfully in CI
2023-04-22 09:02:12 +02:00
Pangwalla d5fa93bd01 linux-postmarketos-qcom-sm8250: upgrade to 6.3.0_rc6 (MR 4002)
Add modules for instantnoodlep NFC, touchscreen, and MHI related to modem, which is a
work in progress

[ci:skip-build] already built successfully in CI
2023-04-21 09:33:29 +02:00
Pangwalla db7766d24e device-oneplus-instantnoodlep: add sm8250 mainline kernel (MR 4002) 2023-04-21 09:33:24 +02:00
Clayton Craft f8d91ebdfd temp/dhcpcd: remove (MR 4015)
I don't see any packages in pmaports that actually depend on dhcpcd, and
it hasn't been updated in 3 years...  (upstream is at version 10.0.0
now...)

NOTE by ollieparanoid: networkmanager in Alpine used dhcpcd before, so
it was part of our default network stack. But that isn't the case
anymore since 2020:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/db03cedea9469e93f6ede531d92246ddc3c93e4e
2023-04-19 09:52:23 +02:00
Oliver Smith ccb594c646 cross/musl-*: upgrade to 1.2.3_git20230411 2023-04-18 19:55:58 +02:00
Oliver Smith 102e0a57f1 main/mobile-config-firefox: upgrade to 4.0.1 (MR 4017)
[ci:skip-build]: already built successfully in CI
2023-04-18 09:24:38 +02:00
Henrik Grimler 0d2757b3a4 linux-postmarketos-exynos4: split panel patch (MR 4011)
As stated in the MRs that added the patch, the ea8061 and s6evr02
panel drivers are originally from work by Simon Shields (fourkbomb).
Let's base our patches on the original commits to preserve authorship,
and note which modifications have been done, and by who.  This is a
step towards making these patches ready for submission to upstream.

[ci:skip-build]: Already built successfully in CI
2023-04-17 14:10:51 +02:00
Alistair Francis 484f587c1f purism-librem5: upgrade to librem5-base 59 (MR 4016)
Update to the librem5-base release 59 and include a fix for the modem
stability issues from:
https://source.puri.sm/Librem5/librem5-base/-/merge_requests/358.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-04-17 11:04:19 +02:00
Caleb Connolly 3f698640f1 device/community/sdm845: disable serial console (MR 3886)
The UART console makes the boot process a whole lot slower due to printk
being synchronous. These devices are well enough supported that we can
disable UART logging by default to improve the boot speed. This
constitutes a ~30 second speedup on the SHIFT6mq at 115200 baud.
2023-04-15 20:26:22 +01:00
Henrik Grimler a5de8ae21b samsung-klimtlte: set getty (MR 4013)
So that we can get a shell over uart.

[ci:skip-build]: already built successfully in CI
2023-04-14 09:33:14 +02:00
Henrik Grimler 4fa38dd8a8 samsung-chagallwifi: set getty (MR 4013)
So that we can get a shell over uart.
2023-04-14 09:33:14 +02:00
Henrik Grimler 02a4b7cd48 samsung-m0: set getty (MR 4013)
So that we can get a shell over uart.
2023-04-14 09:33:09 +02:00
Ferass El Hafidi 8c9b594cd3 linux-postmarketos-amlogic: upgrade to 6.2.9 (MR 3987)
Also update the patches with new, rebased ones straight from
the linux-amlogic mailing list, and rename them.

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>

[ci:skip-build] already built successfully in CI
2023-04-13 23:25:36 -07:00
Bart Ribbers 15cca9eebf raspberry-pi4: add Plasma Bigscreen configuration (MR 3994)
Plasma Bigscreen requires specific configuration on the RPi4 to tell it
to load some device-specific stuff. In this case to disable 4K mode as
the device can not handle it

[ci:skip-build] already built successfully in CI
2023-04-13 23:23:47 -07:00
Pablo Correa Gómez a91fcca8d4 README: add mention to COMMITSTYLE (MR 4010)
[ci:skip-build] already built successfully in CI
2023-04-13 23:22:01 -07:00
Clayton Craft ef69eb7bdb cross/musl-*: upgrade to 1.2.3_git20230322-r3 2023-04-13 23:16:53 -07:00
Clayton Craft c3b0ea0021 cross/busybox-static-*: upgrade to 1.36.0-r7 2023-04-13 23:15:46 -07:00
Clayton Craft a6722a5116 cross/binutils-*: upgrade to 2.40-r5 2023-04-13 23:14:09 -07:00
Luca Weiss 41afe17856 cross/grub-efi-x86: upgrade to 2.06-r11 (MR 4012)
[ci:skip-build]: Already built successfully in CI
2023-04-13 15:36:57 +02:00
Luca Weiss d605627e1a cross/binutils-*: upgrade to 2.40-r4 (MR 4012) 2023-04-13 15:36:57 +02:00
Luca Weiss 7784f0326a cross/gcc-*: upgrade to 12.2.1_git20220924-r10 (MR 4012) 2023-04-13 15:36:56 +02:00
Luca Weiss 99553042ad main/postmarketos-base-ui: configure openrc-settingsd for chronyd (MR 3953)
We need to tell openrc-settingsd which ntp service to use, otherwise
it'll default to busybox ntpd which we don't want.

Additionally make sure openrc-settingsd service gets launched at boot
with the post-install/post-upgrade script.
[ci:skip-build]: already built successfully in CI
2023-04-12 16:53:15 +02:00
Pablo Correa Gómez 048a18ad71 Add githooks from alpine (MR 4008)
Get the githooks from alpine, with the following changes:

* Make it possible to parse the additionally nested "device" folder
  with the exceptions mentioned in our COMMITSTYLE
* Ignore "device/*" as a possible prefix for the commit
* Replace abuild references with pmbootstrap

Relates #2055
[ci:skip-build]: already built successfully in CI
2023-04-12 16:42:45 +02:00
Dylan Van Assche 2327b6efdb main/postmarketos-bootsplash: allow skip shutdown splash (MR 3970)
deviceinfo allows to disable the framebuffer which automatically
skips the splash on boot. Honor this setting as well for the shutdown
splash. Also honor the PMOS_NOSPLASH cmdline parameter as well.

[ci:skip-build]: already built successfully in CI
2023-04-12 08:59:19 +02:00
Petr Vorel 73a8aec0cc linux-postmarketos-qcom-msm8994: upgrade to 6.3.0-rc5 (MR 3875)
Angler and Bullhead support is in early stage other msm899{2,4} does not
use the package yet => safe to use rc kernels to get closer to
qcom/for-next git tree.

Kernel 6.2 and 6.3 got few memory map fixes for angler and bullhead.

* Added 3 not yet merged patches for angler:
  - add regulators
  - memory overlap fixes
  - proper cont_splash_mem setup

* Removed 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
  (already applied and backported to 6.1 stable), thus renumber the
  following patch.

* config
  - Enable zram with lzo-rle, add pmb:kconfigcheck-zram (fixes warning:
    zramctl: /dev/zram0: failed to set algorithm: Invalid argument)
  - Enable crc32, lz4hc, zstd.

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-04-11 09:34:49 +02:00
Przemysław Romanik ea980f84f9 samsung-crownlte: fix 'ld: read-only segment has dynamic relocations' kernel build error (MR 4004)
[ci:skip-build]: already built successfully in CI
2023-04-11 09:23:12 +02:00
Oliver Smith 073e6edbac purism-librem5: add librem5-base ver to pkgdesc (MR 4005)
Make it easier to look up the librem5-base version that was used in the
device-purism-librem5 package, e.g. for writing service pack release
notes:

> Purism Librem 5 Phone (librem5-base: 58pureos1)

[ci:skip-build]: already built successfully in CI
2023-04-11 09:19:05 +02:00
Oliver Smith e97f29c725 CI: .ecrc: remove version
The only thing we define in the config file is "SpacesAftertabs": true
besides the version. Apparently it works fine if the version is
removed, and it avoids an error if the version changed (as it just did
now):

> Version from config file is not the same as the version of the binary
> Binary: 2.7.0, Config 2.6.0
2023-04-11 09:18:36 +02:00
Pangwalla 372287e23c oneplus-instantnoodlep: new device (MR 3993) 2023-04-08 01:05:29 +03:00
Oliver Smith f5d3a42f1d cross/busybox-static-*: upgrade to 1.36.0-r6 2023-04-07 11:20:22 +02:00
Oliver Smith 0f05f84507 main/mobile-config-firefox: upgrade to 4.0.0 (MR 4000)
[ci:skip-build]: already built successfully in CI
2023-04-07 10:57:56 +02:00
Seshan (seshpenguin) 387043b5ce linux-postmarketos-rockchip: enable kexec (MR 3999)
[ci:skip-build]: already built successfully in CI
2023-04-07 10:54:47 +02:00
Niko 707cf18e6a temp/gnome-shell-mobile: upgrade to 44_git20230405 (MR 3996)
[ci:skip-build] already built successfully in CI
2023-04-06 16:41:32 -07:00
Niko 7f2935bd2c temp/mutter-mobile: upgrade to 44_git20230405 (MR 3996) 2023-04-06 16:41:32 -07:00
Oliver Smith 1ac584d5db main/postmarketos-welcome: upgrade to 0.8.0 (MR 3997)
[ci:skip-build] already built successfully in CI
2023-04-06 16:39:35 -07:00
@exkc 3e09569982 sony-falconss: new device (MR 3995)
[ci:skip-build]: already built successfully in CI
2023-04-06 10:04:45 +02:00
Pablo Correa Gómez 72b944c1fc main/postmarketos-ui-phosh: add GS APK plugin to pmb_recommends (MR 3851)
We removed the "install_if" of the APK plugin on GS so that one could
use GNOME Software exclusively for flatpak

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-04-06 09:48:21 +02:00
Pablo Correa Gómez c1cc234088 main/postmarketos-ui-gnome-mobile: add GS APK plugin to pmb_recommends (MR 3851)
We removed the "install_if" of the APK plugin on GS so that one could
use GNOME Software exclusively for flatpak
2023-04-06 09:48:15 +02:00
Alistair Francis 8c13dd3d7a purism-librem5: upgrade to librem5-base 58 (MR 3989)
Update from librem5-bae 56 to 58, which includes the following changes
from Purism

  * default: gadget: Use CDC-NCM instead of CDC-ECM
  * defaults: Add an initramfs script to reencrypt LUKS rootfs
  * defaults: librem5-pm: Add rules for EM7565 and SIM7912G
  * defaults: pulse: Reduce fragment size to 22 ms
  * defaults: Switch USB PM timeouts back to 2s for devices and 0 for hub
  * defaults: Enable WiFi powersave with brcmfmac driver
  * defaults: usb_gadget: Run service as a dependency of UDC device unit
  * defaults: usb_gadget: Set Before= relation to network.target
  * defaults: librem5-pm: Enable NO_SUSPEND quirk and adjust PM properties
  * d/control: Bump Librem 5 kernel dependency to 6.1.19pureos1

Note, that this update doesn't fix the modem disapearing modem during
suspend. So we keep the current workarounds we have.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-04-05 16:22:45 -07:00
niko 82a813020b temp/gnome-shell-mobile: upgrade to 44_git20230403 (MR 3992)
[ci:skip-build]: already built successfully in CI
2023-04-05 09:27:11 +02:00
niko d19b34d59f temp/mutter-mobile: upgrade to 44_git20230403 (MR 3992) 2023-04-05 09:26:58 +02:00
Jan Jasper de Kroon 507f1149ee linux-pine64-pinephonepro: upgrade to 6.2.7 (MR 3967)
Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>

[ci:skip-build]: already built successfully in CI
2023-04-03 08:28:55 +02:00
Newbyte 239aa4da8f CI: Support not having "pmbootstrap" in $PATH (MR 3977)
Not everyone's setup includes "pmbootstrap" as a command in $PATH.
Currently, in such setups, $ pmbootstrap ci kconfig (and potentially
other testcases) in the pmaports repository do not work as they expect
the "pmbootstrap" command to exist. Resolve this by checking whether
PMBOOTSTRAP_CMD is set and use that as command for invoking pmbootstrap.
If it isn't set (because you're using an old pmbootstrap version or
invoking a script directly for some reason), fall back to the old
behaviour as to not break compatibility.

Depends on pmbootstrap patch that sets PMBOOTSTRAP_CMD to argv[0]:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/39995
2023-04-02 15:04:13 +02:00
Tom Fitzhenry 9b4b663a38 pine64-pinephonepro: fix dev_internal_storage (MR 3978)
Change /dev/mmcblk0 to /dev/mmcblk2. Motivation: Fix ondev SD->eMMC
installation.

Related: https://gitlab.com/postmarketOS/postmarketos-ondev/-/issues/61
2023-04-02 13:46:16 +02:00
Raymond Hackley 2baa079111 main/postmarketos-base: replace /etc/sudoers from sudo-ldap (MR 3972)
sudo-ldap is providing cmd:sudo/sudo-virt.
Replace files from sudo-ldap to solve conflict about /etc/sudoers

Fixes #2032
[ci:skip-build]: already built successfully in CI
2023-04-02 12:34:14 +02:00
@exkc fe07d7f9f4 amediatech-x96-mini: new device (MR 3985)
[ci:skip-build]: already built successfully in CI
2023-04-02 12:22:16 +02:00
@exkc c34344108f linux-postmarketos-amlogic: add support for amediatech-x96-mini (MR 3985) 2023-04-02 12:22:11 +02:00
Alistair Francis dfbf4f1c82 linux-purism-librem5: upgrade to 6.2.8 (MR 3986)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build]: already built successfully in CI
2023-04-02 12:05:34 +02:00
Julian Winkler ed966495d5 motorola-smi: update kernel to 6.2 and boot with petitboot and devietree (MR 3974)
[ci:skip-build]: already built successfully in CI
2023-04-02 11:58:20 +02:00
Luca Weiss 6afbb6fcd5 Add default issue template (MR 3980)
Previously this was set in the project settings, but according to the
GitLab documentation this can now be set using this file since GitLab
version 14.8. Keep it here to make sure it's version controlled as well.
2023-03-31 18:51:04 +02:00
Willow Barraco c1c1fc4ed0 main/postmarketos-ui-sxmo-de-sway: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:16 +02:00
Willow Barraco f6426febc1 main/postmarketos-ui-sxmo-de-dwm: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:16 +02:00
Willow Barraco 610acd9fb5 main/sxmo-common: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:09 +02:00
@exkc 65e2150e2d treewide: remove a.patch (MR 3983)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3955#note_1333984810
2023-03-30 11:11:38 +02:00
Lorenz Wildberg e5ba7447cf gnome-shell-mobile: update to 43.1_git20210203 (MR 3840) 2023-03-29 22:22:36 +02:00
Lorenz Wildberg 8665e8ec1d mutter-mobile: update to 43.1_git20210203 (MR 3840) 2023-03-29 22:22:36 +02:00
exkc bcd0b35ae0 xiaomi-once: new device (MR 3955) 2023-03-29 19:03:43 +02:00
exkc 611ead9cf1 u-boot-amlogic-s905x-tv: new aport (MR 3955) 2023-03-29 19:03:42 +02:00
@exkc 287e7c4521 soc-amlogic-s905: enable ext2/ext4 support for the boot partition (MR 3955) 2023-03-29 19:03:42 +02:00
@exkc 1bcaffb0fe soc-amlogic-s905: enable booting to a USB drive (MR 3955) 2023-03-29 19:03:41 +02:00
@exkc a55d3991d5 soc-amlogic-s905: package aml_autoscript (MR 3955) 2023-03-29 19:03:40 +02:00
Jianhua Lu d59283cbf6 xiaomi-elish: add misc dependencies (MR 3981)
[ci:skip-build]: Already built successfully in CI
2023-03-28 15:52:54 +02:00
Jianhua Lu ab91dccefa xiaomi-elish: support BOE and CSOT panels (MR 3981) 2023-03-28 15:52:54 +02:00
Jianhua Lu f62d882462 linux-postmarketos-qcom-sm8250: updrade to 6.3.0_rc4 (MR 3981) 2023-03-28 15:52:53 +02:00
Willow Barraco 7517c6cfad linux-postmarketos-allwinner: enable FSCACHE and NFS caching (MR 3979)
See https://gitlab.com/postmarketOS/pmaports/-/issues/2034

[ci:skip-build]: Already built successfully in CI
2023-03-27 17:43:22 +02:00
Oliver Smith 7c8d8f7752 cross/grub-efi-x86: upgrade to 2.06-r10 2023-03-27 08:41:56 +02:00
Oliver Smith 8cd80e0733 linux-postmarketos-allwinner: unset ANDROID_BINDER_IPC_SELFTEST (MR 3975)
Fix long waydroid initialization time.

[ci:skip-build]: already built successfully in CI
2023-03-24 09:46:16 +01:00
Ferass El Hafidi 3194ca834a CODEOWNERS: add myself and @exkc for the linux-postmarketos-amlogic package (MR 3973)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-23 11:49:10 +00:00
Furkan Sonkaya 3a6d9e5aa5 linux-postmarketos-qcom-msm8996: Re-Add TUSB320 and TYPEC flags (MR 3969)
Must've been removed accidentally. It's causing usb port not to work.

[ci:skip-build]: already built successfully in CI
2023-03-23 08:19:21 +01:00
Alistair Francis f34a55dcbc librem5-agps: Add GUI support (MR 3968)
Add GUI support to librem5-agps

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-03-23 08:03:30 +01:00
Oliver Smith cfb582cba0 CI: kconfig: don't print unrelated warnings (MR 3961)
Run the "pmbootstrap kconfig check" only on the kernels that have been
modified.

[ci:skip-build] already built successfully in CI
2023-03-22 09:40:39 -07:00
Raymond Hackley 1fc99009af main/lk2nd: armv7 only on msm8226 and msm8974 (MR 3936)
msm8226 and msm8974 are both arm32 SoCs.
Set the architecture to armv7 only.

Fixes #1900
[ci:skip-build]: already built successfully in CI
2023-03-22 09:41:38 +01:00
Raymond Hackley ddce692f08 main/lk2nd: upgrade to 0.14.0 (MR 3936) 2023-03-22 09:41:33 +01:00
Anton Bambura 3be5d7e2e3 linux-postmarketos-amlogic: enable kconfigcheck-community (MR 3971)
Also enable various configs for peripherals that can be connected
with USB and/or Bluetooth

[ci:skip-build]: already built successfully in CI
2023-03-21 22:30:37 +02:00
Newbyte f2993c3ad8 COMMITSTYLE: introduce (MR 3908) 2023-03-21 08:32:10 +01:00
Oliver Smith 3ec22cb65e CI: run shellcheck against CI scripts (MR 3960)
Fix that CI scripts weren't actually getting checked.
2023-03-20 09:30:55 +01:00
Oliver Smith eb37732514 CI: adjust scripts to pass shellcheck (MR 3960) 2023-03-20 09:30:55 +01:00
Miles Alan 654d1a4ed7 main/postmarketos-ui-i3wm: use dmenu-virtual and st-virtual (MR 3966)
[ci:skip-build] already built successfully in CI
2023-03-19 15:57:04 -07:00
Clayton Craft 977d4b9d58 linux-postmarketos-rockchip: update waydroid opts (MR 3901)
[ci:skip-build]: won't finish in time, I've verified that all of them
build (before rebasing again on master, but pretty sure it will build)
2023-03-19 15:52:44 -07:00
Oliver Smith d7ccebce2a linux-postmarketos-qcom-sm6350: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith 647c4233a3 linux-postmarketos-qcom-msm8996: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith cac809dc31 linux-postmarketos-omap: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith d5ed9e0350 linux-postmarketos-exynos4: update waydroid opts (MR 3901) 2023-03-19 15:52:43 -07:00
Oliver Smith ac3ad6047d linux-postmarketos-allwinner: update waydroid opts (MR 3901)
Enable options required for the Android 11 image inside waydroid:

* CONFIG_BPF_SYSCALL
* CONFIG_CGROUP_BPF
* CONFIG_PSI (already set for this kernel)
* not CONFIG_PSI_DEFAULT_DISABLED (already set for this kernel)

The same will be done for all devices in main and community in the
following patches. Also add V=1 for all kernels I'm modifying that are
below 6.2 (see issue 1990).
2023-03-19 15:52:43 -07:00
Jan Jasper de Kroon b743274522 device/main/linux-postmarketos-allwinner: upgrade to 6.2.7 (MR 3962)
Kernel configuration addition:
Just like on the PinePhone Pro I enabled the newly added Lazy RCU scheduler.

RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:

    1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
       it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
       where reducing CPU usage can extend battery life.

    2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
       This reduces the amount of memory that is required to store these versions.
       In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.

    3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
       This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
       which can help to conserve power in battery-powered systems.

Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>

[ci:skip-build] already built successfully in CI
2023-03-19 15:36:48 -07:00
Sicelo A. Mhlongo d19b6cf31b linux-nokia-n900: remove (MR 3964)
linux-postmarketos-omap now supports the Nokia N900 and its OMAP3430 SoC, so
drop this device-specific fork

[ci:skip-build] already built successfully in CI
2023-03-19 15:24:36 -07:00
Sicelo A. Mhlongo 8f8a85412f device-nokia-n900: use shared omap kernel (MR 3964) 2023-03-19 15:24:36 -07:00
Alistair Francis 619bf897d4 linux-purism-librem5: upgrade to 6.2.6 (MR 3957)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-03-19 15:11:58 -07:00
Alistair Francis adf423de58 linux-purism-librem5: upgrade to 6.2.2 (MR 3957)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-03-19 15:11:58 -07:00
Martin Hrůza 34307bd907 sony-coconut: Switch from armhf to armv7 and enable in-kernel netboot support (MR 3965)
Switch from armhf to armv7
- Apart of the usual stuff CONFIG_CRYPTO_AES_ARM_BS must be disabled
  otherwise it breakes kernel compilation with some weird assembler error

Netboot
- CONFIG_BLK_DEV_NBD=y enables /dev/nbd support
- nbd.max_part=16 kernel parameter must be added otherwise it's zero
  which causes that kpartx cannot create partitions

[ci:skip-build]: Already built successfully in CI
2023-03-19 22:15:26 +01:00
Caleb Connolly aa6c7f1fd6 main/pbsplash: upgrade to 0.3.1 (MR 3930) 2023-03-18 23:45:32 +00:00
Caleb Connolly e74ac08673 main/postmarketos-initramfs: fix splash newline (MR 3930)
POSIX sh dictates that newlines in strings are, newlines, so use printf
to format the splash strings and replace the "\\n" with an actual
newline.
2023-03-18 23:45:32 +00:00
Alistair Francis f9bf75ab83 main/librem5-agps: new aport (MR 3927)
Initial commit of the librem5-agps scripts from Purism. These are used
to manage the Librem5 GNSS and download AGPS data.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-03-17 13:54:18 -07:00
Adrian Chelaru ea72fe05b2 samsung-goyawifi: load vivante kernel graphic module (MR 3912)
[ci:skip-build]: Already built successfully in CI
2023-03-16 23:16:39 +01:00
Adrian Chelaru 6bddc23ddb samsung-goyawifi: disable console blanking (MR 3912)
As fbkeyboard goes blank and no input turn the screen back on.
2023-03-16 23:16:33 +01:00
Adrian Chelaru 7a279b98bc samsung-goyawifi: fix bluetooth module load and Wi-Fi dhcp if name (MR 3912) 2023-03-16 23:16:33 +01:00
Adrian Chelaru 69bc23f24d samsung-goyawifi: fix Wi-Fi calibration and initial Bluetooth module load (MR 3912) 2023-03-16 23:16:32 +01:00
Adrian Chelaru da2aa4fa0b samsung-goyawifi: Fix CMA cmdline and bluetooth module - kconfig (MR 3912) 2023-03-16 23:16:32 +01:00
Adrian Chelaru 7a4b53d2af samsung-goyawifi: fix ALSA audio and pulseaudio compatibility (MR 3912) 2023-03-16 23:16:32 +01:00
Sicelo A. Mhlongo 615d6f0ebe linux-postmarketos-omap: support nokia n900 (MR 3956)
- enable OMAP 3430 SoC features
- enable drivers for N900 peripherals

[ci:skip-build]: Already built successfully in CI
2023-03-16 23:11:46 +01:00
Ferass El Hafidi 32f7b8dedd linux-postmarketos-amlogic: add support for the NEC IR decoder (MR 3958)
Also enable support for LIRC and /dev/uinput.

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>

[ci:skip-build]: Already built successfully in CI
2023-03-16 16:46:51 +01:00
Caleb Connolly 5ce568cd79 mrhlpr.json: accept all generic package commits (MR 3131) 2023-03-15 21:37:37 +00:00
Oliver Smith 53dc6123ef cross/busybox-static-*: upgrade to 1.36.0-r5 2023-03-15 09:33:52 +01:00
Richard Acayan 6824414c1e testing/linux-postmarketos-qcom-sdm670: upgrade to 6.2.6 (MR 3954)
The V=1 flag can be dropped now that this is on 6.2. See #1990.

[ci:skip-build]: already built successfully in CI
2023-03-14 19:20:55 -04:00
Clayton Craft 886c0ab575 main/devicepkg-dev: don't try to install legacy splash images (MR 3951)
These are no longer used, and shouldn't exist.

[ci:skip-build]: already built successfully in CI
2023-03-13 23:09:42 -07:00
Luca Weiss 6460e7c967 main/devicepkg-dev: add hardware vendor & model into machine-info (MR 3950)
Soon openrc-settingsd (hostnamed) will uses these properties so the
information can be exposed to apps like GNOME Settings.

Let's also move the shellcheck comment to the outer scope, otherwise
we'd need four of these comments now, and let's not use ${} but just $.
2023-03-14 04:44:51 +00:00
Dylan Van Assche 6b935f02fa community/linux-postmarketos-qcom-sdm845: disable Tux logos (MR 3884)
Tux logos on boot interfere with splash screens, disable them
to have a nicer splash screen.

[ci:skip-build] already built successfully in CI
2023-03-13 16:06:58 -07:00
Dylan Van Assche 41e81fe4f0 main/postmarketos-bootsplash: launch splash on shutdown (MR 3884)
Instead of a blank screen with a tty login prompt, show a proper
shutdown screen during poweroff or reboot.
2023-03-13 16:06:55 -07:00
Clayton Craft f403330733 main/postmarketos-mkinitfs: upgrade to 2.1.1 (MR 3949)
Bugfix release, nothing major though. Full changelog:

https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.1.1

Note: git was dropped as a makedepends because it's not actually
needed... I forgot that I could just set VERSION at build time. Oops.

[ci:skip-build] already built successfully in CI
2023-03-13 16:01:59 -07:00
Yassine Oudjana e8519a8a91 community/linux-postmarketos-qcom-msm8996: upgrade to 6.1.14 (MR 3910)
[ci:skip-build]: already built successfully in CI
2023-03-13 22:32:50 +01:00
Oliver Smith d0ce50f7d1 treewide: remove inactive maintainers (MR 3820)
Remove maintainers who could not be reached to test v22.12. Add exkc as
maintainer for firmware-pine64-rockpro64 as discussed in review of this
patch.

[ci:skip-build]: already built successfully in CI
2023-03-13 07:31:01 +01:00
@exkc 505598c09e beelink-gt1: new device (MR 3924)
[ci:skip-build]: already built successfully in CI
2023-03-12 22:15:18 +01:00
Sergey Lisov 22a8c4a06a samsung-a6lte: WIP mainline support (MR 3925)
Currently display (simplefb), touchscreen, eMMC & SD card are working.

[ci:skip-build]: already built successfully in CI
2023-03-12 22:08:34 +01:00
Clayton Craft 82c02ea325 main/postmarketos-initramfs: support initramfs-extra as gzip (MR 3948)
This is a revert of the change introduced in 4eda0715 to support an
uncompressed initramfs-extra. osk-sdl support results in an initramfs-extra
that is too big for some devices with a small (traditional) /boot partition

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/2009

[ci:skip-build]: Already built successfully in CI
2023-03-12 19:36:49 +01:00
Clayton Craft 901d932dba main/postmarketos-mkinitfs: upgrade to 2.1 (MR 3948)
Full changelog: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.1

The make dependency on "git" is because the makefile derives the app
version from git tag info.

Fixes https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/issues/22
2023-03-12 19:36:38 +01:00
Luca Weiss d68c069836 testing/linux-postmarketos-qcom-msm8974: upgrade to 6.2.1 (MR 3923)
[ci:skip-build]: Already built successfully in CI
2023-03-10 21:04:21 +01:00
Sicelo A. Mhlongo ab8767a08f linux-postmarketos-omap: upgrade to 6.2.1 (MR 3911)
- upgrade to 6.2.1
 - drop musb patch (not needed since linux mainline commit
     ffbe2feac59b37c8dc536727552b4f375e1b9aec)
 - enable LRU_GEN

[ci:skip-build]: Already built successfully in CI
2023-03-10 20:15:04 +01:00
Newbyte 8e77cdd287 alsa-ucm-conf-samsung-sm7125: move from temp (MR 3938)
This is device-specific, so let's move it.

[ci:skip-vercheck]: Doesn't change the resulting package
[ci:skip-build]: already built successfully in CI
2023-03-10 09:26:20 +01:00
Newbyte d3c63de938 alsa-ucm-conf-google-kukui: move from temp (MR 3938)
This is device-specific, so let's move it.
2023-03-10 09:26:08 +01:00
Newbyte 08e4a87e58 alsa-ucm-conf-google-kukui: move from temp (MR 3938)
This is device-specific, so let's move it.
2023-03-10 09:26:08 +01:00
Luca Weiss 210d1e77bf sony-sirius: remove xf86-video-modesetting dependency (MR 3942)
The modesetting driver previously provided by xf86-video-modesetting is
now shipped with xorg-server.

[ci:skip-build]: already built successfully in CI
2023-03-10 09:14:55 +01:00
Luca Weiss 18c5e19f10 tablet-x86uefi: remove x11 subpackage (MR 3942)
The modesetting driver previously provided by xf86-video-modesetting is
now shipped with xorg-server.
2023-03-10 09:14:46 +01:00
Ferass El Hafidi 4889611423 CODEOWNERS: add myself for packages I maintain (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: already built successfully in CI
2023-03-10 09:03:31 +01:00
Ferass El Hafidi b05904dc22 videostrong-kii-pro: new device (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:24 +01:00
Ferass El Hafidi bfa85b0c4d soc-amlogic-s905: new aport (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:23 +01:00
Ferass El Hafidi 964b1268f7 u-boot-amlogic-s905-tv: new aport (MR 3833)
Also add a GCC12 patch for versions <2020.xx to device/.shared-patches/u-boot

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:23 +01:00
Ferass El Hafidi 5adb3352e9 linux-postmarketos-amlogic: new aport (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:18 +01:00
Luca Weiss b0182951a3 samsung-on7: fix firmware dependency name (MR 3943)
From what I can tell, the package firmware-samsung-on7-wcnss-nv should
have been put as dependency since the on7lte package doesn't exist, and
I can't seem to find a trace of it.

[ci:skip-build] already successfully built in CI
2023-03-09 22:29:05 +01:00
Luca Weiss f41739e2d1 temp/gnome-shell-mobile: rebuild against gcr4 (MR 3944)
Previous so:libgcr-4.so.0.0.0 cannot be found anymore.

[ci:skip-build] already built successfully in CI
2023-03-09 22:25:57 +01:00
Petr Hodina 29170afc03 hello-world-rust: Remove quotes around pkgver (MR 3874)
[ci:skip-vercheck]
[ci:skip-build] already successfully built in CI
2023-03-09 17:57:04 +01:00
Petr Hodina ddf128f480 u-boot-starqltechn: Prefix ubootver variable with underscore (MR 3874) 2023-03-09 17:57:01 +01:00
Petr Hodina 46d06756ee linux-sony-nicki-mainline: Rewrite build and fix lint warnings. (MR 3874) 2023-03-09 17:56:58 +01:00
Petr Hodina eaf1313d4d linux-google-crosshatch-mainline: Rewrite build and fix lint warnings. (MR 3874) 2023-03-09 17:56:55 +01:00
Clayton Craft eed476097e postmarketos-base: depend on postmarketos-initramfs (MR 3895)
Changes the dependency from pmos-mkinitfs to pmos-initramfs, so now the
dependency chain for boot config packages is:

    base -> postmarketos-initramfs -> postmarketos-mkinitfs -> boot-deploy

Sorting dependencies this way makes sense because "base" just needs an
initramfs, it doesn't care about the implementation (that currently uses
"postmarketos-mkinitfs.")

[ci:ignore-count]
[ci:skip-build] already successfully built in CI
2023-03-09 17:42:36 +01:00
Clayton Craft 4eda07153a postmarketos-mkinitfs: upgrade to 2.0 (MR 3895)
- Move base files/modules out of package, this package now only provides
  the mkinitfs tool.

- Add all required modules, these were copied over from
  postmarketos-mkinitfs and sorted

- Use new exe name in trigger

- Update triggers to ignore /etc, add /usr/share/mkinitfs. No packages
  should be installing into /etc/mkinitfs/

- Support building/installing docs

- Add vendored deps

- Change trigger path
2023-03-08 21:35:04 -08:00
Clayton Craft 536264bac0 main/postmarketos-initramfs: new aport (MR 3895)
This package contains base file and module lists for the initramfs /
initramfs-extra archives, along with the init.sh

The primary reason for doing this is so that changes to these
files/lists can be properly versioned (in pkgver), and (re)building
mkinitfs itself is no longer required for these changes.

- Add base file list for initramfs. The dirs at path
  /usr/share/postmarketos-mkinitfs/* are "new" in mkinitfs 2.0

- Install default modules to /usr/share

- Install system config to /usr/share/mkinifs

- Add base files for -extra archive

- Create user config dirs

- Update hook dirs in init.sh, change from mkinitfs 2.0

- Remove splash images, obsolete since pbsplash

- Support uncompressed initramfs-extra
2023-03-08 21:34:37 -08:00
Clayton CraftandOliver Smith 5a01a67634 ci: grep for old mkinitfs paths (MR 3895)
Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>
2023-03-08 21:30:30 -08:00
Clayton Craft 7d0d8aa2d9 soc-qcom-sm7125: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft 3b3a63c0d7 postmarketos-mkinitfs-hook-verbose-initfs: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft 55fe24f69d postmarketos-mkinitfs-hook-netboot: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft d4d53f8b65 postmarketos-mkinitfs-hook-maximum-attention: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 5a5d290ebd postmarketos-mkintifs-hook-kernel-panic: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 6778e7b10b postmarketos-mkinitfs-hook-debug-shell: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 576303db06 postmarketos-mkinitfs-hook-console-shell: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 68775d878f postmarketos-bootsplash: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft c371a97c62 main/unl0kr: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft f27b009cba main/osk-sdl: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft b74130a6ff main/pbsplash: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft 0dd2a38bd5 main/msm-fb-refresher: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft bbf17eb84d main/boot-deploy: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft 4818869d28 make-dynpart-mappings: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft ac6bfcee86 kobo-epdc-extractor: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft f3dfe67a4d firmware-xiaomi-tulip: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 76f05f28cb firmware-xiaomi-tissot: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 073e261360 firmware-xiaomi-sagit: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 6b22647688 firmware-xiaomi-polaris: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 2999cda28d firmware-shift-sdm845: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft 4b6850aa85 firmware-samsung-w767: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft e049931066 firmware-pine64-pinenote: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft f89acb3857 firmware-oneplus-sdm845: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft b0ba6f346c firmware-oneplus-oneplus3t: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft 451c2dcbd8 firmware-oneplus-oneplus3: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 1c406191fb firmware-oneplus-msm8998: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft e6fa3e49c5 firmware-lenovo-yoga-5g: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 86b8ea9d90 firmware-asus-x00td: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft d0f72c92fa devicepkg-dev: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 7457df1b80 device-xiaomi-vince: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft d75abb96ab device-xiaomi-scorpio: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 8c309692a6 device-xiaomi-natrium: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 6b0267e639 device-xiaomi-daisy: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 84ba3891bb device-sony-taoshan: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 40ce35bb4b device-samsung-j8y18lte: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 8d0e705c2f device-samsung-golden: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft b951132dbf device-samsung-a6plte: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 1adb2da6d7 device-planet-geminipda: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 4c22e1c6ad device-nokia-sparkler: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft ee2f4db541 device-nokia-n900: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 6873b63803 device-nokia-n9: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 49b553b19b device-nokia-leo: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 6da1f4f646 device-nokia-argon: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 76174f8ff0 device-motorola-maserati: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 8b18e0e8d7 device-fairphone-fp2: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft 052d07bd97 device-google-nyan-blaze: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft 5417748f16 device-google-nyan-big: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft cf1939ad5e device-amazon-soho: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Jianhua Lu 4f29ea0f7b xiaomi-elish: add more device firmware and fix spi module name (MR 3933)
Include adsp, cdsp and slpi firmware and add the linux-firmware-qca
dependency for qca6390-bt.

Also correct the module name for spi-geni-qcom in deviceinfo.
2023-03-07 18:28:50 +01:00
Jianhua Lu 5f82ca96dc firmware-xiaomi-elish: add adsp, cdsp and slpi firmware (MR 3933) 2023-03-07 18:27:16 +01:00
Jianhua Lu f23904cb46 linux-postmarketos-qcom-sm8250: upgrade to 6.3.0_rc1 (MR 3933) 2023-03-07 18:27:16 +01:00
Raymond Hackley 6e2805898e main/postmarketos-config-nftables: use $subpkgdir in chromecast subpkg (MR 3937) 2023-03-07 16:41:32 +01:00
Luca Weiss 8fd9a765ab linux-postmarketos-qcom-sm6350: upgrade to 6.2.1 (MR 3919)
SoC/device-specific changes:
* Add OSM L3 Interconnect Provider for L3 cache scaling

Config changes:
* Enable INTERCONNECT_QCOM_OSM_L3
* Enable CPU_FREQ_GOV_POWERSAVE & CPU_FREQ_GOV_CONSERVATIVE

[ci:skip-build]: already built successfully in CI
2023-03-06 08:24:35 +01:00
Jan Jasper de Kroon 01c47c5f3a device/community/linux-pine64-pinephonepro: upgrade to 6.2.2 (MR 3928)
Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.

RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:

    1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
       it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
       where reducing CPU usage can extend battery life.

    2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
       This reduces the amount of memory that is required to store these versions.
       In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.

    3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
       This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
       which can help to conserve power in battery-powered systems.

[ci:skip-build]: already built successfully in CI
2023-03-06 08:12:13 +01:00
Oliver Smith 81956e2fd2 linux-postmarketos-mediatek-mt8183: add V=1 (MR 3929)
[ci:skip-build]: I've verified these build locally
[ci:skip-vercheck]: MR contains a cosmetic commit without pkgrel bump
2023-03-05 19:59:35 +01:00
Oliver Smith de730c2b56 linux-google-nyan: add V=1 (MR 3929) 2023-03-05 19:59:35 +01:00
Oliver Smith 3d84175a0f linux-postmarketos-exynos4: mention pma#1990 (cosmetic) (MR 3929)
Replace the large comment with a shorter one where the issue is getting
tracked.
2023-03-05 19:59:30 +01:00
Joel Selvaraj 58b014ae88 community/linux-postmarketos-qcom-sdm845: upgrade to 6.2.0 (MR 3922) 2023-03-05 18:33:27 +01:00
Petr Hodina 804b97dc20 pine64-pinenote: new device (MR 3778)
Co-developed-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
2023-03-05 15:43:34 +01:00
Caleb Connolly 712149558b main/postmarketos-base-eink: new aport (MR 3778)
Add a base package to provide some e-ink specific opinionated defaults.
2023-03-05 15:43:12 +01:00
Clayton Craft dabdd92e07 cross/grub-efi-x86: upgrade to 2.06-r9 2023-03-03 23:52:19 -08:00
Clayton Craft c61bb698b4 cross/binutils-*: upgrade to 2.40-r3 2023-03-03 23:51:13 -08:00
Newbyte 3fa300ecdb CI: fix dtb check detecting itself and improve message (MR 3801)
Previously, the grep command would detect the /usr/bin/share string
inside of the .ci/grep.sh file, so only check the device folder to
avoid this. Other folders shouldn't contain any kernels anyway.

[ci:skip-build]: Everything but linux-postmarketos-qcom-sm7150
built fine in CI, and linux-postmarketos-qcom-sm7150 built fine
locally. Building linux-postmarketos-qcom-sm7150 via the CI failed
because it took over 3 hours so the CI timed out.
2023-03-03 23:09:01 +01:00
Newbyte 14d50e1c06 CI: re-enable dtb path check (MR 3801) 2023-03-03 23:09:01 +01:00
Newbyte 5e2a8ecb3e linux-postmarketos-qcom-sm7150: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:01 +01:00
Newbyte eb54bbc187 linux-postmarketos-mediatek-mt8183: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:00 +01:00
Luca Weiss bb69fc6a95 linux-oneplus-billie2: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:00 +01:00
Newbyte 958fe92914 linux-google-nyan: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:03:58 +01:00
Luca Weiss 2b97b2267a fairphone-fp4: remove unnecessary sdhci quirks from cmdline
The fix [0] has already been present in the kernel used in pmaports, so
remove it which should improve SD card I/O performance.

Take the moment to bump the pkgver to 1.0

[0] https://lore.kernel.org/linux-arm-msm/20221030073232.22726-11-marijn.suijten@somainline.org/

[ci:skip-build] already built successfully in CI
2023-03-03 20:24:29 +01:00
Clayton Craft 4fc0f7eec6 purism-librem5: re-enable PM for the Sparklan module (MR 3921)
According to Purism, PM on the Sparklan WiFi module works now with
recent kernels, the upstream bug referenced earlier (see diff) was
closed.

Note that this has no effect on the Redpine WiFi module, which is the
default module shipped with the L5.

[ci:skip-build] already built successfully in CI
2023-03-03 20:07:14 +01:00
Frost_I7 790ab25509 device-samsung-t03g & t0lte: update alsa ucm config (MR 3723) 2023-03-03 08:48:15 +01:00
Richard Acayan 4d2a25db53 testing/linux-postmarketos-qcom-sdm670: upgrade to 6.1.14 (MR 3917)
This is more of a version bump, compared to the past few releases. This
kernel should receive more of these types of releases, especially when
there is less hardware left to bring up.

[ci:skip-build] already built successfully in CI
2023-03-02 22:59:32 -08:00
Richard Acayan 5b1b4ad28b google-sargo: add adsp firmware (MR 3917)
This does not bring up sensors or audio yet, but will be important later
on.
2023-03-02 22:59:32 -08:00
Danila Tikhonov 9f81f9e3dd xiaomi-surya: Add phosh phoc.ini (MR 3892) 2023-03-02 19:15:51 +01:00
Danila Tikhonov 4067aa54a0 linux-postmarketos-qcom-sm7150: Upgrade to 6.2.0 (MR 3892) 2023-03-02 19:15:51 +01:00
Clayton Craft a5978b8561 device/purism-librem5: upgrade librem5-base to v56 (MR 3913)
Includes changes that might improve modem stability (with resetting,
that is...), and some ucm tweaks.

Changelog from upstream:
https://source.puri.sm/Librem5/librem5-base/-/blob/1b154d93164ff0473654d5abbbd5e619392a9559/debian/changelog

[ci:skip-build] already built successfully in CI
2023-03-02 09:12:12 -08:00
Alistair Francis 597eefcfcd linux-purism-librem5: upgrade to 6.2.1 (MR 3916)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-03-02 08:32:05 +01:00
Elagost 74db854263 device-pine64-pinephone: subpkgs for sway and x11 keyboard configs (MR 3845)
[ci:skip-build]: already built successfully in CI
2023-03-02 08:22:41 +01:00
Clayton Craft 4f790fb8f9 pmos-ui-*: replace megapixels in pmb_recommends with pmos-default-camera (MR 3815)
fixes #1912, #1557

[ci:skip-build]: already built successfully in CI
2023-03-01 08:42:58 +01:00
Clayton Craft d5eb368394 temp/megapixels-gtk: remove (MR 3815)
No longer necessary for SXMO dwm edition, as tested/confirmed by SXMO
maintainers / developers.
2023-03-01 08:42:46 +01:00
Clayton Craft d42edaaa65 temp/megapixels-purism: remove (MR 3815)
moved to aports as "millipixels"
2023-03-01 08:42:46 +01:00
Clayton Craft 8bac6d45cf xiaomi-scorpio: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft 5e9e19b7a7 pine64-pinephone: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft d49b2087e5 purism-librem5: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft ce40d054ce pine64-pinephone: create "kirigami" subpackage (MR 3815)
kirigami may be installed outside of plamo, however there are some
changes that should only be applied when plamo is installed
2023-03-01 08:42:45 +01:00
Clayton Craft a8450a53f2 purism-librem5: replace -phosh subpkg with -gnome (MR 3815)
Installing wys and anything else on all gnome-related UIs is better than
just having a special case for phosh. Phosh should pull in
pmos-base-ui-gnome.
2023-03-01 08:42:45 +01:00
Clayton Craft 8c29eaed6e main/pmos-base-ui: add postmarketos-default-camera dummy package (MR 3815)
This is a dummy package that other packages can install_if on to install
the appropriate camera app for the device/UI. It's intended to be added
to pmb_recommends= for pmos-ui-* packages that want to have a camera by
default.
2023-03-01 08:42:45 +01:00
Arnavion 69773b8cc5 main/shutdown-clear-rtc-wakealarm: new aport (MR 3905)
This contains an OpenRC service that clears the RTC wake alarm.
Users who don't want the RTC wake alarm to power on their phone from
powered-off state can use this service to clear the alarm during shutdown.

Fixes #1970

[ci:skip-build] already built successfully in CI
2023-02-28 14:45:04 -08:00
Oliver Smith c30dd812f2 linux-postmarketos-exynos4: add V=1 to build (MR 3914)
Fix the build running silently, and running into the timeout for not
printing anything for a long time.

Related: https://builds.sr.ht/~postmarketos/job/948827#task-pmbootstrap_build-462
2023-02-28 08:04:18 +01:00
Pablo Correa Gómez 264d171a88 testing/firmware-samsung-manta: check that /etc/conf.d/wpa_supplicant exists (MR 3909)
Not all UIs depend on it

Fixes #1971

[ci:skip-build] already built successfully in CI
2023-02-27 09:38:54 -08:00
Affe Null c293b03642 samsung-t0lte: add panel selection (MR 3549)
Let the user select between two kernel variants using the different
device trees for the different panel variants (ea8061 and s6evr02)

[ci:skip-build]: Already built successfully in CI
2023-02-27 17:25:01 +01:00
Affe Null 8b470375a9 samsung-t03g: add panel selection (MR 3549)
Let the user select between two kernel variants using the different
device trees for the different panel variants (ea8061 and s6evr02)
2023-02-27 17:24:45 +01:00
Affe Null d4b54d1249 linux-postmarketos-exynos4: Add missing ea8061 panel driver (MR 3549)
Add a driver for the Magnachip EA8061 panel found on some Samsung
Galaxy Note II devices. Split the device trees into two (one for devices
with the already supported S6EVR02 panel and one for the new EA8061
panel).

Note: I didn't write this driver myself. Just like the old S6EVR02
driver, it has been ported from https://github.com/fourkbomb/linux
to the latest mainline Linux version.
2023-02-27 17:24:45 +01:00
Anton Bambura e960066058 google-dumo: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura caa285b8d1 google-druwl: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura ad4d27e134 google-dru: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura 45adf82081 linux-postmarketos-rockchip: enable elan touchscreen for scarlet devices (MR 3903) 2023-02-26 19:57:32 +01:00
Alistair Francis e1efe18136 device-purism-librem5: Disable modem power management (MR 3902)
According to
https://source.puri.sm/Librem5/linux/-/issues/303#note_160864 enabling
the modem power management results in a unreliable modem, but more power
savings.

With power management on the modem can disconnect at any time,
including during calls. This makes the Librem 5 a very bad phone.
Instead let's ensure it works as a phone with a semi-reliable modem
(there is still the sleep/resume issue
https://source.puri.sm/Librem5/linux/-/issues/423) at the cost of
battery life.

As the Librem5's battery life is already poor, a little bit worse
isn't much different. Either way you need an external battery pack.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-02-25 22:38:27 -08:00
Oliver Smith 92efdacfbf linux-purism-librem5: add Clayton's rebase comment (MR 3896)
Taken from here:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3896#note_1287206744

[ci:skip-build]: already built successfully in CI (without this cosmetic
		 comment, but it shouldn't change anything.)
[ci:skip-vercheck]: this patch just modifies comments
2023-02-24 09:27:06 +01:00
Newbyte 2affe723e2 linux-purism-librem5: upgrade to 6.2.0 (MR 3896)
I unset CONFIG_ARM64_PTR_AUTH_KERNEL because the i.MX 8 CPU in the
Librem 5 doesn't support features from ARMv8.1-A and above anyway.
Same rationale applies to CONFIG_ARM64_TLB_RANGE being unset.
2023-02-24 09:25:34 +01:00
Kieran Bingham de591be7d8 community/linux-postmarketos-rockchip: Add ATH10K wireless support (MR 3899)
The google-dru package provides the linux-postmarketos-rockchip as a
kernel and supports linux-firmware-ath10k linux-firmware-rockchip
packages as additional non-free firmware.

Enable the ATH10K kernel module in the kernel config
config-postmarketos-rockchip.aarch64 to enable wifi on devices such as
the Acer Chrometab 10.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[ci:skip-build]: already built successfully in CI
2023-02-24 09:20:00 +01:00
Kieran Bingham d43748aa9c community/linux-postmarketos-rockhip: Migrate to linux-6.2 (MR 3899)
Update the kernel base and migrate the kernel config.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-02-24 09:19:43 +01:00
Kieran Bingham 60821d3a09 community/linux-postmarketos-rockchip: Update install for packaging (MR 3899)
Add the missing kernel.release file to support packaging and fix builds
with:

 `pmbootstrap build --envkernel linux-postmarketos-rockchip`

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-02-24 09:19:38 +01:00
Newbyte 60fc4a2df5 samsung-matisselte: new device (MR 3813)
[ci:skip-build]: already built successfully in CI
2023-02-24 08:55:34 +01:00
Newbyte 954fd59706 linux-postmarketos-qcom-msm8226: new aport (MR 3813) 2023-02-24 08:55:16 +01:00
Clayton Craft e73187d343 postmarketos-ui-{xfce4,mate}: don't fail if tinydm can't be disbled (MR 3897)
Fixes this failure on a new install:
        ERROR: postmarketos-ui-xfce4-0.5.1-r11.post-install: script exited with error 1

[ci:skip-build]: already built successfully in CI
2023-02-23 08:38:57 +01:00
Caleb Connolly d08da30b5a main/pbsplash: upgrade to 0.3.0 (MR 3885)
[ci:skip-build] already built successfully in CI
2023-02-22 21:48:07 -08:00
Newbyte c3540b4678 device-purism-librem5: don't specify cma size in U-Boot bootargs (MR 3889)
This allows the back camera to work reliably for me as the CMA size then
grows to what's specified in the kernel configuration which is slightly
larger (320 MiB).

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1947

See https://source.puri.sm/Librem5/millipixels/-/issues/65

[ci:skip-build] already built successfully in CI
2023-02-22 15:17:10 -08:00
Richard Acayan 9678ab7b38 google-sargo: enable GPU-accelerated UIs (MR 3898)
This port has been compatible with GPU-accelerated UIs like Phosh and
Plasma Mobile for quite a while now. Enable these UIs in the
`pmbootstrap init` menu.

See #1939.
2023-02-22 11:49:36 +01:00
Newbyte 8496464c47 linux-purism-librem5: upgrade to 6.1.12 (MR 3888)
Includes more power management fixes.

[ci:skip-build]: Already built successfully in CI
2023-02-21 14:39:40 +01:00
Caleb Connolly 4e2507c9e5 Revert "postmarketos-ui-mate: switch to tinydm (MR 3887)" (MR 3893)
This reverts commit 2c5c22f3e3.
2023-02-21 08:40:50 +01:00
Caleb Connolly 2d100dcbdf Revert "postmarketos-ui-xfce: switch to tinydm (MR 3887)" (MR 3893)
This reverts commit 5915d1630b.
2023-02-21 08:40:23 +01:00
Caleb Connolly fe29c9ab34 main/postmarketos-bootsplash: kill pbsplash before display-manager (MR 3893)
If pbsplash is running when a display manager starts it often causes
issues as display managers want to run on a particular VT, but are
unable to switch the active VT since pbsplash has exclusive control of
the framebuffer.

Making DMs not start until after local would solve the issue but
it would also needlessly delay the boot process.

Until we have a better way to detect display managers starting and react
to it, this will at least get devices working again. Though due to how
openrc resolves service start order it may mean the splash is killed
earlier than necessary.
2023-02-20 19:37:19 +00:00
Julian Winkler ca5e6cab1b device/testing/petitboot-motorola-smi: build petitboot image for motorola-smi (MR 3880)
[ci:skip-build]: Already built successfully in CI
2023-02-20 13:19:56 +01:00
Julian Winkler f567cebd8f temp/petitboot: new package petitboot (MR 3880) 2023-02-20 13:19:51 +01:00
Julian Winkler 2b16e5837a temp/kexec-tools: fork from alpine to support devicetree on x86 (MR 3880) 2023-02-20 13:19:51 +01:00
Clayton Craft 5915d1630b postmarketos-ui-xfce: switch to tinydm (MR 3887)
[ci:skip-build]: already built successfully in CI
2023-02-20 08:00:39 +01:00
Clayton Craft 2c5c22f3e3 postmarketos-ui-mate: switch to tinydm (MR 3887) 2023-02-19 20:42:58 -08:00
Arnavion 025105c5a4 device/main/linux-postmarketos-allwinner: enable CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ and devfreq governors (MR 3864)
This enables the DRAM frequency stats driver that can be useful for debugging
issues with the PinePhone. This came up in a discussion in #pinephone on IRC
where megi was helping a pmos user with idle power draw issues.

This also enables the performance, powersave and userspace devfreq governors.

Ref: https://github.com/torvalds/linux/commit/8bfd4858b4bba8fec14e4296cbac71aa55260d60

[ci:skip-build]: already built successfully in CI
2023-02-19 20:49:05 +01:00
Oliver Smith fa292406df linux-motorola-panelli: store full kernel config (MR 3883)
Store the full kernel config instead of a fragment, so
"pmbootstrap kconfig check" can properly verify that all required kernel
options are there. Without this, it would fail an upcoming check for
BINFMT_ELF and BINFMT_SCRIPT:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/38508

With the full config, pmbootstrap found that ANDROID_PARANOID_NETWORK
was enabled while it should be disabled, so disable it.

Fix the mediatek drvgen related build failure with
00_disable_drvgen.patch from linux-wiko-ufeel and including cust.dtsi:
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency

[ci:skip-build]: already built successfully in CI
2023-02-19 20:44:50 +01:00
Clayton Craft ac9bff857c main/postmarketos-mkinitfs: trigger on /etc/pmos-mkinitfs/* (MR 3876)
These directories should also trigger a rebuild so that any changes are
reflected in the initramfs.
This will include things like 'files', 'modules' and so on that weren't
previously triggering rebuilds of the initramfs...

[ci:skip-build]: already built successfully in CI
2023-02-19 19:33:32 +01:00
Newbyte 624a384a9f linux-purism-librem5: disable CONFIG_LOGO (MR 3881)
This gets rid of the Tux army on bootup. While it hurts my soul,
removing Tux from bootup makes it less flickery.

[ci:skip-build]: already built successfully in CI
2023-02-19 19:26:21 +01:00
Newbyte 604a5ee097 sourceparts-pocketpc: fix u-boot-tools name (MR 3882)
uboot-tools was the previous name of the package I think.

[ci:skip-build]: already built successfully in CI
2023-02-19 16:40:54 +01:00
Newbyte 9769f5a149 sipeed-licheezero: fix u-boot-tools name (MR 3882)
uboot-tools was the previous name of the package I think.
2023-02-19 16:40:34 +01:00
Andreas Kemnade c32221096a linux-kobo-clara-mainline: upgrade to 6.1.12 (MR 3878)
6.1 was not a valid kernel version causing the wlan module installed
into wrong location. 6.1.0 would be correct. Fix that
problem by upgrading to 6.1.12 and make the wlan installation
more robust.

[ci:skip-build]: already built successfully in CI
2023-02-19 15:38:14 +01:00
Newbyte 66735f8db9 main/postmarketos-mkinitfs: remove references to charging-sdl (MR 3872)
As it was dropped in the previous commit.

[ci:skip-build]: already built successfully in CI
2023-02-19 14:04:17 +01:00
Newbyte 05bce12847 main/charging-sdl: remove (MR 3872)
It has almost been two years since pma#1064 was created[1], and nothing
has changed since really. If someone wants to revive charging-sdl, they
can just revert these commits, but given the status quo I don't think
there is any reason to keep this around until it changes.

 [1] https://gitlab.com/postmarketOS/pmaports/-/issues/1064

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1064
2023-02-19 13:53:27 +01:00
Newbyte 60ba45e9e2 main/triggerhappy: remove (MR 3872)
This is no longer used by anything in pmOS as far as I can tell. One
previous user, ttyescape, has been reworked to use hkdm instead, and the
other previous user, charging-sdl, is no longer available in pmOS.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1929
2023-02-19 13:53:27 +01:00
Caleb Connolly b93203a035 main/postmarketos-splash: drop in favour in pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 80eb55a604 main/devicepkg-dev: don't generate splash images (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly f54600e966 main/postmarketos-mkinitfs-hook-*: use pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly e97b61b023 main/postmarketos-mkinitfs: switch to pbsplash (MR 2878)
This modifies to the postmarketOS ramdisk init to use the new pbsplash
tool for displaying splash messages, replacing the old fbsplash.

This also moves the show_splash call to run as soon as possible rather
than waiting for mount_subpartitions to run (which can take a while).
2023-02-18 01:40:28 +00:00
Caleb Connolly 702088baff main/postmarketos-base: use pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 77ad6199a8 main/postmarketos-bootsplash: new aport (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 10368eb9f2 main/pbsplash: new aport (MR 2878) 2023-02-18 01:40:28 +00:00
@exkc 49c9b7cc44 radxa-zero: new device (MR 3865) 2023-02-17 15:48:59 +01:00
@exkc 4792c3b859 u-boot-radxa-zero: new aport (MR 3865)
Reference: https://u-boot.readthedocs.io/en/latest/board/amlogic/radxa-zero.html
2023-02-17 15:48:52 +01:00
Newbyte 49bfabcee0 main/postmarketos-ui-gnome-mobile: remove polkit-elogind dependency (MR 3852)
Already in postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte b0e89af26d main/postmarketos-ui-phosh: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 62402d529b main/postmarketos-ui-gnome: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 7af1d8a290 main/postmarketos-ui-gnome-mobile: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 8ddb338f41 main/postmarketos-base-ui-gnome: enable services used by all GNOME "variants" (MR 3852)
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1936

Additionally, this means that iio-sensor-proxy actually gets enabled
on GNOME and GNOME mobile. Previously, it would get installed there
but not enabled unless the user manually did it.
2023-02-16 17:53:05 +02:00
Henrik Grimler 7bcb236407 testing/odroid-xu4: use extlinux instead of U-Boot script (MR 3799)
Which can give us more flexibility in how/from where to boot
postmarketOS.
2023-02-16 12:44:30 +01:00
Newbyte 44244a7032 main/postmarketos-ui-phosh: recommend Evince (MR 3869)
Otherwise we don't have any document viewer installed by default.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
2023-02-16 08:18:22 +01:00
Luca Weiss 7df5a66b17 device/testing/linux-oneplus-billie2: fix build (MR 3870)
[ci:skip-build]: already built successfully in CI
2023-02-16 08:05:10 +01:00
Oliver Smith 78dffc2dbe u-boot-rockpro64: remove (MR 3824)
Use Alpine's u-boot package for rp64 instead.

[ci:skip-build]: already built successfully in CI
2023-02-15 08:35:44 +01:00
Oliver Smith 87d2de88c1 pine64-rockpro64: use alpine's u-boot-rockchip (MR 3824)
Prepare to drop u-boot-rockpro64 in favor of using the u-boot package
from Alpine.

Related: https://wiki.pine64.org/wiki/RK3399_boot_sequence#U-Boot_boot_sequence
2023-02-15 08:35:28 +01:00
Dzmitry 2fff60f075 main/extract-dtb: update pkgrel due to updated python version (MR 3867)
[ci:skip-build]: already built successfully in CI
2023-02-15 08:20:28 +01:00
@exkc 327ccd6a54 testing/xunlong-orangepi3: use extlinux instead of U-Boot script (MR 3807) 2023-02-14 18:35:53 +01:00
Bradley Eaton 0c27a5d6fe nokia-fame: new device (MR 3853)
[ci:skip-build]: already built successfully in CI
2023-02-14 08:32:23 +01:00
Alper Nebi Yasak 80948e3be9 google-x64cros: new device (MR 3862)
Add a generic device that should work on x86_64 ChromeOS devices. This
is mostly a copy of tablet-x64uefi, with ChromeOS-specific stuff from
google-kevin. Keeps the UEFI parts so that it can still be booted with
alternative firmware (i.e. MrChromebox's RW_LEGACY builds). Lightly
tested on a Lenovo IdeaPad 3 Chromebook 11IGL05 (codename "Lick").

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-02-13 18:34:35 +01:00
Anton Bambura d7ec2e46dc CI: test_device: fix versioned depends for postmarketos-base (MR 3791)
[ci:skip-build]: already built successfully in CI
2023-02-13 08:52:20 +01:00
Anton Bambura 85d192103c google-veyron-jerry: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura 2d886ff8eb pine64-rock64: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura fb4f0c9aaa pine64-rockpro64: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura 109c7c3d54 pine64-pinebookpro: depend on postmarketos-base>=25-r1 (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura a21d5bbaa4 pine64-pinephonepro: depend on postmarketos-base>=25-r1 (MR 3791) 2023-02-13 08:52:20 +01:00
Jan Jasper de Kroon fecd1c038d device/main/linux-postmarketos-allwinner: upgrade to 6.1.9 (MR 3858)
Also added: 0013-media-ov5640-Update-last-busy-timestamp-to-reset-aut.patch
This solves bug of taking greenish pictures with Megapixels, due to
sensor being shutdown to early after taking a picture.

[ci:skip-build]: already built successfully in CI
2023-02-13 08:43:29 +01:00
Anjandev Momi 41a8429257 main/sxmo-common: new bluetooth-pulse subpackage (MR 3763)
Add easy support for pulseaudio bluetooth like we have for pipewire
bluetooth.

Will update docs when this is merged.

[ci:skip-build]: already built successfully in CI
2023-02-13 08:31:46 +01:00
Anjandev Momi f1ef7e279b soc-qcom-sdm845: supervise call audio workaround, add conf.d, and fix Sxmo audio (MR 3763) 2023-02-13 08:31:02 +01:00
Michal Vasilek 679ee5364b main/postmarketos-base-ui-gnome: add xdg-desktop-portal-gnome dep (MR 3863)
xdg-desktop-portal-gnome is needed for example for mime type associations.
Without it, the default gnome based shell installations couldn't detect which
mime types were provided by which applications, xdg-open and the
Default Applications tab in GNOME Control Center didn't work.

This dependency was missing from postmarketos-ui-phosh, so let's add it
and xdg-user-dirs to postmarketos-base-ui-gnome to make sure it's not repeated
in every gnome based UI.
2023-02-11 12:08:09 +01:00
Yassine Oudjana d0e39c1a0b testing/device-samsung-grandpplte: handle changes in 6.1.9 kernel upgrade (MR 3839)
linux-postmarketos-mediatek-mt6735 6.1.9 added full display support and hardware acceleration
as well as haptics. Add a phoc configuration file to set the display scale, and a feedbackd
theme to optimize vibration durations. Route console output to UART to leave the splash
screen clean and to help with debugging when necessary.

[ci:skip-build] already built successfully in CI
2023-02-10 14:17:44 -08:00
Yassine Oudjana 3531779ac8 testing/linux-postmarketos-mediatek-mt6735: upgrade to 6.1.9 (MR 3839)
[ci:skip-build] already built successfully in CI
2023-02-10 14:17:43 -08:00
Yassine Oudjana 181364d08b testing/u-boot-grandpplte: upgrade to 2023.01 (MR 3839)
[ci:skip-build] already built successfully in CI
2023-02-10 14:17:43 -08:00
Adrian Chelaru 512e7d3e4c samsung-goyawifi: add memfd syscall support (MR 3823)
[ci:skip-build] already built successfully in CI
2023-02-10 14:12:11 -08:00
Adrian Chelaru 51d8d6e20f samsung-goyawifi: Enable FBCON & rotate touchscreen from driver (MR 3823)
[ci:skip-build] already built successfully in CI
2023-02-10 14:12:11 -08:00
Sergey Lisov b11e24701a device-samsung-a6lte: hack around a WiFi bug in the vendor kernel (MR 3823)
If the wlan0 interface is rfkilled down on boot, WiFi won't work until reboot.
It seems that quickly ifconfig'ing wlan0 up and down in sysinit is enough to work around the bug.

[ci:skip-build] already built successfully in CI
2023-02-10 14:09:03 -08:00
Newbyte 3a50065ed8 linux-purism-librem5: update url (MR 3859)
Repository was moved.

[ci:skip-build]: Already built successfully in CI
2023-02-10 20:52:05 +01:00
Newbyte 279c363323 linux-purism-librem5: upgrade to 6.1.10 (MR 3859) 2023-02-10 20:51:58 +01:00
Clayton Craft 0e1fe15d24 main/postmarketos-mkinitfs: upgrade to 1.6.1 (MR 3861)
Fixes a bug with library circular dependencies on aports, introduced on
edge today.

[ci:skip-build]: already built successfully in CI
2023-02-10 08:53:42 +01:00
Oliver Smith 3bf4887495 temp/megapixels-purism: bump pkgrel (MR 3856)
It's on its way out already (MR 3815), but until that MR is finished,
bump the pkgrel once more to fix all upstream compat errors:

Increase 'megapixels-purism' pkgrel (6 -> 7), missing depend(s): so:libcamera.so.0.0.3

[ci:skip-build]: Already built successfully in CI
2023-02-09 11:04:13 +01:00
Oliver Smith 3c516c4299 cross/grub-efi-x86: upgrade to 2.06-r8 2023-02-09 08:32:51 +01:00
Oliver Smith 727042b3f7 cross/busybox-static-*: upgrade to 1.36.0-r4 2023-02-09 08:32:51 +01:00
Anton Bambura 99f1489c26 main/postmarketos-base: depend on postmarketos-mkinitfs>=1.5.1-r5 (MR 3854)
Related: discussion in MR 3791
[ci:skip-build]: already built successfully in CI
2023-02-08 08:54:56 +01:00
Jan Jasper de Kroon a07e4621e8 device/community/linux-pine64-pinephonepro: upgrade to 6.1.10 (MR 3817)
- Commit upstreamed: usb: dwc3: Save desired_dr_role on stack during set_mode processing

[ci:skip-build]: already built successfully in CI
2023-02-08 08:05:46 +01:00
Henrik Grimler c319a9db70 samsung-klimtlte: enable automatic kernel upgrades (MR 3842) 2023-02-07 16:33:33 +01:00
Henrik Grimler 3fd4bf38ee samsung-chagallwifi: enable automatic kernel upgrades (MR 3842) 2023-02-07 16:33:33 +01:00
Newbyte 3fd7928b97 u-boot-librem5: add myself as co-maintainer (MR 3850)
[ci:skip-build] already built successfully in CI
2023-02-07 01:22:23 -08:00
Newbyte 518101fc2f linux-purism-librem5: add myself as co-maintainer (MR 3850) 2023-02-07 01:22:23 -08:00
Newbyte ac917294cc device-purism-librem5: add myself as co-maintainer (MR 3850) 2023-02-07 01:22:23 -08:00
Newbyte 678fdf53d2 linux-purism-librem5: enable MGLRU (MR 3850)
See https://gitlab.com/postmarketOS/pmaports/-/issues/1918
2023-02-07 01:22:22 -08:00
Anton Bambura c957e4d566 google-makomo: new device (MR 3841)
[ci:skip-build] already built successfully in CI
2023-02-06 04:27:17 -08:00
Anton Bambura fee4c593a0 google-katsu: new device (MR 3841) 2023-02-06 04:27:17 -08:00
Anton Bambura 0806bb2487 linux-postmarketos-mediatek-mt8183: add support for katsu and makomo (MR 3841) 2023-02-06 04:27:17 -08:00
Anton Bambura 210268fc9b samsung-w767: new device (MR 3838)
[ci:skip-build] already built successfully in CI
2023-02-06 04:20:13 -08:00
Anton Bambura 4b76e05983 lenovo-yoga-5g: new device (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura b249cab428 lenovo-flex-5g: new device (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura 4aa0aac861 linux-postmarketos-qcom-sc8180x: new aport (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura 5f769995ae soc-qcom-sc8180x: new aport (MR 3838) 2023-02-06 04:20:11 -08:00
Dylan Van Assche a08bd157da cross/gcc-*: upgrade to 12.2.1_git20220924-r9
[ci:skip-build]: Already built successfully in CI
2023-02-06 12:33:05 +01:00
Yassine Oudjana af6cc1f110 xiaomi-scorpio: use absolute paths for GPU firmware files (MR 3837)
[ci:skip-build]: already built successfully in CI
2023-02-02 11:07:26 +01:00
Svyatoslav Ryhel b51a1907be linux-postmarketos-grate: upgrade to 6.1.0 stable (MR 3836)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>

[ci:skip-build]: Already built successfully in CI
2023-02-02 10:03:26 +01:00
Svyatoslav Ryhel 2996901f11 device-lg-p895: switch to extlinux.conf (MR 3836)
Since re-crypt was finished now all T20/T30 devices
can be switched to use generic u-boot approach
and mount eMMC as external storage to host PC.

Unfortunately or fortunately this deprecates
any Android use on device. Have fun!

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-02-01 18:57:34 +02:00
Alistair Francis e6f1fe7e73 linux-purism-librem5: upgrade to 6.1.8pureos1 (MR 3832)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-02-01 07:42:56 +01:00
Przemysław Romanik e71d96fcb7 samsung-crownlte: set logind-check-graphical=false in LightDM config (MR 3827)
[ci:skip-build]: already built successfully in CI
2023-01-31 08:26:09 +01:00
Anjandev Momi 111862b299 temp/sxmo-utils: drop package - pulseaudio patch is upstreamed (MR 3829)
[ci:skip-build] already built successfully in CI
2023-01-30 20:10:20 -08:00
Anjandev Momi 9c2be2f772 main/postmarketos-ui-sxmo-de-sway: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:20 -08:00
Anjandev Momi c0df115a7e main/postmarketos-ui-sxmo-de-dwm: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:20 -08:00
Anjandev Momi 4722c3cce2 main/sxmo-common: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:17 -08:00
Oliver Smith e3a9b8c61b main/postmarketos-mkinitfs: dep: boot-deploy>=0.7 (MR 3825)
Explicitly depend on the version that allowed mounting with UUIDs, so we
can soon set this explicit dependency for devices that now make use of
this feature.

Dependency chain:
  device package
  -> postmarketos-base
    -> postmarketos-mkinitfs
      -> boot-deploy

Related: discussion in MR 3791
2023-01-28 03:13:23 +02:00
Jan Jasper de Kroon 52fd44825a device/main/linux-postmarketos-allwinner: upgrade to 6.1.7 (MR 3816)
[ci:skip-build]: Already built successfully in CI
2023-01-27 17:46:43 +01:00
Alexander Martinz 93f262d7f1 community/linux-postmarketos-qcom-sdm845: upgrade to 6.2.0_rc3 (MR 3802)
Change-Id: Ia140302bb4d309740db85a36374673a6e66c2c2b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>

[ci:skip-build]: Already built successfully in CI
2023-01-27 17:41:44 +01:00
Oliver Smith d502d02a0b CI: bump copyright to 2023 2023-01-26 08:40:40 +01:00
Oliver Smith ff9beb4588 cross/busybox-*: upgrade to 1.36.0-r3 2023-01-26 08:37:53 +01:00
Ivan Belokobylskiy 3154d9162f lg-mako: add downstream and mainline kernels (MR 3776)
[ci:skip-build]: already built successfully in CI
2023-01-26 08:31:37 +01:00
Ivan Belokobylskiy a76fd6f0da lg-mako: add firmware package (MR 3776) 2023-01-26 08:31:19 +01:00
Luca Weiss 777d7607b8 testing/linux-postmarketos-qcom-msm8974: upgrade to 6.1.7 (MR 3818)
Changes to defconfig:
* Disable legacy usb gadgets (USB_ETH and friends)
* Enable Multi-Gen LRU (LRU_GEN)

[ci:skip-build]: already built successfully in CI
2023-01-26 08:13:55 +01:00
Oliver Smith 32fc24cd4a main/postmarketos-mkinitfs: upgrade to 1.6 (MR 3821)
Add support for hook scripts in initramfs-extra to the shell scripts.

Related: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/merge_requests/27
2023-01-23 08:44:57 +01:00
Oliver Smith 452a41a505 channels.cfg: mark v22.06 as unsupported 2023-01-22 22:36:36 +01:00
Bastindo cd1ddc03b6 dongshanpi-nezhastu: new device (MR 3814)
[ci:skip-build]: Already built successfully in CI
2023-01-22 21:43:15 +01:00
Henrik Grimler 68defa831e linux-postmarketos-exynos5: update to 6.1.7 (MR 3812)
[ci:skip-build]: already built successfully in CI
2023-01-22 21:38:24 +01:00
cheadrian eb0896b170 samsung-goyawifi: new device (MR 3258)
Bring up support for Samsung T110 Goyawifi.
Working: Display (framebuffer), touchscreen, buttons and Wi-Fi.
Include: kernel source and necesarry firmware for Wi-Fi and Bluetooth.

samsung-goyawifi: fix patch names

samsung-goyawifi: remove mesa-dri-gallium

samsung-goyawifi: fix keyboard in deviceinfo

samsung-goyawifi: fix lightdm

samsung-goyawifi: editor-config ci tabs

samsung-goyawifi: add linux kernel as depends

[ci:skip-build]: Already built successfully in CI
2023-01-21 12:55:36 +01:00
Sergey Lisov b7c3d41b9a samsung-a6lte: cellular support via samsungipcd (MR 3585)
[ci:skip-build]: already built successfully in CI
2023-01-19 07:53:31 +01:00
Sergey Lisov b658b886b8 linux-samsung-a6lte: enable PPPoS and BSD-style ptys (MR 3585)
Necessary for samsungipcd.
2023-01-19 07:53:25 +01:00
Sergey Lisov 304b1764ed modem/samsungipcd: upgrade to 0.2.2 (MR 3585) 2023-01-19 07:53:22 +01:00
Alex 4bbd01460d main/postmarketos-ui-sway: fix date FMT in status bar (MR 3811)
busybox date command does not seem to understand the
%l formatting character. Replace with the equivalent
%_I instead.
2023-01-18 14:05:50 +01:00
Oliver Smith 04df7ec06b cross/busybox-static: upgrade to 1.36.0-r1 2023-01-18 08:16:02 +01:00
Andreas Kemnade b2a31dbd14 tolino-shine2hd: add firmware dependency (MR 3810)
Add the firmware for the CyberTan WC121.
Configuration is added in the newest firmware-linux release, so
complete support will appear in the corresponding Alpine package soon.

[ci:skip-build]: already built successfully in CI
2023-01-18 08:12:44 +01:00
Alistair Francis 1993e0cc24 linux-purism-librem5: upgrade to 6.1.4pureos1 (MR 3809)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-01-17 15:11:52 -08:00
Smits Katze a2820d9c79 main/postmarketos-config-nftables: make mDNS rule more restrictive (MR 3755)
mDNS queries and replies are sent to port 5353.
Update firewall rule in order to make it as tight as possible.

[ci:skip-build]: already built successfully in CI
2023-01-17 08:34:20 +01:00
Cédric Bellegarde e84ad270ec main/postmarketos-base-ui-gnome: depend on power-profiles-daemon (MR 3795)
[ci:skip-build] already built successfully in CI
2023-01-16 23:29:15 -08:00
Oliver Smith 7ee859f8dd cross/busybox-static-*: upgrade to 1.36.0-r0 (MR 3808)
[ci:skip-build]: already built successfully in CI
2023-01-15 21:50:21 +01:00
Oliver Smith c834107e9d cross/binutils-*: upgrade to 2.40-r2 (MR 3808) 2023-01-15 21:19:21 +01:00
Newbyte cce08f092a linux-postmarketos-exynos4: upgrade to 6.1 (MR 3717)
And also enable MGLRU.

[ci:skip-build]: Already built successfully in CI
2023-01-15 20:46:39 +01:00
Bobby The Builder c2d091a3a7 main/u-boot-pinephone: upgrade to v2023.01 (MR 3806)
[ci:skip-build]: Already built successfully in CI
2023-01-14 19:07:23 +01:00
Bobby The Builder 631d5eb418 temp/arm-trusted-firmware: upgrade to 2.8.0 (MR 3806) 2023-01-14 19:07:07 +01:00
Bobby The Builder ae74e11664 main/device-pine64-pinephone: U-Boot script update (MR 3806)
Protect script when ram_freq is not set
   Safely load PSCI DTO to enable CPUidle driver: psci_idle
      The PSCI DTO shall only be applied if TF-A & Crust
      support CPU idle states [0]. Otherwise the CPU usage
      will be at 100%. This will not be visible in top,
      lead to overheating and battery drain.
      Worst case scenario would lead to a fried chip if
      the CPU thermal_zone does not work or is not enabled
      in DTS.

[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1901#note_1238456920
2023-01-14 19:07:07 +01:00
exkc d933df7e8f u-boot-mangopi-mq-pro:fix the wrong url (MR 3803)
[ci:skip-build] already built successfully in CI
2023-01-13 22:08:40 -08:00
exkc c55ddae1ad mangopi-mq-pro: use generated grub.cfg (MR 3803) 2023-01-13 22:08:34 -08:00
exkc df6c69101b mangopi-mq-pro: remove unnecessary uboot-script.cmd (MR 3803)
by moving grub's efi file to correct path
2023-01-13 22:08:22 -08:00
exkc 73a2ddb8fe mangopi-mq-pro: fix wrong uboot offset (MR 3803) 2023-01-13 22:07:52 -08:00
Luca Weiss 31a651d0d7 pine64-pinephone: Remove myself as maintainer (MR 3804)
I have enough other devices to care about, and honestly haven't touched
my PinePhone in a while. Remove myself as Co-Maintainer from all
relevant packages.

[ci:skip-vercheck]: No rebuild necessary
[ci:skip-build]: Doesn't change resulting packages
2023-01-13 22:33:38 +01:00
Caleb Connolly 7ac2abf20b community/linux-postmarketos-qcom-sdm845: apply audio fix (MR 3800)
Fix APR q6voice nodes which broke audio on 6.1.3
https://gitlab.com/sdm845-mainline/linux/-/commit/a5312556efefb2d93385681687a54fc5f6862c32

[ci:skip-build]: Already built successfully in CI
2023-01-11 22:34:55 +01:00
Clayton Craft bca632d4f6 postmarketos-base: enable using zram swap by default (MR 3752)
This installs zram-init and sets it to start on boot for all
devices/UIs. The included conf.d/zram-init also allows diabling using
zram swap or overriding the size by using a deviceinfo var.

I did an analysis of the pmos base install size with the 'none' UI
selected, after depending on zram-init, and the following new package is
installed:
        zram-init-11.1-r1 installed size: 40 KiB

These packages are dependencies of zram-init, however they are already
installed in the base image (with 'none' UI) so they are not counted
above:
        util-linux-misc-2.38.1-r0 installed size: 6816 KiB
        e2fsprogs-extra-1.46.5-r4 installed size: 1324 KiB

So this seems like a very small price to pay for the benefit of not
making the logic/implementation more complicated than this.

     * Starting busybox syslog ... [ ok ]
    ssh-keygen: generating new host keys: RSA ECDSA ED25519
     * Starting sshd ... [ ok ]
    zram swap: activating with size: 243 MB
     * Loading zram module...
     [ ok ]
     * Swap->zram0
     [ ok ]
     * Starting local ... [ ok ]

This change introduces one new deviceinfo variable:
deviceinfo_zram_swap_pct: percentage of RAM to use for zram swap

Default percentages if the second var is unset are explained in the
zram-init file this commit adds. A value of 0 disables zram swap.

fixes #1133
2023-01-11 15:39:40 +01:00
Oliver Smith 0569fdd9f8 cross/binutils-*: upgrade to 2.39-r3 (MR 3798)
[ci:skip-build]: Already built successfully in CI
2023-01-11 15:24:47 +01:00
Anton Bambura 75f91b45de linux-postmarketos-exynos5: use postmarketos-installkernel (MR 3751)
[ci:skip-build]: already built successfully in CI
2023-01-10 13:35:59 +01:00
M0Rf30 fde3200e27 linux-postmarketos-qcom-msm8953: upgrade to 6.1.0 (MR 3759)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-01-10 13:11:32 +01:00
Adel Ahmed adf2d837af sony-leo: add mainline kernel (MR 3770)
[ci:skip-build]: already built successfully in CI
2023-01-10 13:06:32 +01:00
Oliver Smith a64a9a1ca0 main/msm-firmware-loader: upgrade to 1.1.0 (MR 3797)
[ci:skip-build]: already built successfully in CI
2023-01-10 12:06:52 +01:00
Oliver Smith 166acbc194 cross/gurb-efi-x86: upgrade to 2.06-r7 2023-01-09 15:43:47 +01:00
Oliver Smith 2bcb2246ce cross/gcc-*: upgrade to 12.2.1_git20220924-r8 2023-01-09 15:43:42 +01:00
Clayton Craft c3669975e9 purism-librem5: disable power management for Sparklan/brcmfmac wifi (MR 3793)
This wifi module doesn't ship with the L5, but I have one because it's
generally more stable than the redpine thing that does ship with the
L5... however there's a known problem with having PM enabled on it.

This adds a NM config option, that matches specifically on this
device/driver, to disable wifi. PM for the redpine should not be
affected by this config change.

[ci:skip-build] already built successfully in CI
2023-01-08 13:56:25 -08:00
Clayton Craft 152f8e4715 main/unl0kr: add to initramfs-extra (MR 3777)
This moves unl0kr and all of its dependencies into the initramfs-extra,
it does so by using a relatively new mkinitfs feature for installing
files into the -extra archive.

[ci:skip-build] already built successfully in CI
2023-01-08 11:04:41 -08:00
Clayton Craft d27e1bd65d main/pmos-mkinitfs: run udev after mounting the initramfs-extra (MR 3777)
By positioning this after extracting the initramfs-extra archive, we can
allow udev to exist in the -extra archive and not have any size impact
on the base initramfs archive.

Any hook that needs udev in the initramfs can get that support, provided
that the hook lists udev requirements in the .files config for it.
2023-01-08 11:04:41 -08:00
Marc0x1 35659b6b0d xunlong-orangepi-pc: new device (MR 3785) 2023-01-08 18:41:54 +01:00
Luca Weiss af198149e0 cross/gcc-*: upgrade to 12.2.1_git20220924-r7 (MR 3794) 2023-01-08 12:03:22 +01:00
Luca Weiss fa915996b0 cross/busybox-static-*: upgrade to 1.35.0-r30 (MR 3794) 2023-01-08 12:02:06 +01:00
Alexander Martinz 64b0044426 community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.3 (MR 3782)
For a merge list, please see the merge commits:
  - 6.1.1  - (https://gitlab.com/sdm845-mainline/linux/-/commit/5ed7044b056ca68cf4756e4be225d220a0e386b3)
  - 6.1.2  - (https://gitlab.com/sdm845-mainline/linux/-/commit/ec165d9c018716c6e3510fe6ad7aed70d338a8c1)
  - 6.1.3  - (https://gitlab.com/sdm845-mainline/linux/-/commit/3735d5032c1ada943251fb08cfe9b879197e802d)

Change-Id: Id46e827a90a9c68cb69d23dc0698a8ea2a5e4336
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>

[ci:skip-build] already built successfully in CI
2023-01-07 23:15:13 -08:00
Anton Bambura 594fe30620 google-veyron-minnie: switch to depthcharge and extlinux (MR 3789)
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot

Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.

[ci:skip-build] already built successfully in CI
2023-01-07 22:48:23 -08:00
Anton Bambura 93a6d69fe8 google-spring: new device (MR 3788)
[ci:skip-build] already built successfully in CI
2023-01-07 22:44:30 -08:00
Anton Bambura 8730f20fc9 google-veyron-speedy: switch to depthcharge and extlinux (MR 3786)
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
 - broken USB
 - broken eMMC
 - broken latest version of U-Boot

Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.

[ci:skip-build] already built successfully in CI
2023-01-07 22:42:10 -08:00
Anton Bambura 98284111ed google-kevin: add extlinux (MR 3787)
[ci:skip-build] already built successfully in CI
2023-01-07 22:40:20 -08:00
Anton Bambura 4f27e36d60 google-bob: add extlinux (MR 3787) 2023-01-07 22:40:20 -08:00
Anton Bambura 33594e6d6d lg-c50: new device (MR 3783)
[ci:skip-build]: already built successfully in CI
2023-01-06 22:22:52 +01:00
Raymond Hackley c0db634e92 main/postmarketos-base-ui: networkmanager: depends on networkmanager{,-*} (MR 3749)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-01-06 21:53:28 +01:00
Jan Jasper de Kroon 314d1e58c3 device/main/linux-postmarketos-allwinner: upgrade to 6.1.3_git20230104 (MR 3781)
[ci:skip-build]: already built successfully in CI
2023-01-06 21:31:46 +01:00
Anton Bambura 40a3650f23 google-veyron-tiger: new device (MR 3772)
[ci:skip-build]: already built successfully in CI
2023-01-06 21:28:38 +01:00
Anton Bambura 01b684f271 google-veyron-mighty: new device (MR 3772) 2023-01-06 21:28:22 +01:00
Anton Bambura bee023cc1c google-veyron-mickey: new device (MR 3772) 2023-01-06 21:28:22 +01:00
Anton Bambura 1466b2be98 google-veyron-jaq: new device (MR 3772) 2023-01-06 21:28:21 +01:00
Anton Bambura 5945753142 google-veyron-fievel: new device (MR 3772) 2023-01-06 21:28:15 +01:00
Anton Bambura 47e1660711 google-dumo: new device (MR 3748)
[ci:skip-build]: already built successfully in CI
2023-01-05 04:03:45 +01:00
Anton Bambura 213913c122 google-druwl: new device (MR 3748) 2023-01-05 04:03:36 +01:00
Anton Bambura bbf6fa2e71 google-dru: new device (MR 3748) 2023-01-05 04:03:31 +01:00
Andreas Kemnade 7b35230958 linux-kobo-clara-mainline: upgrade to 6.1 (MR 3764)
use already the touchscreen driver which is accepted for
6.2

[ci:skip-build]: already built successfully in CI
2023-01-05 03:55:56 +01:00
exkc 09670b7395 mangopi-mq-pro: new device (MR 3761)
[ci:skip-build]: already built successfully in CI
2023-01-05 03:51:58 +01:00
exkc eea97fa1a8 linux-postmarketos-allwinner-d1: new aport (MR 3761) 2023-01-05 03:51:58 +01:00
exkc 66c863af81 u-boot-mangopi-mq-pro: new aport (MR 3761) 2023-01-05 03:51:58 +01:00
Anton Bambura 33254c4d19 aarch64 chromebooks: add $deviceinfo_depthcharge_board to deviceinfo (MR 3724)
This is needed to use depthchargectl instead of mkdepthcharge

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-01-05 03:49:21 +01:00
Anton Bambura b243969ea7 pine64-pinephonepro: use generated grub.cfg (MR 3724) 2023-01-05 03:49:15 +01:00
Anton Bambura 33c59fc7fa pine64-pinebookpro: use generated extlinux.conf (MR 3724) 2023-01-05 03:49:15 +01:00
Anton Bambura d59be3b0ea main/boot-deploy: upgrade to 0.7.0 (MR 3724) 2023-01-05 03:49:10 +01:00
Julian Winkler f3b5419349 motorola-smi: new device (Motorola RAZR i) (MR 3774)
[ci:skip-build]: already built successfully in CI
2023-01-05 03:37:38 +01:00
Julian Winkler 1e9be758ea linux-postmarketos-intel-medfield: new kernel for Intel Medfield (MR 3774) 2023-01-05 03:37:24 +01:00
Newbyte e756db4ba3 linux-postmarketos-stericsson: upgrade to 6.1 (MR 3730)
Also enable MGLRU.

[ci:skip-build]: already built successfully in CI
2023-01-05 02:58:11 +01:00
Cédric Bellegarde fb119cc8e2 main/postmarketos-ui-phosh: clean up dconf overrides (MR 3775)
[ci:skip-build]: already built successfully in CI
2023-01-05 02:48:34 +01:00
Petr Vorel ca20cbcaf4 linux-postmarketos-qcom-msm8994: upgrade to 6.1.2 (MR 3762)
New features:
* msm8994-huawei-angler: Add sdhc1 definition (internal SD card).

Backporting 3 patches:
* 0001-arm64-dts-msm8992-bullhead-add-memory-hole-region.patch
fixes bullhead boot since 6.0-rc1, already in qcom tree

* 0002-arm64-dts-qcom-msm8992-bullhead-Fix-cont_splash_mem-.patch
memory fix, likely to be merged

* 0003-arm64-dts-qcom-msm8992-bullhead-Disable-dfps_data_me.patch
memory fix, likely to be merged

* 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
memory fix, likely to be merged

* 0005-arm64-dts-msm8994-angler-fix-the-memory-map.patch
fixes angler reset during starting services in rootfs,
likely to be merged

Remove all backported commits from newer versions.

While at it, remove various CONFIG_NET_VENDOR_.* and
CONFIG_MSM_.* and CONFIG_.*_QCOM_.* for other SOCs.

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-01-05 00:38:16 +01:00
André Apitzsch 383bdab043 bq-piccolo: add remote processor switch (MR 3780)
[ci:skip-build]: already built successfully in CI
2023-01-04 23:33:17 +01:00
Luca Weiss e07103fb74 testing/linux-postmarketos-qcom-msm8974: upgrade to 6.0.13 (MR 3658)
Manual config changes:
* CRYPTO_DEV_QCOM_RNG=m
* LEDS_IS31FL319X=m
* QCOM_RMTFS_MEM=y

[ci:skip-build]: already built successfully in CI
2022-12-29 19:31:45 +01:00
Affe Null 8141d4f90f linux-postmarketos-qcom-msm8909: remove (MR 3768)
Support for msm8909 devices has been merged into msm8916-mainline

[ci:skip-build]: already built successfully in CI
2022-12-29 18:41:16 +01:00
Affe Null ac7fc0276b nokia-leo: new device (MR 3768)
Initial port using msm8916-mainline kernel
2022-12-29 18:41:16 +01:00
Affe Null a722471215 nokia-sparkler: new device (MR 3768)
Initial port using msm8916-mainline kernel
2022-12-29 18:41:16 +01:00
Affe Null 3695a9246a nokia-argon: add modem support and switch to msm8916-mainline kernel (MR 3768) 2022-12-29 18:41:16 +01:00
Affe Null 66982061a1 soc-qcom-msm8909: new aport (MR 3768)
Shared SoC package for MSM8909

Currently provides a dummy soc-qcom-msm8909 package that depends on
soc-qcom-msm8916 and a soc-qcom-msm8909-modem package for modem support.
2022-12-29 18:40:55 +01:00
Affe Null 75cd718f5c modem/rmtfs: add tunning partition alias patch for msm8909 Nokia devices (MR 3768)
Like alcatel-idol3, these devices have a tunning partition. However, the
modem calls it modem_tng instead of modem_tunning. This patch adds the
alternative name for the partition.

An upstream pull request has already been submitted (see patch).
2022-12-29 18:40:12 +01:00
Luca Weiss ac073485e0 fairphone-fp3: add swlock-offset, make msm-fb-refresher downstream-only (MR 3767)
Since the RTC like on most Qualcomm chips is read-only, use
swclock-offset package to fix up time after boot.

And since we don't need msm-fb-refresher on mainline, move it to the
downstream kernel subpackage.
2022-12-29 18:22:48 +01:00
Luca Weiss ce8f4219d2 fairphone-fp2: add swclock-offset dependency (MR 3767)
The device has a standard read-only Qualcomm RTC, so time without
swclock-offset will always be wrong after reboot.
2022-12-29 18:22:48 +01:00
Raymond Hackley ecc98c26de samsung-grandmax: move to community (MR 3696)
Like samsung-e7, samsung-grandmax works quite well. Move it to community.

[ci:skip-build] already built successfully in CI
2022-12-29 18:17:41 +01:00
Andreas Kemnade f046cd5d1b kobo-librah2o: new device (MR 2954)
Basic support for the Kobo Libra H2O ebook reader.

Waveform handling shares the same oddities as for the Kobo Clara HD, the
existing waveform from eMMC is used.

Preferred way to install is to export the eMMC as USB Mass storage,
backing it up, and installing there.

U-Boot is a more recent one than the factory u-boot, supporting easy
access for buttons/LEDs. Pressing PageUp while powering on gives you the
possibility to enable USB mass storage mode to restore your backup.

Kernel is the near mainline kernel also used by the Kobo Clara HD.

It lacks some devicetree additions which are planned for the next
update, but basic things like buttons, usb, serial and wifi are
supported.
2022-12-29 18:07:51 +01:00
Sicelo A. Mhlongo a787222aeb postmarketos-ui-i3wm: use tinydm and relocate device-specific file (MR 3769)
* lock.sh is specific to Nokia N900, so move to device-nokia-n900
* use tinydm instead of lightdm

Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-12-29 17:57:38 +01:00
Alistair Francis 22e26ced4f linux-purism-librem5: upgrade to 6.1.1pureos1 (MR 3758)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2022-12-29 17:50:52 +01:00
Oliver Smith aebf7d2898 temp/megapixels-purism: bump pkgrel (MR 3771)
Fix for:
  missing depend(s): so:libcamera.so.0.0.2

[ci:skip-build]: already built successfully in CI
2022-12-29 17:47:26 +01:00
Oliver Smith 3afcd215a7 main/postmarketos-ui-plasma-desktop: move some deps to extra (MR 3756)
Move some dependencies from plasma-desktop to the -extras subpackage, so
they don't get installed by default:

* audiocd-kio (2 MiB): using a CD drive with postmarketOS seems to be a
  very rare combination
* kolourpaint (3 MiB): very basic image editor with featureset of MS
  paint, I don't think it's that useful in a default install. Users
  looking for an image editor may want to use e.g. krita instead and can
  install whatever they want to use after the default install is done.
* kwrite (20 MiB): another text editor, kate (3 MiB), is already getting
  installed by default
* okular (81 MiB): quite big, and pdfs can also be viewed in firefox
  which we install by default
* mesa-demos (50 MiB): rather big for just being some graphical demos

It's always a good idea to keep the install image small, but in this
instance the change was prompted because we currently hit a size limit
when generating install images. In particular, when generating the
v22.12 image for the pinebookpro. The process for generating install
images is not optimized for size (see bpo issue 116) and this should be
improved, but in the meantime let's just reduce the install size with
this patch on edge and backport it to v22.12 so building this image
doesn't fail anymore.

Sizes listed above are for aarch64 and include dependencies that get
removed together with removing the package.
2022-12-29 17:35:09 +01:00
M0Rf30 595821f808 xiaomi-vince: remove downstream kernel and unuseful resources (MR 3760)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-12-29 17:32:29 +01:00
Oliver Smith 05030c7cfe channels.cfg: mark v22.12 as released 2022-12-22 23:31:12 +01:00
Oliver Smith 6c06572dba cross/gcc-*: upgrade to 12.2.1_git20220924-r6 2022-12-22 23:08:55 +01:00
Alistair Francis 9183be336b linux-purism-librem5: Add 166MHz to DDRC OPP table (MR 3754)
Backport the Purism patch from https://source.puri.sm/Librem5/linux/-/merge_requests/640

"With this patch, older revisions (2.0) should be able to switch between
166MHz and 800MHz as opposed to being stuck to 800MHz all the time, since
that was the only supported frequency in the OPP table."

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2022-12-20 12:17:16 -08:00
Minecrell 04c166cdde firmware-motorola-osprey: package wcnss firmware for harpia (MR 3746)
The WCNSS firwmare used for motorola-harpia seems to have weird issues
that prevent using WiFi properly except for a few limited channels. It
is not clear why this happens, it seems to be some peculiar firmware
difference (perhaps the channels need to be enabled with some
non-standard command).

Since Motorola uses the same signing keys for all their MSM8916
devices, it is possible to use the firmware from other devices instead.
Initial testing shows promising results when using the older WCNSS
firmware from motorola-osprey instead, it does not seem to have this
issue.

It's not clear yet if this has any negative effects. The WCNSS firmware
should not be device-specific, but theoretically it could be (if
Motorola made some weird changes inside it).

For now just package it in firmware-motorola-osprey-wcnss. This package
can be easily installed on harpia devices for testing (using apk add)
and will then take precendence over the default firmware from the
firmware partition (via msm-firmware-loader).

Move firmware-motorola-osprey from testing to community so that the
package is preserved for motorola-harpia users (testing is deleted in
stable branches).

[ci:skip-build]: already built successfully in CI
2022-12-20 08:30:15 +01:00
Minecrell 2f315e3b72 motorola-osprey: use device-specific WCNSS_qcom_wlan_nv.bin (MR 3746)
motorola-osprey can generally use the firmware from motorola-harpia
(which is a bit newer). However, the WCNSS_qcom_wlan_nv.bin is usually
device specific (it contains some kind of calibration values for
WiFi/BT).

The file packaged in firmware-motorola-osprey-wcnss-nv is identical to
the file in firmware-motorola-harpia-wcnss-nv. However, It looks a bit
like this might be a mistake in the source repository
(https://github.com/pmsourcedump/firmware-motorola-osprey). The
wlan/prima folder there is completely identical to the one used for
motorola-harpia, but the stock ROM and LineageOS use different files.

Fix this by packaging the file from TheMuppets. Also modernize the
firmware-motorola-osprey package by applying pil-squasher to the
venus/video firmware.
2022-12-20 08:29:57 +01:00
Minecrell 047a8ba6dc motorola-osprey: restore firmware package (MR 3746)
This reverts parts of commit 9c8a189e6d
("motorola-osprey: use firmware from harpia (MR 2613)").
2022-12-20 08:29:57 +01:00
Minecrell 7273c5d1b3 motorola-osprey: rename to Motorola Moto G 2015 (MR 3746)
motorola-osprey has a very clunky name at the moment "Motorola Moto G
3rd gen. (2015)". The device was mostly just called "Motorola Moto G"
by Motorola, so it is hard to choose a fitting (but unique) name.

In the postmarketOS wiki it is called "Motorola Moto G 2015" so let's
just drop the "3rd gen." in the pmOS device package as well.

Also make the deviceinfo consistent with harpia while at it.
2022-12-20 08:29:47 +01:00
Anton Bambura a4a0451269 google-bob: new device (MR 3747)
cros-ec-sensorhub is blocked because of wrong accelerometer mount matrix
2022-12-20 08:23:04 +01:00
Kabir Akzaman 891109adce samsung-j7elte: new device (Samsung Galaxy J7) (MR 3715)
[ci:skip-build] already built successfully in CI
2022-12-19 22:37:58 -08:00
Elagost fd90572c61 postmarketos-base: replace sudo with cmd:sudo (MR 3721)
[ci:skip-build] already built successfully in CI
2022-12-18 13:23:33 -08:00
Oliver Smith 7d673c4301 main/postmarketos-release-upgrade: upgrade to 1.3.1 (MR 3750)
[ci:skip-build]: already built successfully in CI
2022-12-18 14:55:09 +01:00
Anjandev Momi 8c466207dd main/sxmo-common: allow switching between pipewire and pulseaudio (MR 3711)
Users can switch to pulseaudio with:
  doas apk add sxmo-audio-common-pulse

We can make the poco f1 device APKBUILD depend on
sxmo-common-audio-pulse. This allows you to install pulseaudio on Sxmo
which was the reason Joel said the poco f1 was having issues with call
audio: https://gitlab.com/postmarketOS/pmaports/-/issues/1821

After installing pulseaudio with this patch, the other side still
cannot hear me. I am posting this work so that others can just run
pulseaudio on sxmo and find out what's causing this bug.

Note by ollieparanoid: while it doesn't fix the bug completely, it seems
it's required to make calling work again, something we definitively want
to have in v22.12 so I'm merging this now. Also the sxmo-utils patch was
merged to sxmo-utils upstream, but isn't in alpine yet. Adding this
package (previous patch) temporarily makes sense.

Co-developed-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: pkg forked from alpine has pkgrel > 0
[ci:skip-build]: already built successfully in CI
2022-12-18 14:36:21 +01:00
Anjandev Momi 3ff8cfa528 temp/sxmo-utils: patch to support pulseaudio (MR 3711)
This package is just forked from alpine upstream and patched to support
pulseaudio. This patch should be upstreamed to sxmo but posting here so
that others can help me figure out why audio calls with poco f1 and Sxmo
are broken:

https://gitlab.com/postmarketOS/pmaports/-/issues/1821
2022-12-18 14:34:23 +01:00
M0Rf30 7125b75b68 linux-postmarketos-qcom-msm8953: upgrade to 6.0.10 (MR 3697)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>

[ci:skip-build]: Already built successfully in CI
2022-12-18 13:35:22 +01:00
M0Rf30 0a74080b08 xiaomi-vince: command-line cleanup and panels enablement (MR 3697)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
2022-12-18 13:35:17 +01:00
Jan Jasper de Kroon 2707def9f8 device/main/linux-postmarketos-allwinner: Switch to CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL (MR 3720)
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.

In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase
Note: This is only a change in the aarch64 configuration as the armv7 configuration already used the schedutil scheduler as default.

[ci:skip-build]: Already built successfully in CI
2022-12-18 13:32:22 +01:00
Raffaele Tranquillini 1bb85eecbd cutiepi-tablet: new device (MR 3737)
This adds initial support to CutiePi tablet, with basic peripherals, sound, touchscreen, and wireless support.

Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>

Add peripheral overlays

Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>

[ci:skip-build]: Already built successfully in CI
2022-12-18 13:13:19 +01:00
Jan Jasper de Kroon 433e4155f1 device/community/linux-pine64-pinephonepro: Switch to CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL (MR 3719)
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.

In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase

[ci:skip-build]: Already built successfully in CI
2022-12-18 13:05:10 +01:00
André Apitzsch 9cbee8fda5 bq-piccolo: fix Phosh scaling (MR 3732) 2022-12-18 12:59:41 +01:00
André Apitzsch 4531d7695c bq-piccolo: add FDE support (MR 3732) 2022-12-18 12:59:41 +01:00
André Apitzsch 0dfce721cc bq-piccolo: use msm-firmware-loader (MR 3732) 2022-12-18 12:59:41 +01:00
André Apitzsch dbff2ff79a bq-piccolo: depend on linux-postmarketos-qcom-msm8916 (MR 3732) 2022-12-18 12:59:41 +01:00
BO41 f2bc2753ff huawei-kiwi: use msm-firmware-loader (MR 3736) 2022-12-18 12:54:00 +01:00
BO41 a35a23e11a huawei-kiwi: depend on linux-postmarketos-qcom-msm8916 (MR 3736) 2022-12-18 12:54:00 +01:00
Vincent Knecht 673dae7860 alcatel-idol3: depend on linux-postmarketos-qcom-msm8916 (MR 3738)
Use msm8916 kernel package instead of linux-postmarketos-qcom-msm8939
Also remove rmi_core from deviceinfo_modules_initfs
since it's automatically pulled by rmi_i2c
2022-12-18 12:48:28 +01:00
André Apitzsch 02d45f3a5e main/*: rebuild for Python 3.11 (MR 3745) 2022-12-18 10:26:36 +01:00
Luca Weiss ec0d98e9be community/linux-postmarketos-qcom-sm6350: upgrade to 6.1.0 (MR 3741)
* Enable flash/torch LED (CONFIG_LEDS_QCOM_FLASH)
* Fix USB init when not plugged in during bootloader stage

[ci:skip-build] already built successfully in CI
2022-12-17 01:44:14 -08:00
Oliver Smith 148967f00b temp/megapixels-*: bump pkgrel (MR 3740)
Fix for:
  missing depend(s): so:libtiff.so.5

[ci:skip-build] already built successfully in CI
2022-12-17 01:42:07 -08:00
Clayton Craft 1f2aab3a86 linux-purism-librem5: update to 6.1.0pureos1 (MR 3725)
Most of the config diff is from rebasing the kconfig in pmaports with
mainline + purism changes

[ci:skip-build] already built successfully in CI
2022-12-16 23:37:02 -08:00
Joel Selvaraj 1191682ea6 community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0 (MR 3739)
[ci:skip-build]: already built successfully in CI
2022-12-16 10:59:53 +01:00
Anton Bambura 2f9f93db59 google-peach-pi: drop software rendering configs (MR 3734) 2022-12-15 02:41:48 +02:00
Anton Bambura c92b3e8cf8 google-peach-pit: drop software rendering configs (MR 3734) 2022-12-15 02:41:44 +02:00
Oliver Smith b057815623 temp/megapixels-purism: bump pkgrel (MR 3733)
Fix for:
  missing depend(s): so:libcamera.so.0.0.1

[ci:skip-build]: already built successfully in CI
2022-12-14 21:44:28 +01:00
Oliver Smith 16b24bb86f main/mobile-config-firefox: upgrade to 3.2.0 (MR 3729)
[ci:skip-build]: already built successfully in CI
2022-12-14 21:18:15 +01:00
Mas Ahmad Muhammad bee146fb1f lenovo-a6010: add panel-wingtech-qimei-ili9881 (MR 3574)
Signed-off-by: Mas Ahmad Muhammad (m.charly81@gmail.com)
2022-12-14 17:53:00 +01:00
Mas Ahmad Muhammad 6e867c57ec lenovo-a6000: add panel-wingtech-qimei-ili9881 (MR 3574)
Signed-off-by: Mas Ahmad Muhammad (m.charly81@gmail.com)
2022-12-14 17:53:00 +01:00
Lux Aliaga 7aaee51a3e linux-postmarketos-qcom-sm6125: upgrade to 6.1 (MR 3727)
This is a version bump for the sm6125 mainline kernel fork.

Changes:
* Added UFS nodes to the sm6125 platform
* Enabled UFS nodes for xiaomi-laurel
* Enabled configs required for UFS support (Notoriously
CONFIG_PHY_QCOM_QMP)
* Filled in EXTRAVERSION for kernel fork
* Added SMD RPM regulators for xiaomi-laurel

Signed-off-by: Lux Aliaga <they@mint.lgbt>

[ci:skip-build]: Already built successfully in CI
2022-12-14 17:41:57 +01:00
Lux Aliaga a27a7ce737 device-xiaomi-laurel: add missing deviceinfo parameters (MR 3727)
This commit adds sparse flashing and rootfs sector size to deviceinfo

Signed-off-by: Lux Aliaga <they@mint.lgbt>
2022-12-14 17:41:57 +01:00
Jan Jasper de Kroon b86f80890e device/community/linux-pine64-pinephonepro: upgrade v6.1 (MR 3713)
Fix included in this build:
- Patch which sets GPIO pin for stk3311 as input
- ppp: don't reset 'display state of charge' (dsoc) to 0 on vbat low interrupt

[ci:skip-build]: already built successfully in CI
2022-12-14 10:14:14 +01:00
Anton Bambura 10ff840e85 main/postmarketos-mkinitfs: resize root partition on Chrome OS devices (MR 3726)
[ci:skip-build]: already built successfully in CI
2022-12-14 10:07:39 +01:00
David Wronek d91cf7fdf4 xiaomi-surya: new device (MR 3706)
Add support for the Xiaomi POCO X3 NFC.

[ci:skip-build] already built successfully in CI
2022-12-13 22:14:46 -08:00
David Wronek 00bd9b7525 linux-postmarketos-qcom-sm7150: new aport (MR 3706)
Add an aport for the Qualcomm SM7150 mainline kernel.
2022-12-13 22:14:46 -08:00
Anton Bambura b97f685e4a linux-google-nyan: enable kconfigcheck-community (MR 3708)
[ci:skip-build] already built successfully in CI
2022-12-13 22:09:39 -08:00
Raymond Hackley d4ee51e6fb samsung-a7: depends on linux-postmarketos-qcom-msm8916 (MR 3722)
[ci:skip-build] already built successfully in CI
2022-12-13 21:36:18 -08:00
Jakob Hauser b402c03b1f main/swclock-offset: upgrade to 0.2.2 (MR 3714)
This upgrade has no effect on postmarketOS, as there were only systemd
service files added to the repository. The upgrade is done solely to
keep track with the newest version.

[ci:skip-build] already built successfully in CI
2022-12-13 21:31:17 -08:00
Minecrell 9784f1b83f community/linux-postmarketos-qcom-msm8916: upgrade to 6.1 (MR 3718)
- Update to Linux v6.1
- Initial support for MSM8905/MSM8909 and MSM8939 SoCs
- Various kernel configuration tweaks
  - Disabled support for system suspend since it provides little advantages
    at the moment and keeps causing trouble (device fails to wake up etc).

Device changes:
  - alcatel-idol347
    - Torch/indicator LEDs
  - samsung-a3 and a5
    - Vibrator
  - samsung-cprime and grandmax
    - Touchscreen
  - wingtech-wt865x8 (lenovo-a6000/a6010)
    - qimei-ili9881 panel driver
  - wingtech-wt88047 (xiaomi-wt88047)
    - Flash LED

New devices:
  - alcatel-idol3 (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity)
    - Sound/Modem
    - Battery/Charging
    - Torch/indicator LEDs
  - huawei-kiwi (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer, Magnetometer, Proximity, Hall)
    - Sound
    - Indicator LEDs
  - longcheer-l9100 (bq-piccolo, MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer/Gyroscope/IMU, Magnetometer, Light, Hall)
    - Battery/Charging
    - Flash LED
  - samsung-a7 (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display (with some quirks)
    - Touchscreen, touch keys
    - Sensors (Accelerometer, Magnetometer, Hall)
    - Sound/Modem
    - Battery status
    - NFC
  - nokia-argon/leo/sparkler (MSM8905)
    - eMMC, SD card, USB, Keypad/Buttons, WiFi/BT, Vibrator (argon-only)
    - Display, Brightness control
    - Modem
    - Battery/Charging

[ci:skip-build] already built successfully in CI
2022-12-13 21:21:58 -08:00
M0Rf30 b92f2efff2 linux-samsung-herolte: change src repo and sync config with upstream (MR 3710)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-12-13 09:52:45 +01:00
Mithil Bavishi 32532c7530 linux-postmarketos-omap: upgrade to 6.1 (MR 3716)
Update the omap kernel to stable 6.1 release. This commit also contains a patch that
fixes broken usb, which should only be needed for versions 5.19 to 6.1 as later
releases will have a proper fix merged.

[ci:skip-build]: already built successfully in CI
2022-12-13 09:44:01 +01:00
Jami Kettunen 9e4a82a503 volla-mimameid: add support for close to mainline kernel (MR 3652)
[ci:skip-build] already built successfully in CI
2022-12-12 16:18:13 -08:00
Jami Kettunen a58ac8384e linux-postmarketos-mediatek-mt6768: new aport (6.1_rc5) (MR 3652)
This is an early mainline port for the MediaTek MT6763 Helio P65/G70/G8*
SoCs that boots with all 8 cores online, logs on display (simplefb) or
UART serial console, USB gadget mode facilitating netbooting
postmarketOS while tethered via RNDIS and PMIC enabling functions like
vibrator, power/volume keys.
2022-12-12 16:18:00 -08:00
Anton Bambura b8780e2cb6 linux-postmarketos-mediatek-mt8173: enable kconfigcheck-community (MR 3707)
[ci:skip-build]: already built successfully in CI
2022-12-11 21:00:27 +01:00
Richard Acayan e3ffc66577 google-sargo: add modem support (MR 3695)
The modem needs more firmware. Some firmware is in the modem partition
and needs to be loaded.

[ci:skip-build]: Already built successfully in CI
2022-12-10 23:30:59 +01:00
Richard Acayan 89a7cbc4df device/testing/linux-postmarketos-qcom-sdm670: upgrade to 6.0.11 (MR 3695) 2022-12-10 23:30:54 +01:00
Lux Aliaga d68c6de7a5 device-xiaomi-laurel: modify mantainer name (MR 3699)
Since I'm not going by the "mint" alias anymore, I've decided to fix
that on the APKBUILDs

Signed-off-by: Lux Aliaga <they@mint.lgbt>

[ci:skip-build]: Already built successfully in CI
2022-12-10 23:26:05 +01:00
Lux Aliaga fe3f50084b linux-postmarketos-qcom-sm6125: upgrade to 6.0 (MR 3699)
This is a version bump for the sm6125 mainline kernel fork. It should
also fix a config issue.

Changes:
* Made QUSB2 built-in instead of a module (Fixes USB connectivity
issues)
* Updates to xiaomi-laurel device tree to fit new schema
* Changed maintainer name

Signed-off-by: Lux Aliaga <they@mint.lgbt>
2022-12-10 23:25:59 +01:00
Alistair Francis bb359dfc4f purism-librem5: add alistair23 as co-maintainer (MR 3705)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2022-12-10 11:17:39 -08:00
Clayton Craft 280605a1f9 *-purism-librem5: remove Bhushan as co-maintainer (MR 3705)
He is not actively maintaining this device in pmOS
2022-12-10 11:11:13 -08:00
Alistair Francis d737c7757e device/main/u-boot-librem5: upgrade to 2022.10 (MR 3704)
Update to the latest release from Purism.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2022-12-09 14:55:43 -08:00
Bobby The Builder 61c985a901 pine64-pinephonepro: add --test-quick-suspend-resume to ModemManager (MR 3701)
Prevent losing the Modem after a resume

[ci:skip-build]: already built successfully in CI
2022-12-09 18:35:48 +01:00
Bobby The Builder 575bbc458e pine64-pinephonepro: enhance mic sensitivity (MR 3701) 2022-12-09 18:35:36 +01:00
Joel Selvaraj cba716d2ec community/soc-qcom-sdm845: update alsa ucm conf (MR 3702)
Update ucm conf to latest commit. Fixes headphones volume too high issue.

[ci:skip-build]: already built successfully in CI
2022-12-09 08:17:55 +01:00
Clayton Craft 4c5c74bb8a purism-librem5: use gnss-share with geoclue (MR 3698)
This fixes gnss out of the box on the librem 5, by configuring geoclue
to use gnss-share as a nmea source.

I went this route, of overriding a .service file that invokes geoclue
with a command line option, because forking this .service file is much
nicer than forking geoclue.conf. The conf file will likely change over
time to add new app permissions or whatever, and it's unlikely
(hopefull!) that this .service file will change much upstream...

[ci:skip-build] already built successfully in CI
2022-12-08 22:56:53 -08:00
Jan Jasper de Kroon 1542dbfb9d device/main/linux-postmarketos-allwinner: upgrade to 6.1.0_rc7_git20221205 (MR 3694)
Contains the following fix:
- don't reinitialize bluetooth on Pinephone during resume

[ci:skip-build]: already built successfully in CI
2022-12-07 21:15:33 +01:00
Bobby The Builder c7dc9e5fc3 linux-pine64-pinephonepro: Enable on-boot USB network initialization (MR 3688)
CONFIG_USB_GADGET=y
   CONFIG_USB_DWC3_DUAL_ROLE=y
   CONFIG_USB_XHCI_HCD=y
   CONFIG_USB_XHCI_PLATFORM=y
   CONFIG_USB_DWC2=y
   remove un-necessary activated configs

[ci:skip-build]: already built successfully in CI
2022-12-07 20:54:43 +01:00
Sicelo A. Mhlongo fcc93a83df linux-nokia-n900: upgrade to lts 5.15.81 (MR 3692)
- Upgrade to linux 5.15.81
- Remove SPI driver for accelerometer to stop unnecessary dmesg output

[ci:skip-build]: already built successfully in CI
2022-12-07 09:52:35 +01:00
Raymond Hackley d6cb995b99 main/postmarketos-base: add regulator-haptic udev rules (MR 3691)
Add rules for regulator-haptic, which is used on:
- samsung-e5/e7
- samsung-cprime/gprime
- samsung-j3/j5(x)

Note that regulator-haptic is not supported on some devices yet,
and samsung-e5 is not ported at the moment.

[ci:skip-build]: already built successfully in CI
2022-12-07 09:46:19 +01:00
Jan Jasper de Kroon d8be6416d2 device/community/linux-pine64-pinephonepro: Upgrade to 6.1-rc8 (MR 3685)
- Also enabled LRU_GEN by default like on the PinePhone OG
- Set Ext4 module to built-in as this currently is the main fs used for PPP.
Contains the following patch:
- pinephone pro: finished fix for LCD to make it refresh at precisely 60 Hz

[ci:skip-build]: already built successfully in CI
2022-12-07 09:35:20 +01:00
Oliver Smith fc5d3bdd60 cross/gcc-*: upgrade to 12.2.1_git20220924-r5 2022-12-06 09:05:19 +01:00
Oliver Smith 594304eb29 main/postmarketos-release-upgrade: upgrade to 1.3.0 (MR 3690) 2022-12-05 08:00:07 +01:00
Newbyte ab590f2186 linux-postmarketos-exynos4: reduce boot image size (MR 3656)
Otherwise it doesn't fit the small kernel partition on some exynos4
devices (such as samsung-p4note).

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1785

[ci:skip-build]: Already built successfully in CI
2022-12-04 18:14:55 +01:00
Dzmitry Sankouski fc08a804bc testing/u-boot-starqltechn: update u-boot version and new patches (MR 3679)
Add new patches:
- enable serial console
- save relocation address to find KASLR
- buttons as keyboard input driver to navigate bootmenu
- bootmenu loop entry selection
2022-12-03 12:10:27 +01:00
Jan Jasper de Kroon 7c7c18e40f device/main/linux-postmarketos-allwinner: Enabe LRU_GEN by default (MR 3686)
MGLRU seeks to address Linux's poor page reclamation behavior with this new high performance LRU implementation to over-commit memory.
MGLRU has shown to be beneficial in a variety of benchmarks especially on memory constrained systems.

Some benchmarks:
- https://www.phoronix.com/news/Linux-MGLRU-v9-Promising
- https://www.phoronix.com/news/MGLRU-Reaches-mm-stable

[ci:skip-build]: Already built successfully in CI
2022-12-03 12:06:44 +01:00
Luca Weiss 6981fb47b6 community/firmware-fairphone-fp4: move from testing (MR 3687)
I missed moving this package when moving the device package to
community.

[ci:skip-vercheck]
2022-12-03 11:56:45 +01:00
M0Rf30 aa9127f92c linux-postmarketos-qcom-sdm660: upgrade to 6.0.10 (MR 3668)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-12-02 08:57:36 +01:00
M0Rf30 eb2dd0b952 xiaomi-tulip: new device (Xiaomi Redmi Note 6 Pro) (MR 3668)
Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
2022-12-02 08:57:27 +01:00
Mithil Bavishi b7fd6c90b0 linux-postmarketos-omap: update config (MR 3653)
[ci:skip-build]: already built successfully in CI
2022-12-02 08:50:52 +01:00
Mithil Bavishi 91035012b1 device: New device samsung-espresso10 2022-12-02 08:50:48 +01:00
Mithil Bavishi c45c27008c device-samsung-espresso3g: Rename to espresso7 2022-12-02 08:50:47 +01:00
Mithil Bavishi 85f9a49ad6 samsung-espresso10: move downstream pieces to unmaintained 2022-12-02 08:50:43 +01:00
Henrik Grimler a0678836a1 linux-postmarketos-exynos5: use exynos5-mainline repo to get src (MR 3675)
Patches are merged in that repo, so we then no longer have to keep
them in the pmaports repo.

[ci:skip-build]: already built successfully in CI
2022-12-02 08:42:01 +01:00
Anton Bambura a85c880974 linux-postmarketos-exynos5: add kconfigcheck-community (MR 3675) 2022-12-02 08:41:48 +01:00
Clayton Craft 4f712b5771 linux-purism-librem5: upgrade to 6.0.8 (MR 3684)
[ci:skip-build]: already built successfully in CI
2022-12-02 07:27:12 +01:00
Clayton Craft 584337aa82 purism-librem5: upgrade to latest ucm, fix udev rule installation (MR 3684)
Apparently upstream names udev rules with the .udev extension... which
doesn't work with udev (I guess debian has a helper for installing rules
and it renames them?). This adds the expected ".rules" extension to them
so that udev actually uses them.

This update also includes improved ucm config from Purism.

"Lockdown suppport" is also added here, which allows toggling off all of
the hks on the L5 to disable all radios, etc without breaking some
sensors. For more info, see 65ec7038 in librem5-base.
2022-12-01 16:46:14 -08:00
Oliver Smith 5e7faf1a09 device/main/u-boot-librem5: fix build on gcc 12 (MR 3683)
Disable Werror and add -no-warn-rwx-segment to LDFLAGS of
arm-trusted-firmware to make it build with gcc 12, smilar to:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/769f9666b663ba06dca63ddbff6eb1af458355f3

Related: https://builds.sr.ht/~postmarketos/job/894728#task-pmbootstrap_build-422

[ci:skip-build] already built successfully in CI
2022-12-01 09:27:52 -08:00
Clayton Craft 2ccd927e23 purism-librem5: change default device tree (MR 3614)
Based on some new (to me...) info from Purism's Sebastian K, there are
apparently Evergreen devices that return different values for board rev,
so we shouldn't assume only r4 are Evergreen, and default to the r2 DT.

But many earlier devices (Birch, Chestnut, Dogwood) may or may not have
the board rev set either. Who knows! Defaulting to the Evergreen DT on
these devices is bad too, but there weren't many of those shipped (I
guess?), at least not compared to the number of Evergreens that aren't
properly identifiable in u-boot... so this using this DT by default is
the best of the two bad options we have.

This comment thread has more info:
https://gitlab.com/postmarketOS/pmaports/-/issues/1643#note_1147248594

fixes #1643

[ci:skip-build] already built successfully in CI
2022-12-01 09:24:13 -08:00
Jacopo Mondi 9db5f1d9f6 device/pine64-pinephonepro: Build DW9714 lens module (MR 3677)
Add the CONFIG_DW9714 symbol to the PinephonePro defconfig.

The PinephonePro rear camera module uses the DW9714 VCM to drive the
lens, and a driver is required to successfully complete the media
graph probe sequence.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
2022-12-01 12:19:52 +00:00
choc 2b7036dd54 testing/samsung-goyavewifi: new device (MR 3377)
xorg, ssh, touchscreen, battery works
[ci:skip-build]: already built successfully in CI
2022-12-01 09:50:53 +01:00
Jan Jasper de Kroon ccc870dcf9 device/main/linux-postmarketos-allwinner: Upgrade to 6.1-rc7 (MR 3678)
Kernel source updated to 6.1-rc7
Ext2 and Ext3 modules in aarch64 config disabled because Ext4 is backwards compatible.
2 fixes for PinePhone included in this source:
pinephone: fix power key behavior during suspend (avoid stuck key during resume)
pinephone keyboard: wait for 100ms after enabling power supply and before probing.

[ci:skip-build]: already built successfully in CI
2022-12-01 09:02:47 +01:00
Oliver Smith 3802b2cd40 temp/arm-trusted-firmware: fix build on gcc 12 (MR 3681)
Apply the same fix as in Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/769f9666b663ba06dca63ddbff6eb1af458355f3

[ci:skip-build]: already built successfully in CI
2022-11-30 09:54:28 +01:00
Anton Bambura 9d98a872ed CODOWNERS: Add @Grimler for exynos5 kernel and tablets (MR 3680) 2022-11-29 21:25:14 +02:00
Newbyte 89ef6fcef8 main/crust: fix build with GCC 12 (MR 3676)
Patch picked from https://github.com/crust-firmware/crust/pull/209

[ci:skip-build]: Already built successfully in CI
2022-11-28 23:59:34 +01:00
Luca Weiss ff09c35b63 testing/linux-postmarketos-qcom-msm8974: enable kconfigcheck-community (MR 3657)
Also disable some unused CONFIG_ARCH_MSM* options.

[ci:skip-build]: Already built successfully in CI
2022-11-28 10:23:28 +01:00
Joel Selvaraj eab0457e00 CI: shellcheck: include call_audio_idle_suspend_workaround script (MR 3639)
[ci:skip-build]: already built successfully in CI
2022-11-28 09:07:52 +01:00
Joel Selvaraj ba6c4be060 community/device-oneplus-fajita: add q6voiced conf as it can make calls now (MR 3639)
Related dts and alsa ucm confs are merged in our tree.
2022-11-28 09:07:33 +01:00
Joel Selvaraj 156d093bc5 community/device-oneplus-enchilada: update q6voiced conf to match kernel (MR 3639) 2022-11-28 09:07:33 +01:00
Joel Selvaraj e95d28a6e7 community/soc-qcom-sdm845: update ucm confs and add call audio idle suspend workaround (MR 3639)
In SDM845, the q6voice kernel driver connects modem and audio backends.
Callaudiod seems to switch to correct audio device and prepares it, however, the audio
device get's closed since no one from the userspace is actively listening to it.
This cuts the audio in call. As a workaround, I have added to script to disable the
suspend-on-idle pulseaudio module during calls, so the audio devices don't close automatically.
2022-11-28 09:07:33 +01:00
Alexander Martinz 8e5d58b8ad community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0_rc4 (MR 3639)
Includes the following changes:
- rebase onto rc4
- squash a few changes which were marked to get squashed/fixups
- dropped "wcd934x: use .prepare and .shutdown instead of .trigger"
- OP6 audio device tree changes
- revert of a DSI DCS commit[1], which caused havoc in unprepare
  hooks of panel drivers

[1] - https://lore.kernel.org/linux-arm-msm/1892d0af-8aa4-dc03-887a-e44bb623b836@linaro.org/

Change-Id: I4790a278c0d35618ca824a036982769e66767ffd
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-28 09:07:28 +01:00
Niko a58776b2a5 main/postmarketos-ui-gnome-mobile: update to newest development commits
[ci:skip-build]: already built successfully in CI
2022-11-28 08:57:23 +01:00
Oliver Smith a135553ee7 channels.cfg: add initial v22.12 branch 2022-11-28 08:25:48 +01:00
Oliver Smith 50f178a8fd temp/mutter-mobile: fix dep mutter-mobile-schemas (MR 3672)
It should have depended on mutter-mobile-schemas instead of
mutter-mobile. Looks like mutter-mobile-schemas was getting installed
instead of mutter-mobile for it only by chance until now.

[ci:skip-build]: already built successfully in CI
2022-11-27 19:00:26 +01:00
Dylan Van Assche 1cbc021701 unmaintained/shift-axolotl-downstream: new device (MR 3637)
Downstream for kernel development, not for actual use.

Kernel defconfig taken from stock with:
- CONFIG_ANDROID_PARANOID_NETWORK unset
- CONFIG_DEVTMPFS set
- CONFIG_EXT4_FS_POSIX_ACL set
- CONFIG_LOCALVERSION set to "-downstream"
- CONFIG_SYSVIPC set
- CONFIG_USB_CONFIGFS_RNDIS set
- CONFIG_USER_NS set

Change-Id: I22bfd30dfc664dfaa2123c856b3662ddb37e760f
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
[ci:skip-build]: already built successfully in CI
2022-11-27 18:56:37 +01:00
Anton Bambura de609bf946 CODEOWNERS: update owners of Tegra-related packages (MR 3671) 2022-11-27 18:41:19 +01:00
Oliver Smith c1b08d8c60 u-boot-pinephone: disable automatic upgrade (MR 3664)
Don't upgrade u-boot automatically anymore as it doesn't work reliably
and isn't necessary anymore. See the wiki article for details.

Related: https://wiki.postmarketos.org/wiki/PinePhone_U-Boot_Upgrade
2022-11-27 17:52:30 +01:00
Oliver Smith 1af1eafd23 CI: mark deviceinfo_usb_rndis_function as obsolete (MR 3669)
[ci:skip-build]: already built successfully in CI
2022-11-27 17:30:03 +01:00
Luca Weiss 9271ab80b6 device/*: rename deviceinfo_usb_rndis_function (MR 3669)
Use the new variable name as used in initfs
2022-11-27 17:29:55 +01:00
Luca Weiss f60539ea18 main/postmarketos-mkinitfs: rename usb_rndis_function variable (MR 3669)
The variable describes the configfs function name to use, no matter if
it's rndis, ncm, ecm or any other function. So change the name of the
variable, the string we write to the configuration file and some
comments.
2022-11-27 17:29:37 +01:00
Jan Jasper de Kroon a3ae92f0ff device/main/linux-postmarketos-allwinner: upgrade to 6.1-rc6 (MR 3666)
[ci:skip-build]: already built successfully in CI
2022-11-27 17:13:01 +01:00
Alexander Martinz 2f6a7c9f77 testing/tablet-x64uefi: reformat depends and bump pkgrel (MR 3663)
Change-Id: I015f35f3e1b7563e341183cc08afb924aa2ed80b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:52 +01:00
Alexander Martinz 21facd5cd5 testing/tablet-x64uefi: add libva subpackage (MR 3663)
Change-Id: I302321b7908ab7af989ca1e93f88eb575bbf2048
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:52 +01:00
Alexander Martinz f8285416e1 testing/tablet-x64uefi: add vulkan subpackage (MR 3663)
Enable vulkan on supported hardware configurations
out of the box.

Change-Id: I6c8e1713e7c834aae3a162b8a681f5abde02ed5e
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:51 +01:00
Anton Bambura 2163de2a5f linux-postmarketos-mediatek-mt8183: add kconfigcheck-community (MR 3667)
[ci:skip-build]: Already built successfully in CI
2022-11-26 14:22:03 +01:00
Anton Bambura 0109016e86 CODEOWNERS: update mt8183 packages owners (MR 3667) 2022-11-26 14:21:50 +01:00
Anton Bambura af5183e062 linux-postmarketos-mediatek-mt8183: add myself as a co-maintainer (MR 3667) 2022-11-26 14:21:49 +01:00
Sicelo A. Mhlongo e3154dd055 nokia-n900: use updated serial console name (MR 3662)
Since 00648d0282dcca1da453c0b20d27e24bf901a854, the correct serial console name
is ttySx instead of the older ttyOx. Reflect this in cmdline passed to kernel
via u-boot

[ci:skip-build]: already built successfully in CI
2022-11-23 09:07:39 +01:00
Alexander Martinz 5ce0b6ae4d main/postmarketos-ui-plasma-desktop: add various recommended packages (MR 3659)
Recommend installing:
  - fwupd
    - Receive firmware updates for supported hardware

The following packages are required to show device information at:
  - Settings -> About this System -> Show More Information

Devices
  - Firmware Security
    - aha
    - fwupd
  - PCI
    - pciutils

Graphics
  - OpenGL
    - mesa-demos
  - Vulkan
    - vulkan-tools
  - Wayland
    - wayland-utils
  - X-Server
    - xdpyinfo

Change-Id: I8a1eb484720f717f0504418f7c5c6af505b081b6
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-23 09:04:19 +01:00
Luca Weiss c960b3d941 raspberry-pi4: remove conflicting brcmfmac firmware link (MR 3636)
The file brcmfmac43455-sdio.raspberrypi,4-model-b.bin is now provided by
linux-firmware-brcm package in Alpine. Remove to symlink to stop the
file conflict.
2022-11-22 16:32:08 +01:00
Mithil Bavishi 9147bbd9bc linux-postmarketos-omap: update config (MR 3653) 2022-11-22 10:29:33 +01:00
uclydde ecb08a4388 motorola-ali: use mainline kernel and add firmware (MR 3569)
[ci:skip-build]: already built successfully in CI
2022-11-21 09:08:46 +01:00
Oliver Smith 245d41d7c5 CI scripts: fix typo in URL (MR 3655)
Note that the URLs in these scripts are not only for information, but
they are also used as marker by pmbootstrap so it knows these are
compatible with 'pmbootstrap ci'. I just fixed the typo in the
pmbootstrap code as well and made a new release, use pmbootstrap 1.50.0
or above to have it recognize these scripts with 'pmbootstrap ci' again.
2022-11-20 16:50:42 +01:00
Raymond Hackley e9e3295925 main/postmarketos-ui-kodi: Add armv7 (MR 3647)
flatbuffers should have been available on armv7,
since aports 0f3295fb0660f5caf59b8b2385f7c9305f1d57f0

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-11-20 16:22:44 +01:00
Minecrell 63373d18a5 unmaintained/linux-{alcatel,samsung-a5}*: fix checksums (MR 3654)
I renamed the repository so GitHub changed all the checksums. :(

[ci:skip-vercheck]: the source files are still exactly the same
[ci:skip-build]: Already built successfully in CI
2022-11-20 16:13:28 +01:00
Oliver Smith 03ee2e9bba cross/busybox-static-*: upgrade to 1.35.0-r29 2022-11-20 16:01:34 +01:00
Newbyte aacc9f48dd temp/mutter-mobile: remove zenity dependency (MR 3648)
mutter no longer depends on zenity as of version 43.alpha.

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2370
And https://gitlab.gnome.org/GNOME/mutter/-/blob/e331e38a191a36faaa5bb049157ab77f94fd7654/NEWS#L137

Alpine commit: https://gitlab.alpinelinux.org/alpine/aports/-/commit/80c64759d16d1161ba706f83fca4d7518ebc3302

[ci:skip-build]: already built successfully in CI
2022-11-20 15:54:57 +01:00
Luca Weiss 7553dc4011 qemu-riscv64: new device (MR 3571)
Support launching postmarketOS in QEMU on riscv64 architecture. It is
mostly copied from device-qemu-aarch64 with some riscv64-specific
modifications.

Currently UIs using Xorg like Mate, XFCE4 and LXQT work fine, Wayland
UIs like weston, plasma-mobile etc didn't work in my testing.

Also using "pmbootstrap qemu --tablet" is needed to make mouse input
work, the defaults don't seem to work at the moment.

[ci:skip-build]: already built successfully in CI
2022-11-20 15:22:22 +01:00
Svyatoslav Ryhel 3301dc90d8 device-lg-p895: add support for LG Optimus Vu (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-11-20 15:19:06 +01:00
Svyatoslav Ryhel a7467afe2f firmware-lg-x3: add LG Optimus 4X HD and Vu firmwares (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2022-11-20 15:18:56 +01:00
Svyatoslav Ryhel 4f72f9b96c linux-postmarketos-grate: upgrade to 6.0.6 stable (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2022-11-20 15:18:47 +01:00
Luca Weiss e03c6469a7 fairphone-fp3: include touchscreen driver in initfs (MR 3651)
Now that touchscreen driver is supported in kernel, include the module
in initfs so it's available there.

[ci:skip-build]: Already built successfully in CI
2022-11-19 11:44:39 +01:00
Luca Weiss 96179b88df testing/linux-postmarketos-qcom-msm8953: support Moto G6 & FP3 touchscreen (MR 3651)
Upgrade to a newer 5.18.3 commit that adds this support, and enable the
relevant kconfig options.
2022-11-19 00:21:14 +01:00
Luca Weiss 502474cc3a main/*: rebuild against Python 3.10 (MR 3650) 2022-11-18 18:35:26 +01:00
Oliver Smith bbead6a9c6 main/postmarketos-android-recovery-installer: upgrade to 1.0.7 (MR 3646)
[ci:skip-build]: already built successfully in CI
2022-11-18 08:03:08 +01:00
Johannes Marbach b13fe4ece0 main/unl0kr: upgrade to 0.3.0 (MR 3641)
[ci:skip-build]: already built successfully in CI
2022-11-17 21:23:07 +01:00
Oliver Smith a1242ed35e CI: implement distfile-check as python test (MR 3608)
Reimplement the distfile-check as python test inside this git
repository, so we don't need to download a tarball of ci-common.git to
run it. This would not have been nice for running the test with
'pmbootstrap ci', as we don't want it to get downloaded every time the
test runs.

This new implementation is done in less than 40 lines of code, very fast
and doesn't need to create a lot of files in /tmp to build a
"distfiletree".
2022-11-17 19:10:56 +01:00
Oliver Smith 3c4080e8f5 CI: make test_unreferenced_files more generic (MR 3608)
Prepare to add a new test making use of the
parse_source_from_checksums() function in test_unreferenced_files.py by
extending the function to not only return the checksum file names, but
also the checksums. Also rename the file from test_unreferenced_files.py
to test_source.py.
2022-11-17 19:10:56 +01:00
Oliver Smith 6dbe4fdc31 CI: move_logs.sh: put in .ci/lib (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith 196abb1575 CI: kconfig adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith da52dace85 CI: adjust .ci/common.py users to pmbootstrap ci (MR 3608)
Adjust all CI scripts that make use of .ci/common.py to
'pmbootstrap ci'. Move all scripts that are not direct entry points to
running CI scripts to .ci/lib.

Comment out the dtb check, as it is failing. Apparently it didn't run
properly before. Let's fix this after this CI change is done.
2022-11-17 19:10:56 +01:00
Oliver Smith 8f78988b33 CI: editor-config: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith c88cfa516f CI: shellcheck: adjust for 'pmbootstrap ci' (MR 3608)
Split out the grep for CHANGEME into a separate .ci/grep.sh script, as
it's not related to shellcheck and also there's another grep check that
I'll move there in a follow-up patch.
2022-11-17 19:10:56 +01:00
Oliver Smith 613aa1c68a CI: flake8: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith a2f75963bf CI: wiki: adjust for 'pmbootstrap ci' (MR 3608)
Add a wrapper .ci/wiki.sh, that pmbootstrap ci can run and use it in
gitlab-ci.yml. Add a .ci/lib/gitlab_prepare_ci.sh script that makes a
user available with sudo, as expected by the pmbootstrap ci compatible
scripts. Set up binfmt_misc too while at it, it will be needed for
running pmbootstrap.

The next patches will adjust the rest of the CI scripts and move the old
scripts in the .ci/lib dir, so only the scripts that should be called
directly are in the .ci dir.

Related: https://postmarketos.org/pmb-ci
2022-11-17 19:10:56 +01:00
Oliver Smith 23790a3577 .ci/check_devices_in_wiki: remove <> around url (MR 3608)
I added this around all urls in the beginning of postmarketOS, but now I
think it makes it less readable and doesn't have a benefit.
2022-11-17 19:09:57 +01:00
Oliver Smith cb79ff57d3 cross/busybox-static-*: upgrade to 1.35.0-r28 2022-11-17 08:35:52 +01:00
Oliver Smith dadfca1fb8 pmaports.cfg: add supported_heimdall_depends
Add the new variable, similar to supported_fastboot_depends.

Related: https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/36815
Related: https://wiki.postmarketos.org/wiki/Pmaports.cfg_reference
2022-11-16 08:45:07 +01:00
Dzmitry Sankouski c18d2da154 xiaomi-sagit: fix initramfs module list and blacklist ipa module (MR 3644)
Remove mainline postfix in initramfs module list,
because sagit has only 1 kernel for now.
Blacklisting ipa module fixes poweroff.
See 68cdc1ea2b commit for more info.

[ci:skip-build]: already built successfully in CI
2022-11-16 08:22:47 +01:00
Jakob Hauser 67b5dd49dd main/swclock-offset: move to its own repository (MR 3642)
To make "swclock-offset" available to other projects as well, it was
moved to its own repository.
2022-11-15 10:32:29 +01:00
Jami Kettunen fa69d91465 volla-yggdrasil: new device (Volla Phone) (MR 3319) 2022-11-14 19:44:54 +02:00
Jami Kettunen cf6b0ff530 linux-postmarketos-mediatek-mt6763: new aport (6.1_rc5) (MR 3319)
This is an early mainline port for the MediaTek MT6763 Helio P23 SoC
that just about boots in about 3 minutes with one core online, logs on
display (simplefb) or UART serial console and USB gadget mode
facilitating netbooting postmarketOS while tethered via RNDIS.
2022-11-14 19:44:54 +02:00
medsouz 59c3894c44 device/pine64-pinephonepro: Load Pinephone Pro devicetree with Grub (MR 3628)
Restores Pinephone Keyboard functionality
2022-11-14 09:38:27 -05:00
Newbyte 5230a69c3a temp/megapixels-purism: update url to point to millipixels repo (MR 3640)
Repository was moved.
2022-11-14 08:48:12 +01:00
Newbyte 4ee3b769fb main/postmarketos-ui-phosh: rename kgx to gnome-console (MR 3638)
kgx was renamed to gnome-console with the release of version 42.beta, so
let's reflect that in our Phosh UI package.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
2022-11-14 08:41:45 +01:00
Asutosh Variar 7f12e90c18 apple-iphone6: new device (MR 3629)
[ci:skip-build]: already built successfully in CI
2022-11-14 08:03:23 +01:00
Mithil Bavishi 432c4991fd linux-postmarketos-omap: Add charger (SMB347) support for espresso10 (MR 3626)
[ci:skip-build]: already built successfully in CI
2022-11-13 20:16:20 +01:00
Jan Jasper de Kroon c7c7fbce18 pine64-pinephonepro: Clean up double handled modem udev-rules (MR 3635)
Same as with PinePhone, remove some udev rules already handled by eg25-manager udev.

[ci:skip-build]: already built successfully in CI
2022-11-12 13:05:38 +01:00
Jan Jasper de Kroon 955ac29f0d device/community/linux-pine64-pinephonepro: upgrade to 6.0.8 (MR 3599)
Upgrade PinePhone Pro kernel to rebased 6.0.8
Including 11 PinePhone Keyboard patches.

[ci:skip-build]: already built successfully in CI
2022-11-11 08:21:36 +01:00
Devin Lin 1c42df3769 main/postmarketos-ui-plasma-mobile: Sync configuration with upstream (MR 3634)
[ci:skip-build]: already built successfully in CI
2022-11-11 08:16:18 +01:00
alikates e38db6e4de main/postmarketos-mkinitfs: don't use uevent helper (MR 3351)
Instead of using the uevent helper binary, mdev daemon listens for kernel
events using the netlink interface. Then the requirement of enabling
UEVENT_HELPER for pmOS kernels can be dropped, as it's use is discouraged.

From CONFIG_UEVENT_HELPER kernel config help:

> This should not be used today, because usual systems create many events
> at bootup or device discovery in a very short time frame. One forked
> process per event can create so many processes that it creates a high
> system load, or on smaller systems it is known to create out-of-memory
> situations during bootup.

Support for running mdev as a daemon was added in 2019 with commit [1].

From that same commit:

> Adds the -d option to run mdev in daemon mode handling hotplug events
> from the kernel like udev. If the system generates many hotplug events
> this mode of operation will consume less resources than registering
> mdev as hotplug helper or using the uevent applet.

[1] https://git.busybox.net/busybox/commit/?id=498cec202adbf69a7a72af5e204260682d614183
[ci:skip-build]: already built successfully in CI
2022-11-11 08:11:19 +01:00
Johannes Marbach 0b523f354b main/unl0kr: upgrade to 0.2.0_git20221110 (MR 3633)
[ci:skip-build]: already built successfully in CI
2022-11-11 07:52:20 +01:00
Gareth Peoples c906b166b2 samsung-heatqlte: new device (Samsung Galaxy Ace 4) (MR 3620)
[ci:skip-build]: already built successfully in CI
2022-11-10 21:50:10 +01:00
Alexey Minnekhanov ad249d3b87 linux-postmarketos-qcom-msm8974: upgrade to 5.19.17 (MR 3625)
This contains a fix for second panel variant for samsung-hlte.

No more manual changes, .config was regenerated using kconfig migrate.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:41:20 +01:00
exkc 4a43f241ee linux-postmarketos-allwinner: enable compiling sunxi-cir (MR 3609)
This gets IR RX working on Allwinner-based devices that have IR.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:32:49 +01:00
Oliver Smith 1009f265d1 cross/musl-*: upgrade to 1.2.3-r4 2022-11-10 21:20:18 +01:00
Jan Jasper de Kroon 64e671aea3 Revert "device/pine64-pinephone: add recommended modem udev rules (MR 3235)" (MR 3632)
This reverts commit b62d7f6e7c.
These are already handled by 80-modem-eg25.rules in eg25-manager.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:14:07 +01:00
Jan Jasper de Kroon d4e96df17d Revert "device/pine64-pinephone: add additional modem udev rule for new community firmware serial (MR 3240)" (MR 3632)
This reverts commit f8df093985.
These are already handled by 80-modem-eg25.rules in eg25-manager.
2022-11-10 21:13:55 +01:00
Pablo Correa Gómez df76034e32 main/avbtool: remove (MR 3630)
avbtool is now included in android-tools upstream

Relates #1779
2022-11-09 17:52:50 +01:00
Oliver Smith 8c77e7e42f pmaports.cfg: add supported_fastboot_depends
Add this new variable so pmbootstrap can use it to determine which
depends need to be installed for the fastboot flashing method. It used
to be android-tools,avbtool but now it's only android-tools as avbtool
became part of android-tools.

Related: issue 1779
Related: https://postmarketos.org/pmaports.cfg
2022-11-09 09:00:51 +01:00
iAboothahir 3bf4fe443f firmware-asus-x00td: add missing mba.mbn firmware (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>

[ci:skip-build]: Already built successfully in CI
2022-11-08 08:46:27 +01:00
iAboothahir 7f6b7fb2d0 device-asus-x00td: add qcom_fg ,qcom_pmi8998_charger module to initfs (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-11-08 08:46:23 +01:00
iAboothahir f7cf971e40 linux-postmarketos-qcom-sdm660: upgrade to 6.0.5 (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-11-08 08:46:13 +01:00
Jan Jasper de Kroon 62f19c3e03 device/main/linux-postmarketos-allwinner: upgrade to 6.0.7 (MR 3624)
[ci:skip-build]: Already built successfully in CI
2022-11-08 08:39:44 +01:00
Barnabás Czémán 68c728e63c testing/xiaomi-riva: Fix fb.modes (MR 3616)
Fixes fb.modes values.
2022-11-07 21:44:09 +01:00
Segfault a2365ffc57 device/testing: update htc-flounder to use mainline kernel (MR 3623)
This is an incomplete port but it has greater functionality than the existing downstream based one, which has been moved to unmaintained.

[ci:skip-build]: Already built successfully in CI
2022-11-07 21:29:24 +01:00
Segfault d4eed06542 htc-flounder: move downstream pieces to unmaintained (MR 3623)
It can still be chosen as 'htc-flounder-downstream' in
pmbootstrap init.
2022-11-07 21:29:11 +01:00
Dylan Van Assche 64dc758fed community/soc-qcom-sdm845: fix earpiece SHIFT6mq (MR 3618)
Update to latest ALSA UCM configs to fix earpiece on SHIFT6mq

[ci:skip-build] already built successfully in CI
2022-11-06 21:40:54 -08:00
Raymond Hackley 27e98026e4 samsung-{gprimelte{can,xx},fortuna3g}: add both available panel variants (MR 3604)
There are 2 panel variants supported:
- panel-samsung-hx8389c-gh9607501a
- panel-samsung-s6d78a0-gh9607501a

Add both of them to enable panel display during splash and FDE.
Note that fortunaltezt has only one panel variant so it's not included.

[ci:skip-build] already built successfully in CI
2022-11-06 21:38:51 -08:00
Clayton Craft 6ec2ba3c03 postmarketos-android-recovery-installer: upgrade to 1.0.6 (MR 3619)
Fixes:
- Fix installation with FDE
- Use new path to kpartx (MR 16)

Other:
- pmos_install: Increase boot partition size to 256MB (MR 14)
- pmos_install_functions: make shellcheck happy
- update-binary: make shellcheck happy

[ci:skip-build] already built successfully in CI
2022-11-06 21:36:40 -08:00
Newbyte 63b661faa4 cross/musl-riscv64: upgrade to 1.2.3-r2 2022-11-06 15:11:25 +01:00
Newbyte cbb3d09687 cross/musl-armv7: upgrade to 1.2.3-r2 2022-11-06 15:11:13 +01:00
Newbyte fe0c0492a1 cross/musl-armhf: upgrade to 1.2.3-r2 2022-11-06 15:11:06 +01:00
Newbyte 8611e23f3c cross/musl-aarch64: upgrade to 1.2.3-r2 2022-11-06 15:10:52 +01:00
Martijn Braam 4c3be3aa14 main/postmarketos-tweaks: upgrade to 0.13.0 (MR 3613)
[ci:skip-build] already built successfully in CI
2022-11-03 23:27:05 -07:00
Clayton Craft 02198dccdd postmarketos-mkinitfs: upgrade to 1.5.1
Fixes a crash due to the path for kpartx changing in a multipath update
in Alpine Edge.
2022-11-03 12:05:23 -07:00
Dzmitry Sankouski 341e959e45 xiaomi-sagit: new device (Xiaomi Mi6) (MR 3134)
Device uses mainline kernel. What works:
- boots
- display
- touchscreen
- wifi

Also add firmware package

[ci:skip-build]: already built successfully in CI
2022-11-03 07:58:19 +01:00
Raymond Hackley db00e85baf main/postmarketos-config-nftables: 50_*.nft: drop unused wwan rules (MR 3594)
There is "iifname "wwan*" drop" defined in 01_wwan.nft, which drops
any not "established, related" incoming packet from WWAN.

[ci:skip-build]: already built successfully in CI
2022-11-03 07:48:33 +01:00
Richard Acayan 259e8cc44f google-sargo: add nonfree firmware (MR 3590)
Non-free firmware is required for:
 - 3D acceleration
 - Video acceleration
 - Bluetooth

[ci:skip-build]: already built successfully in CI
2022-11-03 07:37:46 +01:00
Richard Acayan f2b1d7e206 device/testing/linux-postmarketos-qcom-sdm670: upgrade to 6.0.6 (MR 3590)
New features for google-sargo:
 - GPU acceleration
 - Bluetooth
 - Haptics (currently only rumble effect)
 - Video acceleration (still untested)
 - NFC (only detection was tested)
2022-11-03 07:37:35 +01:00
Alexander Martinz 0307dc695e tablet-x64uefi: add kernel-edge as additional option (MR 3610)
Certain newer hardware may require a newer kernel than the current
lts in order to work.

Change-Id: Iae0d91f8bf8d1b8516698841895f942e527b0813
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-03 07:33:56 +01:00
Anton Bambura fac4d7e178 temp/alsa-ucm-conf-google-kukui: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura 12d2830ba7 testing/firmware-google-veyron-brcm: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura a98c9ab918 testing/device-microsoft-surface-rt: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura be2368a676 testing/device-lg-judyp: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura 99d21ecfef community/firmware-lenovo-a6010: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura c1a125b56f community/firmware-lenovo-a6000: add myself as maintainer (MR 3611) 2022-11-02 19:07:30 +01:00
Anton Bambura bdec0258b6 CODEOWNERS: add myself for packages that I maintain (MR 3611) 2022-11-02 19:07:30 +01:00
Bart Ribbers 97b18eafb2 community/postmarketos-ui-plasma-desktop: add bluetooth service to default runlevel (MR 3592) 2022-11-02 18:46:07 +01:00
Barnabás Czémán 7ff30616ef xiaomi-riva: Add initial support for Redmi 5A (MR 3595)
[ci:skip-build]: already built successfully in CI
2022-11-02 18:41:19 +01:00
Oliver Smith 1fcbdb1819 pmaports.cfg: set pmbootstrap_min_version=1.47.0
With recent cross/gcc-* upgrades, we actually require pmbootstrap
1.47.0 to avoid the following error:
  ERROR: Invalid pkgver '${_pkgbase}_git${_pkgsnap}' in APKBUILD: /home/user/.local/var/pmbootstrap/cache_git/pmaports/cross/gcc-aarch64/APKBUILD
2022-11-02 15:37:03 +01:00
Oliver Smith d86cd0c188 cross/gcc-*: upgrade to 12.2.1_git20220924-r4 2022-11-02 15:29:48 +01:00
Oliver Smith 5e2730d2db CI: add new test for correct usage of provides (MR 3597)
[ci:ignore-count]
[ci:skip-build]: does not finish for aarch64, I'll verify that it builds
for aarch64 before merging.
2022-11-02 15:02:56 +01:00
Oliver Smith 73376dee97 temp/megapixels-purism: fix provides (MR 3597)
The pkgver is significantly lower (0.19) than the one of megapixels
(1.5.2 as of writing), so we can use the versioned provides here. If it
was closer so megapixels-purism's pkgver could become higher than
megapixels in the future, then we should use unversioned provides with
provider priorities instead.
2022-11-02 15:02:55 +01:00
Oliver Smith 5e73fe103a main/mobile-config-firefox: upgrade to 3.1.0 (MR 3597)
Drop replaces, provides for postmarketos-config-firefox. This was the
name of the package until August of 2020, not relevant anymore. Also
the provides didn't have pkgrel and therefore was wrong.
2022-11-02 15:02:55 +01:00
Oliver Smith f8d12ed781 main/msm-firmware-loader: fix provides (MR 3597) 2022-11-02 15:02:55 +01:00
Oliver Smith f01b561b97 device/community/soc-*-ucm: set provider_priority (MR 3597)
Setting unversioned provides= without provider_priority is not valid.
Set provider_priority=1, the related aports MR will set it to 10 in
alsa-ucm-conf.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/40814
2022-11-02 15:02:55 +01:00
Oliver Smith a258f27d03 device/community/firmware-bq-picmt: fix provides (MR 3597) 2022-11-02 15:02:54 +01:00
Oliver Smith f288cdaa77 treewide: remove linux-headers replacements (MR 3597)
Remove the -dev subpackages of kernels that replace the linux-headers
package. As I understand, the only case where this would make sense is
if you wanted to build a kernel module against headers that need to be
newer than the headers in Alpine's linux-headers package (currently
5.19.5).

While this might have been historically relevant when wireguard wasn't
in the kernel and you might have needed newer linux-headers to build
the module, it seems irrelevant today. If somebody should need this in
the future, then bring it back properly / consider getting the
linux-headers package in Alpine upgraded. Right now the -dev packages
are broken in several ways:

* Use of unversioned provides= (pma#1766)
* Don't contain binaries needed to build binary packages (pma#462).
  This was worked around in 6aba5f ("Package kernel-scripts
  separately"), but later this didn't build anymore and we removed it.

So in short: broken and unused, drop them.
2022-11-02 15:02:54 +01:00
Oliver Smith 96f8084bcd main/postmarketos-ui-sxmo-de-dwm: set provider_priority=5 (MR 3597)
apk treats provider_priority=0 as if it is not there, not as lowest
value. The previous patch set it to =10 for …-sxmo-de-sway, so set it to
=5 for the dwm version.

Related: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/c21f61ddd8d742e4de2202aa623b0c06573f567b/src/solver.c#L713-721
2022-11-02 15:02:54 +01:00
Oliver Smith 04250e1e41 main/postmarketos-ui-sxmo-de-sway: set provider_priority=10 (MR 3597)
apk ignores a provider_priority of 0. In order to have …-sxmo-de-dwm
have a lower provider priority than …-sxmo-de-sway, set a higher
priority than 1 for the sway version.
2022-11-02 15:02:54 +01:00
Oliver Smith 36cff31884 main/mkbootimg-osm0sis: upgrade to 2021.08.06 (MR 3597)
Also fix wrong use of provides.
2022-11-02 15:02:48 +01:00
Alexander Martinz a2c2a6573e community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0_rc3 (MR 3580)
Change-Id: Ice7c2942892eb0a173dcded835d5fac5a8f32066
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-02 14:54:57 +01:00
Anton Bambura 909df1c8e5 google-hana: depend on alsa-utils (MR 3601)
This makes sound working
[ci:skip-build]: already built successfully in CI
2022-11-02 14:50:51 +01:00
Anton Bambura 6d22ee8398 google-elm: depend on alsa-utils (MR 3601)
This makes sound working
2022-11-02 14:50:39 +01:00
Anton Bambura c689986438 alsa-ucm-conf-google-kukui: add symlinks (MR 3600)
For some reason, alsa sometimes probes it from another locations.
Add symlinks to handle it

Tested-by: Eric Curtin <ecurtin@redhat.com>
[ci:skip-build]: already built successfully in CI
2022-11-02 14:45:54 +01:00
Luca Weiss 5c78e255a6 CI: disallow firmware packages to be noarch (MR 3607)
As explained in the previous commit, it's just unnecessary.

[ci:ignore-count]
[ci:skip-vercheck] no need to rebuild for arch change
2022-11-01 18:20:08 +01:00
Luca Weiss 44f1e77115 device/*/firmware-*: move away from arch="noarch" (MR 3607)
Stop building many firmware packages for architectures that aren't used
by those devices. This should reduce CI/bpo time and repo space by a
bit.
2022-11-01 18:20:03 +01:00
Newbyte 909aebe26f temp/gtk+2.0: remove (MR 3598)
gtk+2.0 for aarch64 is available in Alpine again.
2022-11-01 17:31:01 +01:00
niko 623702d4cf main/postmarketos-ui-gnome-mobile: replace gedit with gnome-text-editor (MR 3603)
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-11-01 16:58:41 +01:00
Dylan Van Assche d8c4343bea community/soc-qcom-sdm845: add ALSA UCM for SHIFT6mq (MR 3606)
Update the ALSA UCM package for the SDM845 so the ALSA UCM configs for
the SHIFT6mq are included. Speaker, microphones, headset work fine in
HiFi mode. In Voice Call mode, the microphone works, but the earpiece is
still silent.

[ci:skip-build]: already built successfully in CI
2022-11-01 16:53:49 +01:00
Dylan Van Assche 9ce52b3587 community/device-shift-axolotl: add q6voiced config (MR 3606)
q6voiced is a daemon to allow voice calls with the q6voice kernel
driver. Add its config so it can open the right audio device on the
SHIFT6mq during a call.
2022-11-01 16:53:49 +01:00
Luca Weiss c4fac0adfa community/linux-postmarketos-qcom-sm6350: enable new community options (MR 3560)
[ci:skip-build] # too many packages for 3h
2022-10-31 21:20:26 +01:00
Luca Weiss 5db3c291f2 community/linux-postmarketos-qcom-msm8996: enable new community options (MR 3560) 2022-10-31 21:19:46 +01:00
Luca Weiss 9ecbd62fce community/linux-postmarketos-qcom-msm8916: enable new community options (MR 3560) 2022-10-31 21:19:35 +01:00
Luca Weiss d49ecb9dbb community/linux-postmarketos-omap: enable new community options (MR 3560) 2022-10-31 21:18:22 +01:00
Luca Weiss 9a462d3759 community/linux-postmarketos-exynos4: enable new community options (MR 3560) 2022-10-31 21:17:39 +01:00
Luca Weiss 76f5a4ab50 community/linux-pine64-pinephonepro: enable new community options (MR 3560) 2022-10-31 21:17:36 +01:00
Luca Weiss bbce946108 community/linux-nokia-n900: enable new community options (MR 3560) 2022-10-31 21:16:39 +01:00
Luca Weiss 0948a1659c main/linux-postmarketos-allwinner: enable new community options (MR 3560) 2022-10-31 21:07:16 +01:00
Sicelo A. Mhlongo 930d8ecad2 device-nokia-n900: fix Fn key in latest xkb-config (MR 3596)
Explicitly set Fn key as Mod5. In xkeyboard-config up to 2.36, this was somehow
set implicitly, since it was working, although I am not sure where/how. In 2.37
it only works when specified.

[ci:skip-build]: already built successfully in CI
2022-10-31 12:34:01 +01:00
Barnabás Czémán e2c984606f firmware-xiaomi-rolex: replace broken source link (MR 3593)
[ci:skip-build]: already built successfully in CI
2022-10-28 09:48:53 +02:00
Sicelo A. Mhlongo 789343b8c7 device-nokia-n900: enable use of rtc time at boot (MR 3586)
Since N900 rtc works fine, remove swclock from boot as it causes time to be set
wrong. Additionally, rtc device is set correctly in kernel, so remove old,
adjusted hwclock config.

Partially reverts pmaports 0e502a5139
[ci:skip-build]: already built successfully in CI
2022-10-28 08:37:16 +02:00
Oliver Smith 2acece294a temp/gtk+2.0: fork from Alpine for aarch64
Fork it as the package is currently gone in Alpine edge for aarch64 and
the builder seems to be stuck.
2022-10-28 08:31:52 +02:00
Luca Weiss 8c19bf2f9b CI: add riscv64 (MR 3566)
Now that we have the cross compilers in place, make the CI build riscv64
as well.
2022-10-26 20:56:18 +02:00
Oliver Smith d410854f6c temp/gnome-shell-mobile: disable on riscv64
[ci:skip-vercheck] [ci:skip-build]: just changing arches
2022-10-26 20:29:19 +02:00
Oliver Smith 2d51770a74 main/postmarketos-ui-gnome-mobile: disable on riscv64 2022-10-26 20:27:13 +02:00
Oliver Smith 5e9e802c67 temp/mutter-mobile: disable on riscv64
Fails for a weird reason, disable to get the initial bpo build for
riscv64 done.

Related: https://builds.sr.ht/~postmarketos/job/869829
2022-10-26 20:25:26 +02:00
Sam Day e017c774f1 linux-postmarketos-qcom-msm8974: compile modules for netboot and iptables 'statistic' (MR 3581)
[ci:skip-build]: already built successfully in CI
2022-10-26 09:55:13 +02:00
Oliver Smith 8185d66b73 main/unixbench: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868522
[ci:skip-build], [ci:skip-vercheck]: just disabling arches
2022-10-26 09:24:38 +02:00
Oliver Smith 594a34459e main/postmarketos-ui-plasma-desktop: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868600
2022-10-26 09:24:38 +02:00
Oliver Smith 9529c0ab42 main/postmarketos-ondev: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868406
2022-10-26 09:24:38 +02:00
Luca Weiss 2852f55ff0 temp/gnome-shell-mobile: enable on riscv64 (MR 3588) 2022-10-26 09:24:38 +02:00
Luca Weiss aaf1306126 temp/mutter-mobile: enable on riscv64 (MR 3588) 2022-10-26 09:24:38 +02:00
Oliver Smith c102971e27 main/qtwebbrowser: remove (MR 3589)
Remove this obsolete package. It was added four years ago because we
didn't have working webbrowsers and hasn't been updated since.
2022-10-26 09:05:35 +02:00
Pablo Correa Gómez b47abadccc temp/gnome-software-plugin-apk: drop (MR 3577) 2022-10-25 09:35:32 +02:00
Pablo Correa Gómez f4acff31f9 temp/gnome-software: drop (MR 3577)
Alpine's version is now mostly adaptive
2022-10-25 09:35:27 +02:00
Luca Weiss 766020c811 main/gcc6: disable on riscv64 (MR 3583)
[ci:skip-vercheck]: Changing arches doesn't require a rebuild
[ci:skip-build]: already built successfully in CI
2022-10-25 08:31:21 +02:00
Luca Weiss 9d15b45746 main/gcc4: disable on riscv64 (MR 3583) 2022-10-25 08:31:09 +02:00
Jan Jasper de Kroon 8b3c4eb6d3 linux-postmarketos-allwinner: upgrade to 6.0.3 (MR 3572)
[ci:skip-build]: already built in CI
2022-10-25 08:26:39 +02:00
Luca Weiss c31c11cad9 main/hello-world-rust: allow textrels on riscv64 (MR 3584)
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-10-25 08:18:11 +02:00
Oliver Smith 8029ed0762 temp/gnome-shell-mobile: remove dep gnome-themes-standard (MR 3587)
Follow what Alpine is doing with gnome-shell.

Fix for upstream-compat check:
  missing depend(s): gnome-themes-standard

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/b745f99744d915c51d97bf17d8a9a4a59502a923
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/959ad322e0cb616257443206fd3ca85f7492012d
2022-10-25 08:01:32 +02:00
iAboothahir 5361b42aeb device-asus-x00td: add firmware-asus-x00td (MR 3579)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-10-24 13:25:38 +03:00
iAboothahir 4a8a890148 firmware-asus-x00td: add firmware for GPU, WiFi, Bluetooth, ADSP, etc. (MR 3579)
Signed-off-by: iAboothahir <aboothahirpkd@gmail.com>
2022-10-24 13:25:04 +03:00
Alexey Minnekhanov e78098c34f main/postmarketos-ui-fbkeyboard: fix dejavu font path (MR 3582)
Alpine has changed location and package name of ttf-dejavu
fonts, adjust to new location.

Without this, fbkeyboard service crashes with error:

  unable to load font file: No such file or directory

Default font path is hardcoded [1] to
  "/usr/share/fonts/ttf-dejavu/DejaVuSans.ttf".
Luckily there is a CLI switch to change default, use it.

[1] https://github.com/bakonyiferenc/fbkeyboard/blob/master/fbkeyboard.c#L37
2022-10-24 13:10:52 +03:00
Joel Selvaraj c9dc088afd community/firmware-xiaomi-beryllium: update maintainer info (MR 3497)
Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.

[ci:skip-build]: already built successfully in CI
2022-10-24 09:46:44 +02:00
Joel Selvaraj 2decd7eb54 community/xiaomi-beryllium: update q6voiced conf and update maintainer information (MR 3497)
Because of recent changes to kernel and alsa-ucm-conf,
the q6voiced device is changed.

Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.
2022-10-24 09:46:39 +02:00
Joel Selvaraj c831889cb3 community/soc-qcom-sdm845: upgrade alsa-ucm-conf and add co-maintainer (MR 3497)
Rebased our work on top of latest upstram alsa-ucm-conf.
The beryllium ucm conf is also reworked to fix wrong default audio device issue
and now headphones auto-switching on plugin also works as expected.

Adding myself as a co-maintainer for this package.

Change-Id: I360c60d1675c884c9e85cd95f940fa6cb4b75e83
Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
2022-10-24 09:46:38 +02:00
Alexander Martinz e5334cd8fa community/linux-postmarketos-qcom-sdm845: upgrade to 6.0.3 and update co-maintainer email id (MR 3497)
Change-Id: I986b3401fd81ac18b7336f8f0be53e2cf4c4515c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
2022-10-24 09:46:34 +02:00
Newbyte 63e8cff254 main/postmarketos-ui-phosh: replace gedit with gnome-text-editor (MR 3551)
Text Editor is a new modern text editor for GNOME. It is the new
default, replacing gedit upstream. As such, let's do the same here
downstream.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
2022-10-24 09:39:26 +02:00
Newbyte 665bcc199d temp/dino: drop (MR 3575)
For whatever reason, Alpine includes the mobile adaptivity patches for
this app:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/cb88c5701fd93e78b133e746c6c3fa6db0001c66/community/dino/mobile-ui.patch

As such, drop our fork since it's unnecessary.

Reported-by: Airtower
2022-10-24 08:53:07 +02:00
Newbyte 445e530314 temp/xkeyboard-config: drop (MR 3573)
The PinePhone keyboard patches should be available in upstream
xkeyboard-config since version 2.36.
2022-10-24 08:49:16 +02:00
Mithil Bavishi fb9bc89df8 linux-samsung-espresso3g: remove (MR 3563)
[ci:skip-build]: ollie verified it builds locally
2022-10-23 14:01:38 +02:00
Mithil Bavishi 784919ce5e samsung-espresso3g: use linux-postmarketos-omap (MR 3563) 2022-10-23 14:01:33 +02:00
Mithil Bavishi e34cce6e0f community/linux-postmarketos-omap: upgrade to 6.0.2 (MR 3563) 2022-10-23 14:01:28 +02:00
Alexey Min adcc988069 temp/dino: rebuild against new libicuuc.so (MR 3568)
[ci:skip-build]: Already built successfully in CI
2022-10-22 15:41:56 +02:00
Clayton Craft 052fdf55ac linux-purism-librem5: upgrade to 6.0.2 (MR 3570)
[ci:skip-build]: Already built successfully in CI
2022-10-22 13:32:58 +02:00
Sergey Lisov 8d07a9897a mdoem/libsamsung-ipc: upgrade to 6.0.0004 (MR 3456)
1. Upgrades the library to version 6.0.0004
2. Adds runtime overrides for detected device and board,
   to facilitate running on devices where autodetect fails.
2022-10-21 15:19:07 +03:00
Sicelo A. Mhlongo 45aaac6d30 linux-nokia-n900: fix usbnet regression (MR 3567)
After c49180f8cf, usbnet did not come up on N900
automatically since the UDC probed a little late. Fix this by making the driver
built-in.

While at it, make watchdog built-in so it can be kicked even when boot takes
long for any reason.

[ci:skip-build]: already built successfully in CI
2022-10-21 09:17:26 +02:00
Jan Jasper de Kroon a526c9213d linux-pine64-pinephonepro: add WiFi CVE backports (MR 3552)
These are the patches added to mitigate the CVE's which have been found in wifi stack.
More information on these CVE's can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: Already built successfully in CI
2022-10-20 19:04:43 +02:00
Bobby The Builder 5c42cad7a6 linux-postmarketos-allwinner: regenerate config and enable ARM CPU Idle driver (MR 3564)
[ci:skip-build]: Already built successfully in CI
2022-10-20 18:57:23 +02:00
Luca Weiss dc9e47ae00 cross/{binutils,gcc,musl}-riscv64: new aport (MR 3559)
Use pmbootstrap aportgen to generate these new packages.

[ci:skip-vercheck]
2022-10-20 18:52:37 +02:00
Newbyte eafbfdc95c temp/megapixels-purism: rebuild against libcamera 0.0.1 (MR 3565)
[ci:skip-build]: Already built successfully in CI
2022-10-20 09:50:58 +02:00
Yassine Oudjana 2837bdb657 community/linux-postmarketos-qcom-msm8996: upgrade to 6.0.2 (MR 3561)
[ci:skip-build]: already built successfully in CI
2022-10-20 09:21:42 +02:00
Lorenz Wildberg d6931ca312 temp/gnome-shell-mobile: upgrade to 43.0 (MR 3555)
[ci:skip-build]: Already built successfully in CI
2022-10-19 13:02:46 +02:00
Lorenz Wildberg 924a2cb8d3 temp/mutter-mobile: upgrade to 43.0 (MR 3555) 2022-10-19 13:02:41 +02:00
Luca Weiss 5985852e77 temp/gtk+3.0: fix build (MR 3557)
Pick some patches from gtk 3.24.34 to fix compilation under GCC 12.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-10-19 09:05:15 +02:00
Sicelo A. Mhlongo c49180f8cf linux-nokia-n900: apply wifi cve fixes (MR 3558)
- Downgrade kernel from EOL 5.18 to LTS 5.15 in order to apply WiFi CVE fixes.
  It is currently not possible to upgrade to newer (5.19+) kernels due to a USB
  regression.
- Modify 0005-iio-accel-st-accel-add-lis302dl.patch so it applies on 5.15.74
- Reinstate 0008-wl1251-specify-max.-IE-length.patch for nl80211 support. Patch
  was dropped because it is in mainline since 5.18

[ci:skip-vercheck]: downgrade
[ci:skip-build]: already built successfully in CI
2022-10-19 08:34:43 +02:00
Alexander Martinz 13046d8972 community/linux-postmarketos-qcom-sdm845: upgrade to 5.19.16 (MR 3556)
For a merge list, please see the merge commits:
  - 5.19.13 - (https://gitlab.com/sdm845-mainline/linux/-/commit/6384fddb508e3af48adade641fc74e124085d1ee)
  - 5.19.14 - (https://gitlab.com/sdm845-mainline/linux/-/commit/85caddc9c87626e005000b45d724371d7c8ad177)
  - 5.19.15 - (https://gitlab.com/sdm845-mainline/linux/-/commit/fca27cdc51f207b1acbc66e896382d3240650f60)
  - 5.19.16 - (https://gitlab.com/sdm845-mainline/linux/-/commit/9aa25bf492928bc7a4542e87d28919c9ac36d27c)

Note: This is an important release, as 5.19.16 fixes the recently
      published wifi stack vulnerabilities.

Change-Id: Iffff2c65bdd697b01bc5d8fc090e9a2f2577c701
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-10-18 10:54:34 +02:00
Caleb Connolly 82ad096a42 CODEOWNERS: add Alex to axolotl codeowners (MR 3547) 2022-10-18 09:55:49 +02:00
Newbyte 99abd2fdf0 linux-postmarketos-stericsson: upgrade to 5.19.8 (MR 3307)
Also enable iwd options and disable ux500 crypto hardware driver due to
bugs.

[ci:skip-build]: already built successfully in CI
2022-10-18 09:48:47 +02:00
Jan Jasper de Kroon 62bd0f84bd linux-postmarketos-allwinner: upgrade to 6.0.2 - 1017-0205 Megi Tag (MR 3553)
This updates the APKBUILD with the new Megi 6.0.2 tag release.
The 2 incremental patches on top of 6.0 have hereby been removed.

[ci:skip-build]: already built successfully in CI
2022-10-18 09:17:11 +02:00
Alexey Min 4fe645dead main/lk2nd: upgrade to 0.13.0 (MR 3554)
- Support for the huawei-g7 display panel in lk1st
- FS based boot is skipped when going to the recovery
- Generate image without appended dtb for lk2nd-msm8226
- Some bug fixes and device improvements

New devices:
 - Samsung Galaxy Ace 4 (SM-G357FZ)
 - Samsung Galaxy Grand 2 (SM-G7102)
 - Samsung Galaxy Grand Max (SM-G720AX)
 - Samsung Galaxy Tab 4 10.1 (2014) (SM-T530)
 - Huawei Ascend G6 L11 LTE
 - Some new variants for the existing Samsung devices

Changelog: https://github.com/msm8916-mainline/lk2nd/releases/tag/0.13.0
2022-10-18 02:03:55 +03:00
Oliver Smith 89a5382518 cross/gcc-*: add fixme note for the isl workaround (MR 3548)
Make sure we drop !tracedeps next time when upgrading the gcc packages
(after Alpine's gcc has been upgraded). The workaround we have in
pmbootstrap is tied to the current version, and that's the only way we
can remove it for good. The FIXME line can be deleted after this has
been done. Note that current 'pmbootstrap aportgen gcc-*' code will
automatically remove the !tracedeps option - a reminder to double check
it.

[ci:skip-build] [ci:skip-vercheck]: just adding a comment
2022-10-16 18:11:21 +02:00
Caleb Connolly 94b2f1a6f0 CODEOWNERS: sdm845 and axolotl (MR 3546)
* Specify the whole sdm845-mainline group for *-qcom-sdm845 packages.
* Add myself and Dylan for axolotl
2022-10-16 17:28:01 +02:00
Caleb Connolly 6a161e0a2d CODEOWNERS: reformat (MR 3546)
* Switch to tab indenting with tab size 8 to improve rendering
* Fix my entries (missing trailing /)
2022-10-16 17:28:01 +02:00
Newbyte d0d05b39cd main/boot-deploy: upgrade to 0.6.1 (MR 3534) 2022-10-16 17:19:57 +02:00
blacksilver ff797d6bfe samsung-xcover3lte: use samsung sparse format (MR 3500)
RootFS cannot be flashed on this devices since Samsung uses a different sparse format.
Enable this in the deviceinfo file to allow flashing the rootFS.

[ci:skip-build]: already built successfully in CI
2022-10-16 16:46:43 +02:00
Newbyte 2f8a5bf400 linux-postmarketos-exynos4: upgrade to 6.0.2 (MR 3539)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/1749
[ci:skip-build]: already built successfully in CI
2022-10-16 16:32:37 +02:00
Anjandev Momi 20713e27a3 editorconfig-check: set "tabs for indentation, spaces for alignment" style (MR 3530)
https://github.com/editorconfig-checker/editorconfig-checker/issues/66
[ci:ignore-count] [ci:skip-build]: already built successfully in CI
2022-10-16 16:27:25 +02:00
Anjandev Momi e7a8141113 CI: check if most text files have final_newline and conform to editorconfig (MR 3530)
fixes #592
2022-10-16 16:27:25 +02:00
Anjandev Momi 7270f472e3 treewide: fix tabs, final newline, trailing whitespace (MR 3530) 2022-10-16 16:27:22 +02:00
Martijn Braam 8ff73a7de4 pine64-pinebookpro: enable deep sleep (MR 3543)
After testing 6.0.0 I retried deep sleep and it seems to work fine now

[ci:skip-build]: already built successfully in CI
2022-10-16 16:07:00 +02:00
Jan Jasper de Kroon 97ed826c3c linux-postmarketos-rockchip: upgrade to 6.0.2
This kernel upgrade comprises of 2 point releases 6.0.1 and 6.0.2.
the release from 6.0 to 6.0.2 is a regular maintenance release.
Kernel update 6.0.2 addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: already built successfully in CI
2022-10-16 16:03:21 +02:00
Jan Jasper de Kroon 32646621be linux-postmarketos-allwinner: upgrade to 6.0.2
This kernel update addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: already built successfully in CI
2022-10-16 15:01:28 +02:00
Oliver Smith 2b3254df32 CI: test_unreferenced_files: remove debug prints (MR 3545)
Drop these debug prints which I added while extending the test to work
with MR 3386.
2022-10-16 14:26:48 +02:00
Luca Weiss f007868914 community/linux-postmarketos-qcom-sm6350: upgrade to 6.0.2 (MR 3542)
* Merge 6.0.2 stable
* Add pm7250b PMIC to dts

[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:47:54 +02:00
Raymond Hackley a8dbcc046f samsung-cprime: new device (MR 3103)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:44:13 +02:00
Minecrell d4762ed74f community/linux-postmarketos-qcom-msm8916: upgrade to 6.0.2 (MR 3532)
- Update to Linux v6.0.2 (includes fixes for WiFi CVEs)
- Tweak kernel configuration slightly (especially crypto options)

[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:15:35 +02:00
Minecrell 8f37872995 community/linux-postmarketos-qcom-msm8916: upgrade to 6.0.1 (MR 3532)
- Update to Linux v6.0.1
- Upstreamed some patches this time
- Fixed register address in smb1360 driver

Device changes:
  - samsung-gtelwifiue
    - Audio
    - Better USB detection
  - samsung-e5/e7/grandmax
    - Refactoring for changes that landed upstream
    - Key LED control

New devices:
  - samsung-cprime/heatqlte
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control (not for AMOLED on heatqlte)
    - Sensors (Accelerometer)
    - Sound/Modem
    - Battery status
    - NFC
    - NOTE: No touchscreen yet
2022-10-16 13:15:33 +02:00
Affe Null cb8105ee14 nokia-argon: new device (Nokia 8110 4G) (MR 3527)
Initial Nokia 8110 4G port with close-to-mainline kernel.

[ci:skip-build] Already built fine on CI in MR
2022-10-16 11:19:17 +03:00
Affe Null f27500700e linux-postmarketos-qcom-msm8909: close-to-mainline kernel for MSM8909 (MR 3527) 2022-10-16 11:18:15 +03:00
Affe Null 10df987e0e main/mipi-dbi-cmd: tool for generating SPI panel init sequence firmware (MR 3527) 2022-10-16 11:18:04 +03:00
Alexey Minnekhanov 4144c7631f main/postmarketos-config-nftables: use versioned constraints in install_if (MR 3536)
Consistently use `install_if="$pkgname=$pkgver-r$pkgrel ...` everywhere,
this is recommended upstream.

See https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#install_if
2022-10-16 08:19:21 +03:00
Raymond Hackley 1efe44bb36 main/postmarketos-config-nftables: add VLC chromecast rules (MR 3536) 2022-10-16 08:08:54 +03:00
Luca Weiss afc11656d8 ci: unreferenced: skip cross/ (MR 3541)
It thinks that the gcc-go.post-install files from the new cross/gcc-*
packages isn't used because those add subpackages dynamically in the
APKBUILD which isn't handled.
2022-10-15 23:26:29 +02:00
Newbyte 2c5274eeed cross/gcc-armv7: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:11:21 +02:00
Newbyte 57d953746e cross/gcc-armhf: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:11:06 +02:00
Newbyte 192ca97cd5 cross/gcc-aarch64: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:10:16 +02:00
Newbyte 4818c2c2cd linux-postmarketos-exynos4: enable zstd compression (MR 3522) 2022-10-15 13:10:31 +02:00
Henrik Grimler 2c68614713 linux-postmarketos-exynos4: update patch 0005 after kernel upgrade (MR 3522)
Our patch needs to be adjusted after commit 58e4a2d27d32 ("extcon: Fix
extcon_get_extcon_dev() error handling").  Also generate all other
patch headers, and make it possible to apply patch 0008 and 0009 with
git am.
2022-10-15 13:10:31 +02:00
Martin Jücker b15f448999 linux-postmarketos-exynos4: add missing lcd patches for p4note (MR 3522) 2022-10-15 13:10:28 +02:00
Martin Jücker 4668038a9a linux-postmarketos-exynos4: update to 6.0.1 (MR 3522) 2022-10-15 13:09:41 +02:00
1204 changed files with 158849 additions and 30303 deletions

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh -e
# Description: run apkbuild-lint on modified APKBUILDs
# Options: native
# Use 'native' because it requires git commit history.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
# Wrap pmbootstrap to use this repository for --aports
pmaports="$(cd "$(dirname "$0")"/..; pwd -P)"
_pmbootstrap="$(command -v pmbootstrap)"
pmbootstrap() {
"$_pmbootstrap" --aports="$pmaports" "$@"
}
.ci/lib/apkbuild_linting.py
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
-8
View File
@@ -1,8 +0,0 @@
#!/bin/sh -e
# Convenience wrapper for short arch-specific build jobs in .gitlab-ci.yml
export PYTHONUNBUFFERED=1
JOB_ARCH="${CI_JOB_NAME#build-}"
set -x
su pmos -c ".ci/build_changed_aports.py $JOB_ARCH"
-7
View File
@@ -1,7 +0,0 @@
#!/bin/sh -e
if grep -r 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb'; then
echo 'Please do not install dtbs to /usr/share/dtb!'
echo 'Unless you have a good reason not to, please put them in /boot/dtbs'
exit 1
fi
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh -e
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: check pkgver/pkgrel bumps, amount of changed pkgs etc
# Options: native
# Use 'native' because it requires git commit history.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
.ci/lib/check_changed_aports_versions.py
Executable
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh -e
# Description: editorconfig-checker: lint for trailing whitespaces etc.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add \
editorconfig-checker
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
ec
Executable
+14
View File
@@ -0,0 +1,14 @@
#!/bin/sh -e
# Description: lint CI related python scripts/tests
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add py3-flake8
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
# shellcheck disable=SC2046
flake8 --ignore E501,F401,E722,W504,W605 $(find .ci -name '*.py')
Executable
+40
View File
@@ -0,0 +1,40 @@
#!/bin/sh -e
# Description: check various bad patterns with grep
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add grep
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
# Find CHANGEMEs in APKBUILDs
if grep -qr '(CHANGEME!)' -- *; then
echo "ERROR: Please replace '(CHANGEME!)' in the following files:"
grep --color=always -r '(CHANGEME!)' -- *
exit 1
fi
# DTBs installed to /usr/share/db
# shellcheck disable=SC2016
if grep -qr 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb' device/; then
echo 'ERROR: Please do not install dtbs to /usr/share/dtb!'
echo 'ERROR: Unless you have a good reason not to, please put them in /boot/dtbs'
echo 'ERROR: Files that need fixing:'
# shellcheck disable=SC2016
grep --color=always -r 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb' device/
exit 1
fi
# Find old mkinitfs paths (pre mkinitfs 2.0)
if grep -qr '/etc/postmarketos-mkinitfs' -- *; then
echo "ERROR: Please replace '/etc/postmarketos-mkinitfs' with '/usr/share/mkinitfs' in the following files:"
grep --color=always -r '/etc/postmarketos-mkinitfs' -- *
exit 1
fi
if grep -qr '/usr/share/postmarketos-mkinitfs' -- *; then
echo "ERROR: Please replace '/usr/share/postmarketos-mkinitfs' with '/usr/share/mkinitfs' in the following files:"
grep --color=always -r '/usr/share/postmarketos-mkinitfs' -- *
exit 1
fi
Executable
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh -e
# Description: check modified kernel configs
# Options: native
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
export PYTHONUNBUFFERED=1
.ci/lib/check_changed_kernels.py
+1
View File
@@ -0,0 +1 @@
../testcases/add_pmbootstrap_to_import_path
File renamed without changes.
@@ -7,7 +7,7 @@ import sys
import common
# pmbootstrap
import testcases.add_pmbootstrap_to_import_path
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
import pmb.helpers.pmaports
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh -e
# Description: build modified packages for this architecture
# Options: native slow
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
export PYTHONUNBUFFERED=1
# Get the architecture from the symlink we are running
arch="$(echo "$0" | cut -d '-' -f 2 | cut -d '.' -f 1)"
set -x
.ci/lib/build_changed_aports.py "$arch"
@@ -11,7 +11,7 @@ import subprocess
import common
# pmbootstrap
import testcases.add_pmbootstrap_to_import_path # noqa
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.parse.version
import pmb.helpers.logging
+83
View File
@@ -0,0 +1,83 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import tempfile
import sys
import subprocess
# Same dir
import common
# pmbootstrap
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.helpers.logging
def check_kconfig(args, pkgnames):
last_failed = None
for i in range(len(pkgnames)):
pkgname = pkgnames[i]
print(f" ({i+1}/{len(pkgnames)}) {pkgname}")
apkbuild_path = pmb.helpers.pmaports.find(args, pkgname)
apkbuild = pmb.parse._apkbuild.apkbuild(f"{apkbuild_path}/APKBUILD")
options = []
for opt in apkbuild["options"]:
if "pmb:kconfigcheck" in opt:
options += [opt]
if len(options):
options.sort()
print(f'options="{" ".join(options)}"')
if "!pmb:kconfigcheck" in apkbuild["options"]:
print("skipped (!pmb:kconfigcheck)")
continue
if not pmb.parse.kconfig.check(args, pkgname, details=True):
last_failed = pkgname
return last_failed
def show_error(last_failed):
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
print("")
print("Edit your kernel config:")
print(f" pmbootstrap kconfig edit {last_failed}")
print("")
print("Test this kernel config again:")
print(f" pmbootstrap kconfig check {last_failed}")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
if __name__ == "__main__":
common.add_upstream_git_remote()
pkgnames = common.get_changed_kernels()
print(f"Changed kernels: {pkgnames}")
if len(pkgnames) == 0:
print("No kernels changed in this branch")
exit(0)
# Initialize args (so we can use pmbootstrap's kconfig parsing)
sys.argv = ["pmbootstrap", "kconfig", "check"]
args = pmb.parse.arguments()
pmb.helpers.logging.init(args)
print("Running kconfig check on changed kernels...")
last_failed = check_kconfig(args, pkgnames)
if last_failed:
show_error(last_failed)
exit(1)
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import argparse
@@ -13,7 +13,7 @@ def get_devices():
""":returns: list of all devices"""
ret = []
pmaports = (os.path.realpath(os.path.join(os.path.dirname(__file__) +
"/..")))
"/../..")))
for path in glob.glob(pmaports + "/device/*/device-*/"):
device = os.path.dirname(path).split("device-", 1)[1]
@@ -110,7 +110,7 @@ def main():
print("")
print("Now it's time to add some documentation:")
print("1) Create a device specific wiki page as described here:")
print(" <https://wiki.postmarketos.org/wiki/Help:Device_Page>")
print(" https://wiki.postmarketos.org/wiki/Help:Device_Page")
print("2) Set 'booting = yes' in the infobox of your device page.")
print("3) Run these tests again with an empty commit in your MR:")
print(" $ git commit --allow-empty -m 'run tests again'")
+9 -1
View File
@@ -17,7 +17,7 @@ def get_pmaports_dir():
global cache
if "pmaports_dir" in cache:
return cache["pmaports_dir"]
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/.."))
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
cache["pmaports_dir"] = ret
return ret
@@ -190,3 +190,11 @@ def get_changed_packages():
ret.add(os.path.basename(dirname))
return ret
def get_changed_kernels():
ret = []
for pkgname in get_changed_packages():
if pkgname.startswith("linux-"):
ret += [pkgname]
return ret
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh -e
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
if ! mount | grep -q /proc/sys/fs/binfmt_misc; then
echo "Mounting binfmt_misc"
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
fi
if id "build" > /dev/null 2>&1; then
echo "User 'build' exists already"
else
echo "Creating build user"
adduser -D build
chown -R build:build .
echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
fi
+1 -1
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
if [ -z "$1" ]; then
echo "usage: $(basename $0) \$CI_PROJECT_DIR"
echo "usage: $(basename "$0") \$CI_PROJECT_DIR"
exit 1
fi
+17 -5
View File
@@ -1,15 +1,26 @@
#!/bin/sh -e
# Copyright 2021 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint with various python tests
# Options: native
# Use 'native' because it requires pmbootstrap.
# https://postmarketos.org/pmb-ci
# Require pmbootstrap
if ! command -v pmbootstrap > /dev/null; then
echo "ERROR: pmbootstrap needs to be installed."
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh pytest
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
# Require pytest to be installed on the host system
if [ -z "$(command -v pytest)" ]; then
echo "ERROR: pytest command not found, make sure it is in your PATH."
exit 1
fi
# Wrap pmbootstrap to use this repository for --aports
pmaports="$(cd $(dirname $0)/..; pwd -P)"
pmaports="$(cd "$(dirname "$0")"/..; pwd -P)"
_pmbootstrap="$(command -v pmbootstrap)"
pmbootstrap() {
"$_pmbootstrap" --aports="$pmaports" "$@"
@@ -23,6 +34,7 @@ pmbootstrap -q shutdown
# Make sure we have a valid device (pmbootstrap#1128)
device="$(pmbootstrap config device)"
deviceinfo="$pmaports/device/*/device-$device/deviceinfo"
# shellcheck disable=SC2086
if ! [ -e $deviceinfo ]; then
echo "ERROR: Could not find deviceinfo file for selected device '$device'."
echo "Expected path: $deviceinfo"
+15 -15
View File
@@ -1,16 +1,15 @@
#!/bin/sh -e
# Copyright 2021 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint all shell scripts
# https://postmarketos.org/pmb-ci
set -e
DIR="$(cd "$(dirname "$0")" && pwd -P)"
cd "$DIR/.."
DIR="$(cd "$(dirname "$0")/.." && pwd -P)"
# Find CHANGEMEs in APKBUILDs
if grep -qr '(CHANGEME!)' *; then
echo "ERROR: Please replace '(CHANGEME!)' in the following files:"
grep --color=always -r '(CHANGEME!)' *
exit 1
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add shellcheck
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
# Shell: shellcheck
@@ -18,17 +17,17 @@ sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/osk-sdl/unlock.sh
./main/postmarketos-base/rootfs-usr-lib-firmwareload.sh
./main/postmarketos-base-ui/rootfs-etc-NetworkManager-dispatcher.d-99-dns-filter.sh
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-mkinitfs/init.sh
./main/postmarketos-mkinitfs/init_functions.sh
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-update-kernel/update-kernel.sh
./main/swclock-offset/swclock-offset-boot.sh
./main/swclock-offset/swclock-offset-shutdown.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')
$(find . -path './main/postmarketos-ui-*/*.pre-install')
@@ -42,10 +41,11 @@ sh_files="
$(find . -path './main/devicepkg-dev/*.sh')
$(find . -path './main/postmarketos-mvcfg/*.sh')
$(find . -path '.ci/*.sh')
$(find . -path './.ci/**.sh')
"
for file in $sh_files; do
echo "Test with shellcheck: $file"
cd "$DIR/../$(dirname "$file")"
cd "$DIR/$(dirname "$file")"
shellcheck -e SC1008 -x "$(basename "$file")"
done
@@ -15,8 +15,10 @@ def path_pmbootstrap():
code from there.
returns: pmbootstrap installation folder
"""
# Find 'pmbootstrap' executable
bin = shutil.which("pmbootstrap")
# This variable is set by pmbootstrap 1.52 and later
# If it's undefined, try to find 'pmbootstrap' in path
bin = os.environ.get("PMBOOTSTRAP_CMD") or shutil.which("pmbootstrap")
if not bin:
print("ERROR: 'pmbootstrap' not found in $PATH")
sys.exit(1)
+5 -1
View File
@@ -38,7 +38,11 @@ def test_aports_device(args):
apkbuild = pmb.parse.apkbuild(path)
# Depends: Require "postmarketos-base"
if "postmarketos-base" not in apkbuild["depends"]:
depend_flag = False
for dependency in apkbuild["depends"]:
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)
+8 -5
View File
@@ -17,12 +17,15 @@ def deviceinfo_obsolete(info):
Test for obsolete options used in the deviceinfo file. They must still be
defined in pmbootstrap's config/__init__.py.
"""
obsolete_options = ["weston_pixman_type"]
obsolete_options = [
"usb_rndis_function",
"weston_pixman_type",
]
for option in obsolete_options:
if info[option]:
raise RuntimeError("option '" + option + "' is obsolete, please"
" remove it (reasons for removal are at"
" <https://postmarketos.org/deviceinfo>)")
if option in info and info[option]:
raise RuntimeError(f"option {option} is obsolete, please rename"
" or remove it (see reasons for removal of at"
" https://postmarketos.org/deviceinfo)")
def test_deviceinfo(args):
+7
View File
@@ -15,8 +15,10 @@ def test_aports_firmware(args):
"""
excluded = [
"firmware-motorola-ali", # Depends on firmware-qcom-adreno-a530
"firmware-motorola-potter", # Depends on soc-qcom-msm8916-ucm
"firmware-oneplus-msm8998", # Depends on soc-qcom-sdm845-nonfree-firmware
"firmware-xiaomi-sagit", # Depends on soc-qcom-sdm845-nonfree-firmware
"firmware-samsung-baffinlite", # Depends on firmware-aosp-broadcom-wlan
"firmware-samsung-crespo", # Depends on firmware-aosp-broadcom-wlan
"firmware-samsung-maguro", # Depends on firmware-aosp-broadcom-wlan
@@ -41,3 +43,8 @@ def test_aports_firmware(args):
raise RuntimeError(f"{aport_name}: \"!tracedeps\" missing in"
" options= line. The tracedeps option is superfluous"
" for firmware packages.")
if "noarch" in apkbuild["arch"]:
raise RuntimeError(f"{aport_name}: \"arch\" must not be \"noarch\"!"
" Please limit this firmware package to the"
" required architectures only!")
+87
View File
@@ -0,0 +1,87 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import logging
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
def apkbuild_check_provides(path, apkbuild, version, pkgname, subpkgname=None):
"""
Verify that a package or subpackage is using provides correctly.
:param path: to the APKBUILD for the error message
:param apkbuild: either the full return of pmb.parse.apkbuild() or a
subpackage of it (apkbuild["subpackages"][$subpkgname])
:param version: like 1.0.0-r3 so we can check against it
:param pkgname: package name
:param subpkgname: subpackage name, if we are looking at a subpackage
:returns: list of error strings
"""
name = pkgname
if subpkgname:
name = f"{pkgname}:{subpkgname}"
logging.info(f"{name}: checking provides")
ret = []
if not apkbuild["provides"]:
return ret
for provide in apkbuild["provides"]:
# Having provides entries without version is valid if the
# provider_priorty is also set (pma#1766)
if apkbuild["provider_priority"]:
continue
# Otherwise the version =$pkgver-r$pkgrel needs to be set. pmbootstrap
# already replaces the variables, so we check against the inserted
# values here.
if not provide.endswith(f"={version}"):
provide_no_ver = provide.split("=", 1)[0]
error = f"error in {path}:\n"
if subpkgname:
error += f"in subpackage:\n {subpkgname}\n"
else:
error += f"in package:\n {pkgname}\n"
error += f"broken provides entry:\n {provide_no_ver}\n"
error += "\n"
error += "This provides entry needs to be changed to"
error += f" '{provide_no_ver}=$pkgver-r$pkgrel'"
error += " (do not replace the variables, without '').\n"
error += "\n"
error += "If you know what you are doing and didn't add the"
error += " version on purpose, you also need to set a"
error += " provider_priority (pma#1766).\n"
error += "Reference:"
error += " https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#provides"
ret += [error]
return ret
def test_provides(args):
errors = []
for path in glob.iglob(f"{args.aports}/**/APKBUILD", recursive=True):
apkbuild = pmb.parse.apkbuild(path)
pkgname = apkbuild["pkgname"]
version = f"{apkbuild['pkgver']}-r{apkbuild['pkgrel']}"
path_rel = os.path.relpath(path, args.aports)
errors += apkbuild_check_provides(path_rel, apkbuild, version, pkgname)
for subpkg, subpkg_data in apkbuild["subpackages"].items():
if not subpkg_data:
# default packaging function like -doc
continue
errors += apkbuild_check_provides(path_rel, subpkg_data, version,
pkgname, subpkg)
if errors:
for error in errors:
logging.error(error)
raise RuntimeError(f"test_provides failed with {len(errors)} errors")
@@ -1,11 +1,13 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Various checks on source= in the APKBUILDs
import glob
import logging
import os
import pytest
import sys
import os
import add_pmbootstrap_to_import_path
import pmb.parse
@@ -21,12 +23,13 @@ def parse_source_from_checksums(args, apkbuild_path):
to parse shell code (like in postmarketos-base).
:param apkbuild_path: full path to the APKBUILD
:returns: list of parsed "source" files, e.g.:
["first.patch", "second.patch"]
:returns: dict of parsed "source" filenames and checksums, e.g.:
{"first.patch": "b4dc4f3…",
"second.patch": "b4dc4f3…"}
"""
start = 'sha512sums="'
in_block = False
ret = []
ret = {}
with open(apkbuild_path, encoding="utf-8") as handle:
for line in handle.readlines():
@@ -43,18 +46,21 @@ def parse_source_from_checksums(args, apkbuild_path):
continue
try:
_, filename = line.rstrip().split(" ", 2)
checksum, filename = line.rstrip().split(" ", 2)
except ValueError:
raise ValueError("Failed to parse checksums. Try to delete the"
" checksums and generate them again with"
f" 'pmbootstrap checksum': {apkbuild_path}")
# Cut off 'sha512sums="' if the first checksum is in that line
if checksum.startswith(start):
checksum = checksum[len(start):]
# Find end
if filename.endswith('"'):
ret += [filename[:-1]]
break
filename = filename[:-1]
ret += [filename]
ret[filename] = checksum
return ret
@@ -63,6 +69,10 @@ def test_aports_unreferenced_files(args):
Raise an error if an unreferenced file is found
"""
for apkbuild_path in glob.iglob(args.aports + "/**/APKBUILD", recursive=True):
# pmbootstrap parser has some issues with complicated APKBUILDs, skip those.
if apkbuild_path.startswith(args.aports + "/cross/"):
continue
apkbuild = pmb.parse.apkbuild(apkbuild_path)
sources_chk = parse_source_from_checksums(args, apkbuild_path)
@@ -75,9 +85,6 @@ def test_aports_unreferenced_files(args):
continue
subpackage_installs += subpackage.get("install", [])
subpackage_triggers += subpackage.get("triggers", [])
print(subpackage_installs)
if "device-nokia-n900-nonfree-firmware.post-install" in subpackage_installs:
print(subpackage)
# Collect trigger files
trigger_sources = []
@@ -96,3 +103,50 @@ def test_aports_unreferenced_files(args):
and rel_file_path not in subpackage_installs \
and rel_file_path not in trigger_sources:
raise RuntimeError(f"{apkbuild_path}: found unreferenced file: {rel_file_path}")
def test_distfiles_conflict(args):
"""
Make sure that each filename mentioned in any source= of any APKBUILD
always has the same checksum. This is important because apk caches
downloaded source files in a flat distfiles directory. So if two APKBUILDs
both download a file with the same filename but different checksum, and the
user builds both after each other, abuild will fail on the second build
with a checksum error.
"""
source_all = {}
for apkbuild_path in glob.iglob(f"{args.aports}/**/APKBUILD", recursive=True):
source = parse_source_from_checksums(args, apkbuild_path)
dir_path = os.path.dirname(apkbuild_path)
apkbuild_rel = os.path.relpath(apkbuild_path, args.aports)
for filename, checksum in source.items():
# Files bundled with the APKBUILD don't get copied to the distfiles
# cache, so not relevant for this check. Use glob.glob here and not
# iglob, because we don't want an iterator.
if glob.glob(f"{dir_path}/**/{filename}", recursive=True):
continue
# First time seeing this file
if filename not in source_all:
source_all[filename] = {"checksum": checksum,
"apkbuild_rel": apkbuild_rel}
continue
# Saw this file already with same checksum
if checksum == source_all[filename]["checksum"]:
continue
# Saw this file already with different checksum
logging.error("")
logging.error(f"ERROR: the source file '{filename}' has different"
" checksums in the following files:")
logging.error(f"- {source_all[filename]['apkbuild_rel']}:")
logging.error(f" {source_all[filename]['checksum']}")
logging.error(f"- {apkbuild_rel}:")
logging.error(f" {checksum}")
logging.error("")
logging.error("Fix this by setting a different target filename in"
" the package you modified:")
logging.error("https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#source")
logging.error("")
raise RuntimeError(f"Conflict with source file '{filename}'")
Executable
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh -e
# Description: verify devices are documented in the wiki
# Options: native
# Run natively so we don't need to set up a chroot, python3 is the only dep.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add \
python3
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
.ci/lib/check_devices_in_wiki.py --booting
+3
View File
@@ -0,0 +1,3 @@
{
"SpacesAftertabs": true
}
+2 -2
View File
@@ -7,8 +7,8 @@
# Top-most EditorConfig file.
root = true
[**/APKBUILD]
[{**.{md,ini,sh,rules,nft},**/APKBUILD}]
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
insert_final_newline = true
+119
View File
@@ -0,0 +1,119 @@
#!/bin/sh
#
# This hook checks that all local sources specified in the staged APKBUILDs
# are staged too or already committed and that checksums are correct.
#
set -eu
# Maximal allowed size (in bytes) of a file.
FILE_SIZE_LIMIT=262144 # 256 kiB
if ! command -v sha512sum >/dev/null; then
# macOS / BSDs (?) don't have sha512sum, but shasum.
alias sha512sum='shasum -a 512'
fi
error() {
printf '\033[0;31mpre-commit:\033[0m %s\n' "$1" >&2 # red
}
# Prints paths of created or modified files being committed.
changed_files() {
git diff-index \
--name-only \
--cached \
--diff-filter=ACMR HEAD \
-- "$@"
}
# Prints file names and checksums (in format <SHA-512>:<filename>) of local
# sources specified in the APKBUILD ($1).
apkbuild_local_sources() {
apkbuild="$1"
set +eu
. "$apkbuild" || {
error "$apkbuild is invalid"
return 1
}
set -eu
status=0
: ${source:=""}
for src in $source; do
# Skip remote sources.
case "$src" in */*) continue;; esac
echo "$sha512sums" | awk -v src="$src" '
{ if ($2 == src) { ok=1; print($2 ":" $1) } }
END { if (ok != 1) exit 1 }' || {
status=1
error "${apkbuild%/*}: file \"$src\" is missing in \$sha512sums (hint: run pmbootstrap checksum)"
}
done
return $status
}
# check if given object is a symlink
is_symlink() {
test "$(git ls-files --stage "$1" | awk '{print $1}')" = "120000"
}
# Checks that all local sources specified in the APKBUILD file ($1) are
# available in git tree and checksums are correct.
check_local_sources() {
local apkbuild="$1"
local startdir="${apkbuild%/*}"
local status=0
local checksum_act checksum_exp content filename line sources
sources=$(apkbuild_local_sources "$apkbuild")
for line in $sources; do
filename=${line%%:*}
checksum_exp=${line#*:}
if ! git cat-file -e ":$startdir/$filename" 2>/dev/null; then
error "$startdir: missing file \"$filename\""
status=1
continue
fi
if is_symlink ":$startdir/$filename"; then
continue
fi
checksum_act=$(git show ":$startdir/$filename" | sha512sum)
if [ "$checksum_act" != "$checksum_exp -" ]; then
local cmd="pmbootstrap checksum $(basename "$startdir")"
error "$startdir: bad checksum for file \"$filename\" (hint: run $cmd)"
status=1
fi
done
return $status
}
# Checks if the file ($1) being committed is not bigger than FILE_SIZE_LIMIT.
check_file_size() {
local path="$1"
local size
size=$(git cat-file -s ":$path")
if [ $size -gt $FILE_SIZE_LIMIT ]; then
local size_kb=$(( size / 1024 ))
error "file \"$path\" is quite big ($(( size / 1024 )) kiB), better put a remote url in source="
return 1
fi
}
for apkbuild in $(changed_files '**/APKBUILD'); do
check_local_sources "$apkbuild"
done
for path in $(changed_files); do
check_file_size "$path"
done
+49
View File
@@ -0,0 +1,49 @@
#!/bin/sh
#
# This hook adds prefix "<repo>/<pkgname>: " to the commit message when
# committing changes of a single package.
#
MSG_FILE="$1"
SOURCE="$2"
longest_common_prefix() {
awk -F/ '
(NR == 1) { split($0, prefix); prefix_len = NF }
(NR > 1) {
for (i = 1; i <= prefix_len; i++) {
if (prefix[i] != $i) {
prefix_len = i - 1; break
}
}
}
(prefix_len == 0) { exit }
END {
res = prefix[1]
for (i = 2; i <= prefix_len; i++) {
res = res FS prefix[i]
}
print(res)
}'
}
prepend_msg() {
local prefix="$1"
printf '%s\n%s\n' "$prefix" "$(cat "$MSG_FILE")" > "$MSG_FILE"
}
# Do nothing if message has been given using -m, template, merge etc.
[ -z "$SOURCE" ] || exit 0
lcp=$(git diff-index --name-only --cached HEAD | longest_common_prefix)
case "$lcp" in
device/*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f3): ";;
# Multiple packages touched for same device category
# More logic could be added to detect if they all belong to same device
device/*) ;;
[^.]*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f1-2): ";;
esac
exit 0
-1
View File
@@ -20,7 +20,6 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
+44 -42
View File
@@ -3,7 +3,7 @@
# global settings
image: alpine:latest
after_script:
- .ci/move_logs.sh $CI_PROJECT_DIR
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
stages:
- lint
- build
@@ -31,13 +31,12 @@ wiki:
- merge_requests
changes:
- device/*/device-*/*
before_script:
- apk -q add python3
script:
- .ci/check_devices_in_wiki.py --booting
- .ci/lib/gitlab_prepare_ci.sh
- .ci/wiki.sh
# testcases linting
testcases-linting:
flake8:
stage: lint
<<: *only-default
only:
@@ -49,29 +48,35 @@ testcases-linting:
before_script:
- apk -q add py-flake8
script:
- flake8 --ignore E501,F401,E722,W504,W605
- .ci/lib/gitlab_prepare_ci.sh
- .ci/flake8.sh
# shellcheck
shellcheck:
# shellcheck and various grep checks
shellcheck-grep:
stage: lint
<<: *only-default
image: alpine:edge
before_script:
- apk -q add shellcheck
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/shellcheck.sh
- .ci/grep.sh
# aports checks (generic)
aports-static:
editor-config:
stage: lint
<<: *only-default
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh pytest
image: alpine:edge
script:
- su pmos -c ".ci/run_testcases.sh"
- su pmos -c ".ci/check_changed_aports_versions.py"
- su pmos -c ".ci/check-dtb-install-location.sh"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/ec.sh
# aports checks (generic)
pytest-commits:
stage: lint
<<: *only-default
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/pytest.sh
- .ci/commits.sh
artifacts:
when: on_failure
paths:
@@ -80,26 +85,12 @@ aports-static:
- pmbootstrap.cfg
expire_in: 1 week
distfile-check:
stage: lint
<<: *only-default
before_script:
- apk -q add make findutils
- wget "https://gitlab.com/postmarketOS/ci-common/-/archive/master/ci-common-master.tar.bz2"
- tar -xf ci-common-master.tar.bz2
- mv ci-common-master/distfile-check/*.sh ci-common-master/distfile-check/Makefile .
- rm -r ci-common-master ci-common-master.tar.bz2
script:
- make -j999
# APKBUILD linting
aport-lint:
stage: lint
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- su pmos -c ".ci/apkbuild-linting.py"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/apkbuild-lint.sh
only:
- merge_requests
allow_failure: true
@@ -114,11 +105,9 @@ kernel-kconfig:
changes:
- device/*/linux-*/config-*
- main/linux-*/config-*
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh pytest
script:
- su pmos -c "pmbootstrap kconfig check"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/kconfig.sh
# MR settings
# (Checks for "Allow commits from members who can merge to the target branch")
@@ -137,10 +126,8 @@ mr-settings:
stage: build
<<: *only-default
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- .ci/build.sh
- .ci/lib/gitlab_prepare_ci.sh
after_script:
- cp -r /home/pmos/.local/var/pmbootstrap/packages/ packages/ || true
artifacts:
expire_in: 1 week
@@ -150,15 +137,30 @@ mr-settings:
build-x86_64:
extends: .build
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
- .ci/build-aarch64.sh
build-armv7:
extends: .build
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
+46
View File
@@ -0,0 +1,46 @@
<!--
Thank you for using postmarketOS! In order to speed up process of resolving your issue,
we would like you to fill in the following :
-->
### Describe your issue
#### What's the expected behaviour?
#### What's the current behaviour?
#### How to reproduce your issue?
### What device are you using?
<!--
Leave name of your device in vendor-codename format.
If unsure, check name in the device package or leave full name of device
PinePhone: which revision exactly? See https://wiki.pine64.org/index.php/PinePhone#Hardware_revisions
-->
### On what postmarketOS version did you encounter the issue?
<!--
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v22.12`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
### On what environment did you encounter the issue?
#### Environments
* [ ] Phosh
* [ ] Plasma Mobile
* [ ] Sxmo (Wayland/Sway) **Please post the output of `sxmo_version.sh`**
* [ ] Other: **Please fill out**
### How did you get postmarketOS image?
* [ ] from https://images.postmarketos.org
* [ ] I built it using pmbootstrap
* [ ] It was preinstalled on my device
### What's the build date of the image? (in yyyy-mm-dd format)
<!--
Notes:
can be left empty if unsure
If you downloaded image from images.postmarketos.org, date will be in yyyymmdd format
-->
### Additional information
<!-- logs, etc. -- make use <details> for long listings -->
+1 -6
View File
@@ -1,12 +1,7 @@
{
"subject_format": {
"pass": [
"^[a-z]+/[a-z-0-9*{}]+: new aport(s|)( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: pkgrel bump( \\(MR \\d+\\)|)$",
"^[a-z-0-9*{}]+: new device \\([^\\)]+\\)( \\(MR \\d+\\)|)",
"^[a-z]+/[a-z-0-9*{}]+: upgrade to [0-9\\.a-z\\-_]+( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: remove( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: remove, upstreamed( \\(MR \\d+\\)|)$",
"^(([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+\\)|)$"
+83 -18
View File
@@ -1,21 +1,86 @@
# https://docs.gitlab.com/ee/user/project/code_owners.html
device/*/*-htc-golfu/ @Newbyte
device/*/*-pine64-pinephone/ @craftyguy @milesalan @bshah @proycon @anjandev @StacyHarper
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-purism-librem5/ @craftyguy @bshah
device/*/device-lg-judyln/ @Newbyte
device/*/device-samsung-m0/ @Newbyte
device/*/linux-postmarketos-exynos4/ @Newbyte
device/*/linux-postmarketos-msm8939/ @Newbyte
device/*/linux-postmarketos-stericsson/ @Newbyte
device/community/*-qcom-sdm845 @calebccff @joelselvaraj
device/community/*-xiaomi-berrylium @joelselvaraj
device/community/device-oneplus-enchilada @calebccff
device/community/device-oneplus-fajita @calebccff
main/osk-sdl/ @craftyguy
main/postmarketos-ui-plasma-mobile/ @bshah
main/ttyescape @calebccff
temp/u-boot-librem5/ @craftyguy @bshah
device/*/*-htc-golfu/ @Newbyte
device/*/*-pine64-pinephone/ @craftyguy @milesalan @bshah @proycon @anjandev @StacyHarper
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-purism-librem5/ @craftyguy @bshah
device/*/device-lg-judyln/ @Newbyte
device/*/device-samsung-m0/ @Newbyte
device/*/linux-postmarketos-exynos4/ @Newbyte
device/*/linux-postmarketos-msm8939/ @Newbyte
device/*/linux-postmarketos-stericsson/ @Newbyte
device/*/*-qcom-sdm845/ @sdm845-mainline
device/*/*-xiaomi-berrylium/ @joelselvaraj
device/*/device-oneplus-enchilada/ @calebccff
device/*/device-oneplus-fajita/ @calebccff
device/*/firmware-oneplus-sdm845/ @calebccff
device/*/device-shift-axolotl/ @amartinz @calebccff @dylanvanassche
device/*/*-lenovo-a6010/ @jenneron
device/*/*-lenovo-a6000/ @jenneron
device/*/device-microsoft-surface-rt/ @jenneron
device/*/device-google-fennel/ @jenneron
device/*/device-google-veyron-minnie/ @jenneron
device/*/device-google-burnet/ @jenneron
device/*/device-google-elm/ @jenneron
device/*/device-google-nyan-big/ @jenneron
device/*/device-google-peach-pi/ @jenneron
device/*/device-google-veyron-speedy/ @jenneron
device/*/linux-google-veyron/ @jenneron
device/*/u-boot-peach-pi/ @jenneron
device/*/device-google-cozmo/ @jenneron
device/*/u-boot-veyron-speedy/ @jenneron
device/*/device-google-juniper/ @jenneron @binarycraft
device/*/u-boot-peach-pit/ @jenneron
device/*/device-google-damu/ @jenneron
device/*/u-boot-nyan-4gb/ @jenneron
device/*/device-google-kenzo/ @jenneron
device/*/device-google-kodama/ @jenneron
device/*/u-boot-snow/ @jenneron
device/*/device-google-kevin/ @jenneron
device/*/linux-postmarketos-exynos5/ @jenneron @Grimler
device/*/device-google-krane/ @jenneron
device/*/soc-mediatek-mt8183/ @jenneron
device/*/u-boot-veyron-minnie/ @jenneron
device/*/device-google-fennel14/ @jenneron
device/*/linux-google-nyan/ @jenneron
device/*/device-google-willow/ @jenneron
device/*/linux-postmarketos-mediatek-mt8173/ @jenneron
device/*/linux-postmarketos-mediatek-mt8183/ @jenneron @binarycraft
device/*/device-google-nyan-blaze/ @jenneron
device/*/firmware-powervr-gx6250/ @jenneron
device/*/device-google-hana/ @jenneron
device/*/device-google-snow/ @jenneron
device/*/device-google-kappa/ @jenneron
device/*/u-boot-nyan-2gb/ @jenneron
device/*/device-google-veyron-jerry/ @jenneron
device/*/device-google-kakadu/ @jenneron
device/*/firmware-google-veyron-brcm/ @jenneron
device/*/device-google-peach-pit/ @jenneron
device/*/device-lg-judyp/ @jenneron
device/*/device-asus-tf201/ @clamor95
device/*/device-asus-tf300t/ @clamor95
device/*/device-asus-tf300tg/ @clamor95
device/*/device-asus-tf700t/ @clamor95
device/*/device-lg-p895/ @clamor95
device/*/firmware-asus-transformer/ @clamor95 @jenneron
device/*/firmware-lg-x3/ @clamor95
device/*/linux-postmarketos-grate/ @clamor95 @jenneron
device/*/device-samsung-chagallwifi @Grimler
device/*/device-odroid-xu4 @Grimler
device/*/device-samsung-klimtlte @Grimler
device/*/linux-samsung-klimtlte @Grimler
device/*/firmware-odroid-xu4 @Grimler
device/*/linux-samsung-chagallwifi @Grimler
# vim: ts=4 sw=4 et
main/postmarketos-update-depthcharge-kernel/ @jenneron
main/osk-sdl/ @craftyguy
main/postmarketos-ui-plasma-mobile/ @bshah
main/ttyescape @calebccff
temp/u-boot-librem5/ @craftyguy @bshah
temp/alsa-ucm-conf-google-kukui/ @jenneron @binarycraft
temp/alsa-ucm-conf-google-gru/ @jenneron
device/*/*-videostrong-kii-pro/ @vitali64yt
device/*/*-amlogic-s905* @vitali64yt
device/*/linux-postmarketos-amlogic/ @vitali64yt @exkc
# vim: ts=8 sw=4 et
+89
View File
@@ -0,0 +1,89 @@
# Policy for commits in pmaports
This document defines policy for organising and titling commits for
inclusion in pmaports.
## Definitions
### Device-specific package
A device-specific package is used to apply configuration and
functionality specifically for device support in postmarketOS.
This is in contrast to other packages
(e.g. main/postmarketos-ui-phosh) in postmarketOS that are used
for configuring the distribution without consideration of the
target device.
## General policy
We follow Alpine's aports commit style with some minor exceptions
and additions. Alpine's commit style can be found here:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/COMMITSTYLE.md
## Exceptions
### Changes to packages inside of the device directory
While Alpine has the policy of always prefixing package names with
the name of the repository they are in, in the case of pmaports
this can lead to excessively long commit titles due to the nested
subfolders of the device directory. As such, commits changing
packages inside of the device directory should omit the directory
prefix, for example:
device-pine64-pinephone: description of change
Or:
soc-qcom-msm8996: description of change
If the commit only makes device-specific changes, the
commit title can opt to use the following format:
manufacturer-codename: description of change
### Moving devices between categories
As we do not include directory prefixes in device-related commits,
Alpine's commit style for moving packages does not apply. Instead,
we do the following:
manufacturer-codename: move from category to category
For example:
samsung-m0: move from testing to community
## Additions
### Forking packages from Alpine
Run `pmbootstrap aportgen --fork-alpine package` and modify it.
#### Template
- temp/package-name: fork from Alpine
Example: temp/pulseaudio: fork from Alpine
#### Rules
One commit per forked package.
### Adding new devices
Adding a new device package and optionally also a device-specific
Linux and firmware package.
#### Template
- manufacturer-codename: new device
Example: htc-m8qlul: new device
#### Rules
If the device has the option of making use of a device-specific
kernel and/or firmware package, those packages should be included
in the same commit that adds the device package. One device per
commit.
+2 -1
View File
@@ -5,4 +5,5 @@ Helpful resources:
* [APKBUILD reference](https://wiki.alpinelinux.org/wiki/APKBUILD_Reference)
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
* [postmarketOS commit style](./COMMITSTYLE.md)
+7 -1
View File
@@ -8,8 +8,14 @@ branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v22.06]
[v22.12]
description=Latest release / Recommended for best stability
branch_pmaports=v22.12
branch_aports=3.17-stable
mirrordir_alpine=v3.17
[v22.06]
description=Old release (unsupported)
branch_pmaports=v22.06
branch_aports=3.16-stable
mirrordir_alpine=v3.16
+8 -30
View File
@@ -7,23 +7,19 @@ CTARGET_ARCH=aarch64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-aarch64
pkgver=2.39
pkgrel=2
pkgver=2.40
pkgrel=5
pkgdesc="Tools necessary to build programs for aarch64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends_host="zlib-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ld-fix-static-linking.patch
gold-mips.patch
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
CVE-2022-38533.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -77,11 +73,6 @@ build() {
_gold_configure="--disable-gold"
fi
case "$CTARGET_ARCH" in
mips*) _hash_style_configure="--enable-default-hash-style=sysv" ;;
*) _hash_style_configure="--enable-default-hash-style=gnu" ;;
esac
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -102,7 +93,7 @@ build() {
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
@@ -126,30 +117,17 @@ package() {
fi
}
libs() {
pkgdesc="Runtime libraries from binutils - libbfd and libopcodes"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/ld.gold "$subpkgdir"/usr/bin
amove usr/bin/ld.gold
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
@@ -1,22 +0,0 @@
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Fcoffcode.h;h=52027981c3f052d98e043cd0c877f0bb5da97c7f;hp=67aaf158ca1829fe63f0065f31a0b1009b227b36;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hpb=80075150727d653c39e9d037e15c6b87dcef08cd
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 67aaf158ca1..52027981c3f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd,
rec = (bfd_byte *) location;
recend = rec + count;
- while (rec < recend)
+ while (recend - rec >= 4)
{
+ size_t len = bfd_get_32 (abfd, rec);
+ if (len == 0 || len > (size_t) (recend - rec) / 4)
+ break;
+ rec += len * 4;
++section->lma;
- rec += bfd_get_32 (abfd, rec) * 4;
}
BFD_ASSERT (rec == recend);
@@ -1,14 +0,0 @@
diff -urN binutils-2.35.2.orig/bfd/elfxx-mips.c binutils-2.35.2/bfd/elfxx-mips.c
--- binutils-2.35.2.orig/bfd/elfxx-mips.c 2021-01-30 01:38:03.000000000 -0700
+++ binutils-2.35.2/bfd/elfxx-mips.c 2021-05-13 17:35:34.706913601 -0600
@@ -6744,8 +6744,10 @@
in the relocation. */
if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
{
+#if 0
BFD_ASSERT (htab->root.target_os == is_vxworks
|| h->global_got_area != GGA_NONE);
+#endif
indx = h->root.dynindx;
if (SGI_COMPAT (output_bfd))
defined_p = h->root.def_regular;
-39
View File
@@ -1,39 +0,0 @@
# DP: Fix gold on mips64 targets.
gold/
2016-08-09 Aurelien Jarno <aurelien@aurel32.net>
* configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*.
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,13 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*el*-*-*|mips*64*le*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS_RS3_LE
+ targ_size=64
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
mips*el*-*-*|mips*le*-*-*)
targ_obj=mips
targ_machine=EM_MIPS_RS3_LE
@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_big_endian=true
+ targ_extra_big_endian=false
+ ;;
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
-19
View File
@@ -1,19 +0,0 @@
--- ./ld/configure.tgt.orig
+++ ./ld/configure.tgt
@@ -541,12 +541,12 @@
;;
mips*-*-windiss) targ_emul=elf32mipswindiss
;;
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
targ_extra_libpath=$targ_extra_emuls
;;
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+mips64*-*-linux-*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
targ_extra_libpath=$targ_extra_emuls
;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
+8 -30
View File
@@ -7,23 +7,19 @@ CTARGET_ARCH=armhf
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armhf
pkgver=2.39
pkgrel=2
pkgver=2.40
pkgrel=5
pkgdesc="Tools necessary to build programs for armhf targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends_host="zlib-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ld-fix-static-linking.patch
gold-mips.patch
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
CVE-2022-38533.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -77,11 +73,6 @@ build() {
_gold_configure="--disable-gold"
fi
case "$CTARGET_ARCH" in
mips*) _hash_style_configure="--enable-default-hash-style=sysv" ;;
*) _hash_style_configure="--enable-default-hash-style=gnu" ;;
esac
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -102,7 +93,7 @@ build() {
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
@@ -126,30 +117,17 @@ package() {
fi
}
libs() {
pkgdesc="Runtime libraries from binutils - libbfd and libopcodes"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/ld.gold "$subpkgdir"/usr/bin
amove usr/bin/ld.gold
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
-22
View File
@@ -1,22 +0,0 @@
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Fcoffcode.h;h=52027981c3f052d98e043cd0c877f0bb5da97c7f;hp=67aaf158ca1829fe63f0065f31a0b1009b227b36;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hpb=80075150727d653c39e9d037e15c6b87dcef08cd
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 67aaf158ca1..52027981c3f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd,
rec = (bfd_byte *) location;
recend = rec + count;
- while (rec < recend)
+ while (recend - rec >= 4)
{
+ size_t len = bfd_get_32 (abfd, rec);
+ if (len == 0 || len > (size_t) (recend - rec) / 4)
+ break;
+ rec += len * 4;
++section->lma;
- rec += bfd_get_32 (abfd, rec) * 4;
}
BFD_ASSERT (rec == recend);
@@ -1,14 +0,0 @@
diff -urN binutils-2.35.2.orig/bfd/elfxx-mips.c binutils-2.35.2/bfd/elfxx-mips.c
--- binutils-2.35.2.orig/bfd/elfxx-mips.c 2021-01-30 01:38:03.000000000 -0700
+++ binutils-2.35.2/bfd/elfxx-mips.c 2021-05-13 17:35:34.706913601 -0600
@@ -6744,8 +6744,10 @@
in the relocation. */
if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
{
+#if 0
BFD_ASSERT (htab->root.target_os == is_vxworks
|| h->global_got_area != GGA_NONE);
+#endif
indx = h->root.dynindx;
if (SGI_COMPAT (output_bfd))
defined_p = h->root.def_regular;
-39
View File
@@ -1,39 +0,0 @@
# DP: Fix gold on mips64 targets.
gold/
2016-08-09 Aurelien Jarno <aurelien@aurel32.net>
* configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*.
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,13 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*el*-*-*|mips*64*le*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS_RS3_LE
+ targ_size=64
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
mips*el*-*-*|mips*le*-*-*)
targ_obj=mips
targ_machine=EM_MIPS_RS3_LE
@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_big_endian=true
+ targ_extra_big_endian=false
+ ;;
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
-19
View File
@@ -1,19 +0,0 @@
--- ./ld/configure.tgt.orig
+++ ./ld/configure.tgt
@@ -541,12 +541,12 @@
;;
mips*-*-windiss) targ_emul=elf32mipswindiss
;;
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
targ_extra_libpath=$targ_extra_emuls
;;
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+mips64*-*-linux-*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
targ_extra_libpath=$targ_extra_emuls
;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
+8 -30
View File
@@ -7,23 +7,19 @@ CTARGET_ARCH=armv7
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armv7
pkgver=2.39
pkgrel=2
pkgver=2.40
pkgrel=5
pkgdesc="Tools necessary to build programs for armv7 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends_host="zlib-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ld-fix-static-linking.patch
gold-mips.patch
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
CVE-2022-38533.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -77,11 +73,6 @@ build() {
_gold_configure="--disable-gold"
fi
case "$CTARGET_ARCH" in
mips*) _hash_style_configure="--enable-default-hash-style=sysv" ;;
*) _hash_style_configure="--enable-default-hash-style=gnu" ;;
esac
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -102,7 +93,7 @@ build() {
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
@@ -126,30 +117,17 @@ package() {
fi
}
libs() {
pkgdesc="Runtime libraries from binutils - libbfd and libopcodes"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/ld.gold "$subpkgdir"/usr/bin
amove usr/bin/ld.gold
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
-22
View File
@@ -1,22 +0,0 @@
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Fcoffcode.h;h=52027981c3f052d98e043cd0c877f0bb5da97c7f;hp=67aaf158ca1829fe63f0065f31a0b1009b227b36;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hpb=80075150727d653c39e9d037e15c6b87dcef08cd
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 67aaf158ca1..52027981c3f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd,
rec = (bfd_byte *) location;
recend = rec + count;
- while (rec < recend)
+ while (recend - rec >= 4)
{
+ size_t len = bfd_get_32 (abfd, rec);
+ if (len == 0 || len > (size_t) (recend - rec) / 4)
+ break;
+ rec += len * 4;
++section->lma;
- rec += bfd_get_32 (abfd, rec) * 4;
}
BFD_ASSERT (rec == recend);
@@ -1,14 +0,0 @@
diff -urN binutils-2.35.2.orig/bfd/elfxx-mips.c binutils-2.35.2/bfd/elfxx-mips.c
--- binutils-2.35.2.orig/bfd/elfxx-mips.c 2021-01-30 01:38:03.000000000 -0700
+++ binutils-2.35.2/bfd/elfxx-mips.c 2021-05-13 17:35:34.706913601 -0600
@@ -6744,8 +6744,10 @@
in the relocation. */
if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
{
+#if 0
BFD_ASSERT (htab->root.target_os == is_vxworks
|| h->global_got_area != GGA_NONE);
+#endif
indx = h->root.dynindx;
if (SGI_COMPAT (output_bfd))
defined_p = h->root.def_regular;
-39
View File
@@ -1,39 +0,0 @@
# DP: Fix gold on mips64 targets.
gold/
2016-08-09 Aurelien Jarno <aurelien@aurel32.net>
* configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*.
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,13 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*el*-*-*|mips*64*le*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS_RS3_LE
+ targ_size=64
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
mips*el*-*-*|mips*le*-*-*)
targ_obj=mips
targ_machine=EM_MIPS_RS3_LE
@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_big_endian=true
+ targ_extra_big_endian=false
+ ;;
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
-19
View File
@@ -1,19 +0,0 @@
--- ./ld/configure.tgt.orig
+++ ./ld/configure.tgt
@@ -541,12 +541,12 @@
;;
mips*-*-windiss) targ_emul=elf32mipswindiss
;;
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
targ_extra_libpath=$targ_extra_emuls
;;
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+mips64*-*-linux-*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
targ_extra_libpath=$targ_extra_emuls
;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
@@ -0,0 +1,55 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
+133
View File
@@ -0,0 +1,133 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-riscv64
# Based on: main/binutils
CTARGET_ARCH=riscv64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-riscv64
pkgver=2.40
pkgrel=5
pkgdesc="Tools necessary to build programs for riscv64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ld-fix-static-linking.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--disable-multilib \
--disable-gprofng \
--enable-ld=default \
$_gold_configure \
--enable-64-bit-bfd \
$_plugin_configure \
--enable-relro \
--enable-deterministic-archives \
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
--with-mmap \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
amove usr/bin/ld.gold
fi
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
"
@@ -0,0 +1,46 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
+3 -3
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-aarch64
pkgver=1.35.0
pkgrel=27
pkgver=1.36.0
pkgrel=8
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
1df3f1400461a3b9c951be9bf4ade500af9b83b4a11025bb244224cee197753d95471a8373a2f5f45d343599f632629c005dc7eba2c3d558dfbcfa56063ed110 busybox-static-1.35.0-r27-aarch64-edge.apk
918c25a969447cc34a1c3d8176a3da560bc61d3b028206b08d0ef8cc1147756f0f8a2fff02a560a14062ddfffcbb264368502a0f24725992a5652ea0755ed24a busybox-static-1.36.0-r8-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.35.0
pkgrel=27
pkgver=1.36.0
pkgrel=8
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
cdc8cfb4e013ad0761d2417fba91f75221d97074705bcd4f8ae7a64d0badadff2340595b5d03ff0e5ca608f543ce85f4ba82820a4fd501ecb758d77432afcf90 busybox-static-1.35.0-r27-armhf-edge.apk
d6c6d8c34101406c7dd7a237a0b3201908a3180d95aa7905bc4c9bde88ea2427cc808a5456c49bd087ce9ed07cbeae9de62681b6cc98900d7ce66af5b73fc0c8 busybox-static-1.36.0-r8-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.35.0
pkgrel=27
pkgver=1.36.0
pkgrel=8
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
65678aa673f8fb11d0a68b7d22203ab9ce2795fb6b3d47c117f8cbecf61305316bb0b0de12812df5d7fe2febe0630fd6ca3961434ffe8051da6a0e194c133cb4 busybox-static-1.35.0-r27-armv7-edge.apk
b7ebdf31d92ebf6d4a5eebc57a9f9e4d5246e2e325999631bcad71e019e3f6be9ebc2e46ff085a92cee5cd7bb106964ca1f17fd69da47e7b0438bde592dbd830 busybox-static-1.36.0-r8-armv7-edge.apk
"
@@ -1,42 +1,101 @@
From 0631e2b9453b33c42e12a14c11e8257d470016c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:17:42 +0200
Subject: [PATCH] gcc-go: support libucontext
From ecc2a2e70e44fa76a75b12d0893bc1702b72a1b4 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Mon, 19 Dec 2022 10:37:06 -0800
Subject: [PATCH] libgo: check for makecontext in -lucontext
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch allows using gcc-go with libucontext. For this purpose,
it unconditionally links gcc-go against -lucontext. Furthermore,
it undefines SETCONTEXT_CLOBBERS_TLS in proc.c to prevent usage
of makecontext/swapcontext feature that are not support by libucontext.
Patch from Sören Tempel.
Change-Id: I74b4052cc7aca19224afd6d9a2739c3fae46b722
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
Makefile.in | 2 +-
libgo/runtime/proc.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
libgo/configure | 57 ++++++++++++++++++++++++++++++++++++++++++++++
libgo/configure.ac | 3 +++
2 files changed, 60 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 593495e1650..c3e5d489bc0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52801,7 +52801,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) \
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
diff --git a/libgo/configure b/libgo/configure
index 460fdad7..a607dbff 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14818,6 +14818,63 @@ fi
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
+$as_echo_n "checking for library containing makecontext... " >&6; }
+if ${ac_cv_search_makecontext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
#ifndef SETCONTEXT_CLOBBERS_TLS
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char makecontext ();
+int
+main ()
+{
+return makecontext ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' ucontext; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_makecontext=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_makecontext+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_makecontext+:} false; then :
+
+else
+ ac_cv_search_makecontext=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
+$as_echo "$ac_cv_search_makecontext" >&6; }
+ac_res=$ac_cv_search_makecontext
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 09554a37..a59aa091 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
static inline void
+dnl Test if -lucontext is required for makecontext.
+AC_SEARCH_LIBS([makecontext], [ucontext])
+
dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])
@@ -1,45 +1,204 @@
From 5093aa99f9cdded2e1ddf67b7139da6fac36b0a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 19 Apr 2021 07:21:41 +0200
Subject: [PATCH] Use generic errstr.go implementation on musl
From b3840bdcc0eee2a4d099a9af52199944ade7acb9 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Tue, 29 Nov 2022 17:28:44 -0800
Subject: [PATCH] syscall, runtime: always call XSI strerror_r
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
glibc provides two version of strerror_r() depending on a feature test
macro. The first is the XSI-compliant version which returns an int, the
second is GNU-specific and returns a char pointer.
This does the right thing for either glibc or musl on GNU/Linux.
Similarity, gcc's libgo provides two implementations of Errstr() both of
which use strerror_r(). On Linux, it is assumed that the GNU-specific
strerror_r version is used. However, musl only provides the
XSI-compliant version of strerror_r. This patch enables the generic
Errstr() implementation which also uses the XSI-compliant version of
strerror_r.
Based on patch by Sören Tempel.
Change-Id: If2969e131f0fae456d58b35d839d8abe191fcc59
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/454176
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Ian Lance Taylor <iant@google.com>
---
libgo/go/syscall/errstr.go | 1 -
libgo/go/syscall/errstr_glibc.go | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
libgo/Makefile.am | 1 +
libgo/Makefile.in | 6 +++++-
libgo/go/syscall/errstr.go | 22 ++++++++-----------
libgo/go/syscall/errstr_glibc.go | 33 ----------------------------
libgo/runtime/go-strerror.c | 37 ++++++++++++++++++++++++++++++++
5 files changed, 52 insertions(+), 47 deletions(-)
delete mode 100644 libgo/go/syscall/errstr_glibc.go
create mode 100644 libgo/runtime/go-strerror.c
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index e0a1eec5..df568743 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -465,6 +465,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 7bef5df9..f2f3f0fc 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -247,7 +247,7 @@ am__objects_4 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-fieldtrack.lo runtime/go-matherr.lo \
runtime/go-memclr.lo runtime/go-memmove.lo \
runtime/go-memequal.lo runtime/go-nanotime.lo \
- runtime/go-now.lo runtime/go-nosys.lo \
+ runtime/go-now.lo runtime/go-nosys.lo runtime/go-strerror.lo \
runtime/go-reflect-call.lo runtime/go-setenv.lo \
runtime/go-signal.lo runtime/go-unsafe-pointer.lo \
runtime/go-unsetenv.lo runtime/go-unwind.lo \
@@ -917,6 +917,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
@@ -1390,6 +1391,8 @@ runtime/go-now.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-nosys.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
+runtime/go-strerror.lo: runtime/$(am__dirstamp) \
+ runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-reflect-call.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-setenv.lo: runtime/$(am__dirstamp) \
@@ -1457,6 +1460,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-reflect-call.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-setenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-signal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-strerror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsafe-pointer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsetenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unwind.Plo@am__quote@
diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go
index 6c2441d364d..8f7c5538163 100644
index 6c2441d3..9f688e2a 100644
--- a/libgo/go/syscall/errstr.go
+++ b/libgo/go/syscall/errstr.go
@@ -5,7 +5,6 @@
@@ -4,23 +4,19 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !hurd
-// +build !hurd
-// +build !linux
-
package syscall
-//sysnb strerror_r(errnum int, buf []byte) (err Errno)
-//strerror_r(errnum _C_int, buf *byte, buflen Size_t) _C_int
+import "internal/bytealg"
+
+//extern go_strerror
+func go_strerror(_C_int, *byte, Size_t) _C_int
func Errstr(errnum int) string {
- for len := 128; ; len *= 2 {
- b := make([]byte, len)
- errno := strerror_r(errnum, b)
+ for size := 128; ; size *= 2 {
+ b := make([]byte, size)
+ errno := go_strerror(_C_int(errnum), &b[0], Size_t(len(b)))
if errno == 0 {
- i := 0
- for b[i] != 0 {
- i++
- }
+ i := bytealg.IndexByte(b, 0)
// Lowercase first letter: Bad -> bad, but
// STREAM -> STREAM.
if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
@@ -29,7 +25,7 @@ func Errstr(errnum int) string {
return string(b[:i])
}
if errno != ERANGE {
- return "errstr failure"
+ return "strerror_r failure"
}
}
}
diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go
index 5b19e6f202d..8dc60172186 100644
deleted file mode 100644
index 5b19e6f2..00000000
--- a/libgo/go/syscall/errstr_glibc.go
+++ b/libgo/go/syscall/errstr_glibc.go
@@ -7,7 +7,7 @@
// We use this rather than errstr.go because on GNU/Linux sterror_r
// returns a pointer to the error message, and may not use buf at all.
+++ /dev/null
@@ -1,33 +0,0 @@
-// errstr_glibc.go -- GNU/Linux and GNU/Hurd specific error strings.
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// We use this rather than errstr.go because on GNU/Linux sterror_r
-// returns a pointer to the error message, and may not use buf at all.
-
-// +build hurd linux
+// +build hurd !linux
package syscall
-
-package syscall
-
-import "unsafe"
-
-//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
-//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
-
-func Errstr(errnum int) string {
- a := make([]byte, 128)
- p := strerror_r(errnum, a)
- b := (*[1000]byte)(unsafe.Pointer(p))
- i := 0
- for b[i] != 0 {
- i++
- }
- // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
- if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
- c := b[0] + 'a' - 'A'
- return string(c) + string(b[1:i])
- }
- return string(b[:i])
-}
diff --git a/libgo/runtime/go-strerror.c b/libgo/runtime/go-strerror.c
new file mode 100644
index 00000000..13d1d91d
--- /dev/null
+++ b/libgo/runtime/go-strerror.c
@@ -0,0 +1,37 @@
+/* go-strerror.c -- wrapper around XSI-compliant strerror_r.
+
+ Copyright 2022 The Go Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style
+ license that can be found in the LICENSE file. */
+
+/* There are two version of strerror_r on GNU/Linux: a GNU-specific
+ and an XSI-compliant version. The former version is only available
+ on glibc. Since glibc 2.13, the XSI-compliant version is also
+ provided by glibc if _GNU_SOURCE is not defined. Since the
+ entirety of gofrontend is compiled with _GNU_SOURCE, this file
+ exists to selectively undefine it and provides an alias to the
+ XSI-compliant version of strerror_r(3). */
+
+#ifdef __linux__
+
+/* Force selection of XSI-compliant strerror_r by glibc. */
+#undef XOPEN_SOURCE
+#define XOPEN_SOURCE 600
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200112L
+#undef _GNU_SOURCE
+
+#endif /* __linux__ */
+
+#include <string.h>
+
+#ifndef HAVE_STRERROR_R
+// Provided by go-nosys.c if not provided by libc itself.
+extern int strerror_r (int, char *, size_t);
+#endif
+
+int
+go_strerror (int errnum, char *buf, size_t buflen)
+{
+ return strerror_r (errnum, buf, buflen);
+}
@@ -1,22 +1,26 @@
From 4b6240d5301ce04b8bbc3e2152915cbc7da80584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Wed, 28 Sep 2022 17:30:14 +0200
Subject: [PATCH] libgo: use _off_t for mmap offset argument
From 5e658f4659c551330ea68f5667e4f951b218f32d Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Wed, 26 Oct 2022 17:23:42 -0700
Subject: [PATCH] runtime: use _libgo_off_t_type when calling C mmap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On glibc-based systems, off_t is a 32-bit type on 32-bit systems and a
64-bit type on 64-bit systems by default. However, on systems using musl
libc off_t is unconditionally a 64-bit type. As such, it is insufficient
to use a uintptr type for the mmap offset parameter.
The last argument to the C mmap function is type off_t, not uintptr.
On some 32-bit systems, off_t is larger than uintptr.
Presently, the (incorrect) mmap declaration causes a libgo run-time
failure on 32-bit musl systems (fatal error: runtime: cannot allocate
memory). This commit fixes this run-time error.
Based on patch by Sören Tempel.
Change-Id: Ib6f9d5bcd4734f99a72889e2282b97ec3c8fbd34
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/445735
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/go/runtime/mem_gccgo.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
libgo/go/runtime/mem_gccgo.go | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go
index fa3389d8..07bf325a 100644
index fa3389d8..1e84f4f5 100644
--- a/libgo/go/runtime/mem_gccgo.go
+++ b/libgo/go/runtime/mem_gccgo.go
@@ -15,7 +15,7 @@ import (
@@ -24,7 +28,7 @@ index fa3389d8..07bf325a 100644
//extern mmap
-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _off_t) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _libgo_off_t_type) unsafe.Pointer
//extern munmap
func munmap(addr unsafe.Pointer, length uintptr) int32
@@ -33,7 +37,23 @@ index fa3389d8..07bf325a 100644
func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
- p := sysMmap(addr, n, prot, flags, fd, off)
+ p := sysMmap(addr, n, prot, flags, fd, _off_t(off))
+ p := sysMmap(addr, n, prot, flags, fd, _libgo_off_t_type(off))
if uintptr(p) == _MAP_FAILED {
return nil, errno()
}
@@ -47,6 +47,7 @@ func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (u
// Don't split the stack as this method may be invoked without a valid G, which
// prevents us from allocating more stack.
+//
//go:nosplit
func sysAlloc(n uintptr, sysStat *sysMemStat) unsafe.Pointer {
p, err := mmap(nil, n, _PROT_READ|_PROT_WRITE, _MAP_ANON|_MAP_PRIVATE, mmapFD, 0)
@@ -165,6 +166,7 @@ func sysHugePage(v unsafe.Pointer, n uintptr) {
// Don't split the stack as this function may be invoked without a valid G,
// which prevents us from allocating more stack.
+//
//go:nosplit
func sysFree(v unsafe.Pointer, n uintptr, sysStat *sysMemStat) {
sysStat.add(-int64(n))
@@ -0,0 +1,65 @@
From 7b8400f902ef25ea71ed460716c1afedca357a61 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 2 Nov 2022 12:31:36 +0100
Subject: [PATCH] libphobos: fix undefined reference to `__cmsg_nxthdr' with
musl
Ported fix from upstream.
Upstream: https://github.com/dlang/dmd/commit/54544260a848c8ebad5582e27ac1e09627cdfb17
Bug-URL: https://issues.dlang.org/show_bug.cgi?id=23157
---
.../libdruntime/core/sys/posix/sys/socket.d | 36 +++++++++++++++++--
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/socket.d b/libphobos/libdruntime/core/sys/posix/sys/socket.d
index c1309a68c9c..e3b536d87e7 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/socket.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/socket.d
@@ -188,10 +188,40 @@ version (linux)
extern (D) inout(ubyte)* CMSG_DATA( return scope inout(cmsghdr)* cmsg ) pure nothrow @nogc { return cast(ubyte*)( cmsg + 1 ); }
- private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
- extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ version (CRuntime_Musl)
{
- return __cmsg_nxthdr(msg, cmsg);
+ extern (D)
+ {
+ private size_t __CMSG_LEN(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return (cmsg.cmsg_len + size_t.sizeof -1) & cast(size_t)(~(size_t.sizeof - 1));
+ }
+
+ private inout(cmsghdr)* __CMSG_NEXT(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg + __CMSG_LEN(cmsg);
+ }
+
+ private inout(msghdr)* __MHDR_END(inout(msghdr)* mhdr) pure nothrow @nogc
+ {
+ return cast(inout(msghdr)*)(mhdr.msg_control + mhdr.msg_controllen);
+ }
+
+ inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg.cmsg_len < cmsghdr.sizeof ||
+ __CMSG_LEN(cmsg) + cmsghdr.sizeof >= __MHDR_END(msg) - cast(inout(msghdr)*)(cmsg)
+ ? cast(inout(cmsghdr)*) null : cast(inout(cmsghdr)*) __CMSG_NEXT(cmsg);
+ }
+ }
+ }
+ else
+ {
+ private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
+ extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return __cmsg_nxthdr(msg, cmsg);
+ }
}
extern (D) inout(cmsghdr)* CMSG_FIRSTHDR( inout(msghdr)* mhdr ) pure nothrow @nogc
--
2.38.1
+20 -20
View File
@@ -10,7 +10,7 @@ LANG_JAVA=false
LANG_GO=false
LANG_FORTRAN=false
LANG_ADA=false
options="!strip !tracedeps"
options="!strip"
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
# when this variable matches "no*"
@@ -26,20 +26,21 @@ _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-aarch64
_pkgbase=12.2.1 # must match gcc/BASE-VER
_pkgsnap=20220924
pkgver=${_pkgbase}_git${_pkgsnap}
pkgver=${_pkgbase}_git$_pkgsnap
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=2
pkgrel=10
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later LGPL-2.1-or-later"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-aarch64 mpc1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
# XXX: build hack to upgrade live on builders
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-doc$_target"
@@ -212,7 +213,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://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -258,10 +259,11 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0053-libgo-make-match.sh-POSIX-shell-compatible.patch
0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-${_pkgsnap}
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -322,10 +324,9 @@ build() {
case "$CTARGET_LIBC" in
musl)
# musl does not support mudflap, or libsanitizer
# libmpx uses secure_getenv and struct _libc_fpstate not present 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-libmpx --disable-libmudflap --disable-libsanitizer"
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
@@ -366,9 +367,9 @@ build() {
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--build=${CBUILD}
--host=${CHOST}
--target=${CTARGET}
--build=$CBUILD
--host=$CHOST
--target=$CTARGET
--enable-checking=release
--disable-fixed-point
--disable-libstdcxx-pch
@@ -379,7 +380,6 @@ build() {
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
--enable-cloog-backend
--enable-languages=$_languages
$_arch_configure
$_libc_configure
@@ -435,12 +435,11 @@ package() {
# strip debug info from some static libs
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgphobos.a -o -name libgdruntime.a \
-o -name libmudflap.a -o -name libmudflapth.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
-a -type f \
-exec ${STRIP_FOR_TARGET} -g {} +
-exec $STRIP_FOR_TARGET -g {} +
if $_libgomp; then
mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir
@@ -657,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -667,8 +665,9 @@ libgo() {
}
go() {
pkgdesc="Go support for GCC"
pkgdesc="GCC Go frontend (intended for bootstrapping community/go)"
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
# See https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E
provides="go-bootstrap"
@@ -795,12 +794,12 @@ b40d7e4712c035674c993bbb55475290ec14523b3f0fd05493514bac4e9adaa6641faf815fc40ffc
674360ce2ee9f704d0632cc98756f9fe8dd8ca30064fb9d3423b437f7e679c1c51e765b15e535dcb278cd2769583690acb3395b91e4fd5f6f4e3b97879fcc313 0027-always-build-libgcc_eh.a.patch
f060687adcd5297124e4000f1ba1e3fd5d7d124da04d948cbd0d4a6c69a90a2b29a4a0dbbe13a83ab6950724f434de012b681bdbcdf53c0100b40fe3d00f2f2f 0028-ada-libgnarl-compatibility-for-musl.patch
5160bae68e20a1966c1f6d655ee98af759e9b9ee842718ae6007d467b418e1cf3b307528a0841477b5259671ce868521b06c0f2e947b7b8f3a398c53dd978252 0029-ada-musl-support-fixes.patch
3c04b26554a78096296ca9542c77a91219bd26044dd2cb2006db4c1944889a97c215900b3828ba7e8c675162406db543605a815bdfbd915bf810663b1b253bdd 0033-gcc-go-link-to-libucontext.patch
699dc3641099da6136dd3689f06c6553c03b3a85acf83a3fce1beb5425065b3e378535ca9e9100a120fdbafc34871d61c063fd5328a49cd87a15a989ed51706d 0034-Use-generic-errstr.go-implementation-on-musl.patch
72631fbef4843d6ada52f3173b257e027605866a3faf1d8e34438cbf2581952f97bf6f9569ee44fcd7c4b3b337612eaeb0612fb2e6451903f219e4d99bf719db 0033-gcc-go-link-to-libucontext.patch
141c0428f988cbd102000d4db8d4150485f6da5c064469493ea378cd579bed99330658f41fe106c0d07d1c1aa436ec3f864403ed1ba79f791a1d727b42d46910 0034-Use-generic-errstr.go-implementation-on-musl.patch
d9ba710f770e053c8f212e821817c188091a829658050b9ab5906388553ec60fec37943ea43c270e92a9014902949f3c98fc4639032d92b8145b375bb29e193e 0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
ab90d8fdd977d6cd3da096a1c76d77be3e89a020b2127247771711a32eb608cceed21834ef488ab4b69bb0f408b098fdfb61630819e3d1a1e57d5af67800ee74 0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
8bc6823f0b3c66f7b73d7ddb64ffa6930463285c2e9a14a2bc1882bcc4271144eaa1107d713294699caf9481648163cbf43921a2b8e4ac0d55c78a804bae8a3d 0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
e9699f4721778869eb3a8fef2c679208ef5b98584892f30b0e1cb5dc1669f8158198d7792659b1b56c381baf62247d21990dcced9178547affd5d6bfb2d12548 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
f0744c01859e67deed404c97e1870b2876935fdc467e51980373744936574c314d5d21134734c5d515e7f3cd3483ef98045b9bbcd81c568c6038fac96ffb5fa0 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
d6dc1bfb881a313d167aaa5658790b0f55eea4336c408cfc6613dd5783440dafd0d37c43031a5f3e69be40f632e38371cd4fb6e5f0494ac4ea4d7d5025d2ae02 0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
684c6a6d52512b973429b6e709966439ac1e174f9e79a33d4a638b452245b457b34752b4b4034ba983f6a712f86522e7adf715bab00a6603f64a12139c5b1e39 0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
25014dfa99d96ee70ce0ad22e9f7974f0a51cc50b3b9c2db49df50774c8cd29e497ceed120486bee50be83bfb07f2009ed310eb9b0543f2795bd7359b87eadd2 0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
@@ -811,4 +810,5 @@ c33ca2553642c2dbd1c65cd97046548f08775785a3db06d761e3bbe61398c37bc382fe132c0c3fa2
c82d7c8d340a76df3d796565a79b0ccc04ddffef39927620e1f3719bf2dc1db101ba13aef24b46c5bc95b7bf1e31c8bda4ab0936ba4c9c5e5047ba08826c982c 0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
eb403d8ea665fd5dc2c11faf43b055e6a3bf480a397ceee3e0ca1e38ec7d2392315f2694ed9a34ffbc99e464f2873fbbf91be8646ea4dea5d3636e3ea22fefa0 0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
22fb6edf1ed0387e2b93839ffe6e82a7fee420950af90e91199c3488d966702fdeb1a3396d22be0c73a4051525da9349c93d070a0d83b724c83f2b268da6483f 0053-libgo-make-match.sh-POSIX-shell-compatible.patch
9b74d0a0e4140b597708a295bcf51b93944782698470e2ba9bc0f0d4a830fc418da9624eccc85f3d65ff6d50b8ebf40cecd34d5b045db9e6c29614e981e93f92 0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
cat 1>&2 <<EOF
*
* gcc-go is used in Alpine for bootstrapping Go.
* It is currently discouraged to use it for other purposes.
*
EOF
@@ -1,42 +1,101 @@
From 0631e2b9453b33c42e12a14c11e8257d470016c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:17:42 +0200
Subject: [PATCH] gcc-go: support libucontext
From ecc2a2e70e44fa76a75b12d0893bc1702b72a1b4 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Mon, 19 Dec 2022 10:37:06 -0800
Subject: [PATCH] libgo: check for makecontext in -lucontext
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch allows using gcc-go with libucontext. For this purpose,
it unconditionally links gcc-go against -lucontext. Furthermore,
it undefines SETCONTEXT_CLOBBERS_TLS in proc.c to prevent usage
of makecontext/swapcontext feature that are not support by libucontext.
Patch from Sören Tempel.
Change-Id: I74b4052cc7aca19224afd6d9a2739c3fae46b722
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
Makefile.in | 2 +-
libgo/runtime/proc.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
libgo/configure | 57 ++++++++++++++++++++++++++++++++++++++++++++++
libgo/configure.ac | 3 +++
2 files changed, 60 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 593495e1650..c3e5d489bc0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52801,7 +52801,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) \
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
diff --git a/libgo/configure b/libgo/configure
index 460fdad7..a607dbff 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14818,6 +14818,63 @@ fi
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
+$as_echo_n "checking for library containing makecontext... " >&6; }
+if ${ac_cv_search_makecontext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
#ifndef SETCONTEXT_CLOBBERS_TLS
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char makecontext ();
+int
+main ()
+{
+return makecontext ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' ucontext; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_makecontext=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_makecontext+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_makecontext+:} false; then :
+
+else
+ ac_cv_search_makecontext=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
+$as_echo "$ac_cv_search_makecontext" >&6; }
+ac_res=$ac_cv_search_makecontext
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 09554a37..a59aa091 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
static inline void
+dnl Test if -lucontext is required for makecontext.
+AC_SEARCH_LIBS([makecontext], [ucontext])
+
dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])
@@ -1,45 +1,204 @@
From 5093aa99f9cdded2e1ddf67b7139da6fac36b0a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 19 Apr 2021 07:21:41 +0200
Subject: [PATCH] Use generic errstr.go implementation on musl
From b3840bdcc0eee2a4d099a9af52199944ade7acb9 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Tue, 29 Nov 2022 17:28:44 -0800
Subject: [PATCH] syscall, runtime: always call XSI strerror_r
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
glibc provides two version of strerror_r() depending on a feature test
macro. The first is the XSI-compliant version which returns an int, the
second is GNU-specific and returns a char pointer.
This does the right thing for either glibc or musl on GNU/Linux.
Similarity, gcc's libgo provides two implementations of Errstr() both of
which use strerror_r(). On Linux, it is assumed that the GNU-specific
strerror_r version is used. However, musl only provides the
XSI-compliant version of strerror_r. This patch enables the generic
Errstr() implementation which also uses the XSI-compliant version of
strerror_r.
Based on patch by Sören Tempel.
Change-Id: If2969e131f0fae456d58b35d839d8abe191fcc59
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/454176
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Ian Lance Taylor <iant@google.com>
---
libgo/go/syscall/errstr.go | 1 -
libgo/go/syscall/errstr_glibc.go | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
libgo/Makefile.am | 1 +
libgo/Makefile.in | 6 +++++-
libgo/go/syscall/errstr.go | 22 ++++++++-----------
libgo/go/syscall/errstr_glibc.go | 33 ----------------------------
libgo/runtime/go-strerror.c | 37 ++++++++++++++++++++++++++++++++
5 files changed, 52 insertions(+), 47 deletions(-)
delete mode 100644 libgo/go/syscall/errstr_glibc.go
create mode 100644 libgo/runtime/go-strerror.c
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index e0a1eec5..df568743 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -465,6 +465,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 7bef5df9..f2f3f0fc 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -247,7 +247,7 @@ am__objects_4 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-fieldtrack.lo runtime/go-matherr.lo \
runtime/go-memclr.lo runtime/go-memmove.lo \
runtime/go-memequal.lo runtime/go-nanotime.lo \
- runtime/go-now.lo runtime/go-nosys.lo \
+ runtime/go-now.lo runtime/go-nosys.lo runtime/go-strerror.lo \
runtime/go-reflect-call.lo runtime/go-setenv.lo \
runtime/go-signal.lo runtime/go-unsafe-pointer.lo \
runtime/go-unsetenv.lo runtime/go-unwind.lo \
@@ -917,6 +917,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
@@ -1390,6 +1391,8 @@ runtime/go-now.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-nosys.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
+runtime/go-strerror.lo: runtime/$(am__dirstamp) \
+ runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-reflect-call.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-setenv.lo: runtime/$(am__dirstamp) \
@@ -1457,6 +1460,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-reflect-call.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-setenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-signal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-strerror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsafe-pointer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsetenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unwind.Plo@am__quote@
diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go
index 6c2441d364d..8f7c5538163 100644
index 6c2441d3..9f688e2a 100644
--- a/libgo/go/syscall/errstr.go
+++ b/libgo/go/syscall/errstr.go
@@ -5,7 +5,6 @@
@@ -4,23 +4,19 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !hurd
-// +build !hurd
-// +build !linux
-
package syscall
-//sysnb strerror_r(errnum int, buf []byte) (err Errno)
-//strerror_r(errnum _C_int, buf *byte, buflen Size_t) _C_int
+import "internal/bytealg"
+
+//extern go_strerror
+func go_strerror(_C_int, *byte, Size_t) _C_int
func Errstr(errnum int) string {
- for len := 128; ; len *= 2 {
- b := make([]byte, len)
- errno := strerror_r(errnum, b)
+ for size := 128; ; size *= 2 {
+ b := make([]byte, size)
+ errno := go_strerror(_C_int(errnum), &b[0], Size_t(len(b)))
if errno == 0 {
- i := 0
- for b[i] != 0 {
- i++
- }
+ i := bytealg.IndexByte(b, 0)
// Lowercase first letter: Bad -> bad, but
// STREAM -> STREAM.
if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
@@ -29,7 +25,7 @@ func Errstr(errnum int) string {
return string(b[:i])
}
if errno != ERANGE {
- return "errstr failure"
+ return "strerror_r failure"
}
}
}
diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go
index 5b19e6f202d..8dc60172186 100644
deleted file mode 100644
index 5b19e6f2..00000000
--- a/libgo/go/syscall/errstr_glibc.go
+++ b/libgo/go/syscall/errstr_glibc.go
@@ -7,7 +7,7 @@
// We use this rather than errstr.go because on GNU/Linux sterror_r
// returns a pointer to the error message, and may not use buf at all.
+++ /dev/null
@@ -1,33 +0,0 @@
-// errstr_glibc.go -- GNU/Linux and GNU/Hurd specific error strings.
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// We use this rather than errstr.go because on GNU/Linux sterror_r
-// returns a pointer to the error message, and may not use buf at all.
-
-// +build hurd linux
+// +build hurd !linux
package syscall
-
-package syscall
-
-import "unsafe"
-
-//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
-//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
-
-func Errstr(errnum int) string {
- a := make([]byte, 128)
- p := strerror_r(errnum, a)
- b := (*[1000]byte)(unsafe.Pointer(p))
- i := 0
- for b[i] != 0 {
- i++
- }
- // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
- if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
- c := b[0] + 'a' - 'A'
- return string(c) + string(b[1:i])
- }
- return string(b[:i])
-}
diff --git a/libgo/runtime/go-strerror.c b/libgo/runtime/go-strerror.c
new file mode 100644
index 00000000..13d1d91d
--- /dev/null
+++ b/libgo/runtime/go-strerror.c
@@ -0,0 +1,37 @@
+/* go-strerror.c -- wrapper around XSI-compliant strerror_r.
+
+ Copyright 2022 The Go Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style
+ license that can be found in the LICENSE file. */
+
+/* There are two version of strerror_r on GNU/Linux: a GNU-specific
+ and an XSI-compliant version. The former version is only available
+ on glibc. Since glibc 2.13, the XSI-compliant version is also
+ provided by glibc if _GNU_SOURCE is not defined. Since the
+ entirety of gofrontend is compiled with _GNU_SOURCE, this file
+ exists to selectively undefine it and provides an alias to the
+ XSI-compliant version of strerror_r(3). */
+
+#ifdef __linux__
+
+/* Force selection of XSI-compliant strerror_r by glibc. */
+#undef XOPEN_SOURCE
+#define XOPEN_SOURCE 600
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200112L
+#undef _GNU_SOURCE
+
+#endif /* __linux__ */
+
+#include <string.h>
+
+#ifndef HAVE_STRERROR_R
+// Provided by go-nosys.c if not provided by libc itself.
+extern int strerror_r (int, char *, size_t);
+#endif
+
+int
+go_strerror (int errnum, char *buf, size_t buflen)
+{
+ return strerror_r (errnum, buf, buflen);
+}
@@ -1,22 +1,26 @@
From 4b6240d5301ce04b8bbc3e2152915cbc7da80584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Wed, 28 Sep 2022 17:30:14 +0200
Subject: [PATCH] libgo: use _off_t for mmap offset argument
From 5e658f4659c551330ea68f5667e4f951b218f32d Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Wed, 26 Oct 2022 17:23:42 -0700
Subject: [PATCH] runtime: use _libgo_off_t_type when calling C mmap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On glibc-based systems, off_t is a 32-bit type on 32-bit systems and a
64-bit type on 64-bit systems by default. However, on systems using musl
libc off_t is unconditionally a 64-bit type. As such, it is insufficient
to use a uintptr type for the mmap offset parameter.
The last argument to the C mmap function is type off_t, not uintptr.
On some 32-bit systems, off_t is larger than uintptr.
Presently, the (incorrect) mmap declaration causes a libgo run-time
failure on 32-bit musl systems (fatal error: runtime: cannot allocate
memory). This commit fixes this run-time error.
Based on patch by Sören Tempel.
Change-Id: Ib6f9d5bcd4734f99a72889e2282b97ec3c8fbd34
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/445735
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/go/runtime/mem_gccgo.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
libgo/go/runtime/mem_gccgo.go | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go
index fa3389d8..07bf325a 100644
index fa3389d8..1e84f4f5 100644
--- a/libgo/go/runtime/mem_gccgo.go
+++ b/libgo/go/runtime/mem_gccgo.go
@@ -15,7 +15,7 @@ import (
@@ -24,7 +28,7 @@ index fa3389d8..07bf325a 100644
//extern mmap
-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _off_t) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _libgo_off_t_type) unsafe.Pointer
//extern munmap
func munmap(addr unsafe.Pointer, length uintptr) int32
@@ -33,7 +37,23 @@ index fa3389d8..07bf325a 100644
func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
- p := sysMmap(addr, n, prot, flags, fd, off)
+ p := sysMmap(addr, n, prot, flags, fd, _off_t(off))
+ p := sysMmap(addr, n, prot, flags, fd, _libgo_off_t_type(off))
if uintptr(p) == _MAP_FAILED {
return nil, errno()
}
@@ -47,6 +47,7 @@ func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (u
// Don't split the stack as this method may be invoked without a valid G, which
// prevents us from allocating more stack.
+//
//go:nosplit
func sysAlloc(n uintptr, sysStat *sysMemStat) unsafe.Pointer {
p, err := mmap(nil, n, _PROT_READ|_PROT_WRITE, _MAP_ANON|_MAP_PRIVATE, mmapFD, 0)
@@ -165,6 +166,7 @@ func sysHugePage(v unsafe.Pointer, n uintptr) {
// Don't split the stack as this function may be invoked without a valid G,
// which prevents us from allocating more stack.
+//
//go:nosplit
func sysFree(v unsafe.Pointer, n uintptr, sysStat *sysMemStat) {
sysStat.add(-int64(n))
@@ -0,0 +1,65 @@
From 7b8400f902ef25ea71ed460716c1afedca357a61 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 2 Nov 2022 12:31:36 +0100
Subject: [PATCH] libphobos: fix undefined reference to `__cmsg_nxthdr' with
musl
Ported fix from upstream.
Upstream: https://github.com/dlang/dmd/commit/54544260a848c8ebad5582e27ac1e09627cdfb17
Bug-URL: https://issues.dlang.org/show_bug.cgi?id=23157
---
.../libdruntime/core/sys/posix/sys/socket.d | 36 +++++++++++++++++--
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/socket.d b/libphobos/libdruntime/core/sys/posix/sys/socket.d
index c1309a68c9c..e3b536d87e7 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/socket.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/socket.d
@@ -188,10 +188,40 @@ version (linux)
extern (D) inout(ubyte)* CMSG_DATA( return scope inout(cmsghdr)* cmsg ) pure nothrow @nogc { return cast(ubyte*)( cmsg + 1 ); }
- private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
- extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ version (CRuntime_Musl)
{
- return __cmsg_nxthdr(msg, cmsg);
+ extern (D)
+ {
+ private size_t __CMSG_LEN(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return (cmsg.cmsg_len + size_t.sizeof -1) & cast(size_t)(~(size_t.sizeof - 1));
+ }
+
+ private inout(cmsghdr)* __CMSG_NEXT(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg + __CMSG_LEN(cmsg);
+ }
+
+ private inout(msghdr)* __MHDR_END(inout(msghdr)* mhdr) pure nothrow @nogc
+ {
+ return cast(inout(msghdr)*)(mhdr.msg_control + mhdr.msg_controllen);
+ }
+
+ inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg.cmsg_len < cmsghdr.sizeof ||
+ __CMSG_LEN(cmsg) + cmsghdr.sizeof >= __MHDR_END(msg) - cast(inout(msghdr)*)(cmsg)
+ ? cast(inout(cmsghdr)*) null : cast(inout(cmsghdr)*) __CMSG_NEXT(cmsg);
+ }
+ }
+ }
+ else
+ {
+ private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
+ extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return __cmsg_nxthdr(msg, cmsg);
+ }
}
extern (D) inout(cmsghdr)* CMSG_FIRSTHDR( inout(msghdr)* mhdr ) pure nothrow @nogc
--
2.38.1
+20 -20
View File
@@ -10,7 +10,7 @@ LANG_JAVA=false
LANG_GO=false
LANG_FORTRAN=false
LANG_ADA=false
options="!strip !tracedeps"
options="!strip"
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
# when this variable matches "no*"
@@ -26,20 +26,21 @@ _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-armhf
_pkgbase=12.2.1 # must match gcc/BASE-VER
_pkgsnap=20220924
pkgver=${_pkgbase}_git${_pkgsnap}
pkgver=${_pkgbase}_git$_pkgsnap
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armhf
pkgrel=2
pkgrel=10
pkgdesc="Stage2 cross-compiler for armhf"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later LGPL-2.1-or-later"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-armhf mpc1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
# XXX: build hack to upgrade live on builders
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-doc$_target"
@@ -212,7 +213,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://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -258,10 +259,11 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0053-libgo-make-match.sh-POSIX-shell-compatible.patch
0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-${_pkgsnap}
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -322,10 +324,9 @@ build() {
case "$CTARGET_LIBC" in
musl)
# musl does not support mudflap, or libsanitizer
# libmpx uses secure_getenv and struct _libc_fpstate not present 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-libmpx --disable-libmudflap --disable-libsanitizer"
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
@@ -366,9 +367,9 @@ build() {
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--build=${CBUILD}
--host=${CHOST}
--target=${CTARGET}
--build=$CBUILD
--host=$CHOST
--target=$CTARGET
--enable-checking=release
--disable-fixed-point
--disable-libstdcxx-pch
@@ -379,7 +380,6 @@ build() {
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
--enable-cloog-backend
--enable-languages=$_languages
$_arch_configure
$_libc_configure
@@ -435,12 +435,11 @@ package() {
# strip debug info from some static libs
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgphobos.a -o -name libgdruntime.a \
-o -name libmudflap.a -o -name libmudflapth.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
-a -type f \
-exec ${STRIP_FOR_TARGET} -g {} +
-exec $STRIP_FOR_TARGET -g {} +
if $_libgomp; then
mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir
@@ -657,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -667,8 +665,9 @@ libgo() {
}
go() {
pkgdesc="Go support for GCC"
pkgdesc="GCC Go frontend (intended for bootstrapping community/go)"
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
# See https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E
provides="go-bootstrap"
@@ -795,12 +794,12 @@ b40d7e4712c035674c993bbb55475290ec14523b3f0fd05493514bac4e9adaa6641faf815fc40ffc
674360ce2ee9f704d0632cc98756f9fe8dd8ca30064fb9d3423b437f7e679c1c51e765b15e535dcb278cd2769583690acb3395b91e4fd5f6f4e3b97879fcc313 0027-always-build-libgcc_eh.a.patch
f060687adcd5297124e4000f1ba1e3fd5d7d124da04d948cbd0d4a6c69a90a2b29a4a0dbbe13a83ab6950724f434de012b681bdbcdf53c0100b40fe3d00f2f2f 0028-ada-libgnarl-compatibility-for-musl.patch
5160bae68e20a1966c1f6d655ee98af759e9b9ee842718ae6007d467b418e1cf3b307528a0841477b5259671ce868521b06c0f2e947b7b8f3a398c53dd978252 0029-ada-musl-support-fixes.patch
3c04b26554a78096296ca9542c77a91219bd26044dd2cb2006db4c1944889a97c215900b3828ba7e8c675162406db543605a815bdfbd915bf810663b1b253bdd 0033-gcc-go-link-to-libucontext.patch
699dc3641099da6136dd3689f06c6553c03b3a85acf83a3fce1beb5425065b3e378535ca9e9100a120fdbafc34871d61c063fd5328a49cd87a15a989ed51706d 0034-Use-generic-errstr.go-implementation-on-musl.patch
72631fbef4843d6ada52f3173b257e027605866a3faf1d8e34438cbf2581952f97bf6f9569ee44fcd7c4b3b337612eaeb0612fb2e6451903f219e4d99bf719db 0033-gcc-go-link-to-libucontext.patch
141c0428f988cbd102000d4db8d4150485f6da5c064469493ea378cd579bed99330658f41fe106c0d07d1c1aa436ec3f864403ed1ba79f791a1d727b42d46910 0034-Use-generic-errstr.go-implementation-on-musl.patch
d9ba710f770e053c8f212e821817c188091a829658050b9ab5906388553ec60fec37943ea43c270e92a9014902949f3c98fc4639032d92b8145b375bb29e193e 0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
ab90d8fdd977d6cd3da096a1c76d77be3e89a020b2127247771711a32eb608cceed21834ef488ab4b69bb0f408b098fdfb61630819e3d1a1e57d5af67800ee74 0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
8bc6823f0b3c66f7b73d7ddb64ffa6930463285c2e9a14a2bc1882bcc4271144eaa1107d713294699caf9481648163cbf43921a2b8e4ac0d55c78a804bae8a3d 0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
e9699f4721778869eb3a8fef2c679208ef5b98584892f30b0e1cb5dc1669f8158198d7792659b1b56c381baf62247d21990dcced9178547affd5d6bfb2d12548 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
f0744c01859e67deed404c97e1870b2876935fdc467e51980373744936574c314d5d21134734c5d515e7f3cd3483ef98045b9bbcd81c568c6038fac96ffb5fa0 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
d6dc1bfb881a313d167aaa5658790b0f55eea4336c408cfc6613dd5783440dafd0d37c43031a5f3e69be40f632e38371cd4fb6e5f0494ac4ea4d7d5025d2ae02 0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
684c6a6d52512b973429b6e709966439ac1e174f9e79a33d4a638b452245b457b34752b4b4034ba983f6a712f86522e7adf715bab00a6603f64a12139c5b1e39 0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
25014dfa99d96ee70ce0ad22e9f7974f0a51cc50b3b9c2db49df50774c8cd29e497ceed120486bee50be83bfb07f2009ed310eb9b0543f2795bd7359b87eadd2 0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
@@ -811,4 +810,5 @@ c33ca2553642c2dbd1c65cd97046548f08775785a3db06d761e3bbe61398c37bc382fe132c0c3fa2
c82d7c8d340a76df3d796565a79b0ccc04ddffef39927620e1f3719bf2dc1db101ba13aef24b46c5bc95b7bf1e31c8bda4ab0936ba4c9c5e5047ba08826c982c 0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
eb403d8ea665fd5dc2c11faf43b055e6a3bf480a397ceee3e0ca1e38ec7d2392315f2694ed9a34ffbc99e464f2873fbbf91be8646ea4dea5d3636e3ea22fefa0 0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
22fb6edf1ed0387e2b93839ffe6e82a7fee420950af90e91199c3488d966702fdeb1a3396d22be0c73a4051525da9349c93d070a0d83b724c83f2b268da6483f 0053-libgo-make-match.sh-POSIX-shell-compatible.patch
9b74d0a0e4140b597708a295bcf51b93944782698470e2ba9bc0f0d4a830fc418da9624eccc85f3d65ff6d50b8ebf40cecd34d5b045db9e6c29614e981e93f92 0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
cat 1>&2 <<EOF
*
* gcc-go is used in Alpine for bootstrapping Go.
* It is currently discouraged to use it for other purposes.
*
EOF
@@ -1,42 +1,101 @@
From 0631e2b9453b33c42e12a14c11e8257d470016c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:17:42 +0200
Subject: [PATCH] gcc-go: support libucontext
From ecc2a2e70e44fa76a75b12d0893bc1702b72a1b4 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Mon, 19 Dec 2022 10:37:06 -0800
Subject: [PATCH] libgo: check for makecontext in -lucontext
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch allows using gcc-go with libucontext. For this purpose,
it unconditionally links gcc-go against -lucontext. Furthermore,
it undefines SETCONTEXT_CLOBBERS_TLS in proc.c to prevent usage
of makecontext/swapcontext feature that are not support by libucontext.
Patch from Sören Tempel.
Change-Id: I74b4052cc7aca19224afd6d9a2739c3fae46b722
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
Makefile.in | 2 +-
libgo/runtime/proc.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
libgo/configure | 57 ++++++++++++++++++++++++++++++++++++++++++++++
libgo/configure.ac | 3 +++
2 files changed, 60 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 593495e1650..c3e5d489bc0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52801,7 +52801,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) \
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
diff --git a/libgo/configure b/libgo/configure
index 460fdad7..a607dbff 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14818,6 +14818,63 @@ fi
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
+$as_echo_n "checking for library containing makecontext... " >&6; }
+if ${ac_cv_search_makecontext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
#ifndef SETCONTEXT_CLOBBERS_TLS
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char makecontext ();
+int
+main ()
+{
+return makecontext ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' ucontext; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_makecontext=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_makecontext+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_makecontext+:} false; then :
+
+else
+ ac_cv_search_makecontext=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
+$as_echo "$ac_cv_search_makecontext" >&6; }
+ac_res=$ac_cv_search_makecontext
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 09554a37..a59aa091 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
static inline void
+dnl Test if -lucontext is required for makecontext.
+AC_SEARCH_LIBS([makecontext], [ucontext])
+
dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])
@@ -1,45 +1,204 @@
From 5093aa99f9cdded2e1ddf67b7139da6fac36b0a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 19 Apr 2021 07:21:41 +0200
Subject: [PATCH] Use generic errstr.go implementation on musl
From b3840bdcc0eee2a4d099a9af52199944ade7acb9 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Tue, 29 Nov 2022 17:28:44 -0800
Subject: [PATCH] syscall, runtime: always call XSI strerror_r
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
glibc provides two version of strerror_r() depending on a feature test
macro. The first is the XSI-compliant version which returns an int, the
second is GNU-specific and returns a char pointer.
This does the right thing for either glibc or musl on GNU/Linux.
Similarity, gcc's libgo provides two implementations of Errstr() both of
which use strerror_r(). On Linux, it is assumed that the GNU-specific
strerror_r version is used. However, musl only provides the
XSI-compliant version of strerror_r. This patch enables the generic
Errstr() implementation which also uses the XSI-compliant version of
strerror_r.
Based on patch by Sören Tempel.
Change-Id: If2969e131f0fae456d58b35d839d8abe191fcc59
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/454176
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Ian Lance Taylor <iant@google.com>
---
libgo/go/syscall/errstr.go | 1 -
libgo/go/syscall/errstr_glibc.go | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
libgo/Makefile.am | 1 +
libgo/Makefile.in | 6 +++++-
libgo/go/syscall/errstr.go | 22 ++++++++-----------
libgo/go/syscall/errstr_glibc.go | 33 ----------------------------
libgo/runtime/go-strerror.c | 37 ++++++++++++++++++++++++++++++++
5 files changed, 52 insertions(+), 47 deletions(-)
delete mode 100644 libgo/go/syscall/errstr_glibc.go
create mode 100644 libgo/runtime/go-strerror.c
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index e0a1eec5..df568743 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -465,6 +465,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 7bef5df9..f2f3f0fc 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -247,7 +247,7 @@ am__objects_4 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-fieldtrack.lo runtime/go-matherr.lo \
runtime/go-memclr.lo runtime/go-memmove.lo \
runtime/go-memequal.lo runtime/go-nanotime.lo \
- runtime/go-now.lo runtime/go-nosys.lo \
+ runtime/go-now.lo runtime/go-nosys.lo runtime/go-strerror.lo \
runtime/go-reflect-call.lo runtime/go-setenv.lo \
runtime/go-signal.lo runtime/go-unsafe-pointer.lo \
runtime/go-unsetenv.lo runtime/go-unwind.lo \
@@ -917,6 +917,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
@@ -1390,6 +1391,8 @@ runtime/go-now.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-nosys.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
+runtime/go-strerror.lo: runtime/$(am__dirstamp) \
+ runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-reflect-call.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-setenv.lo: runtime/$(am__dirstamp) \
@@ -1457,6 +1460,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-reflect-call.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-setenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-signal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-strerror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsafe-pointer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsetenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unwind.Plo@am__quote@
diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go
index 6c2441d364d..8f7c5538163 100644
index 6c2441d3..9f688e2a 100644
--- a/libgo/go/syscall/errstr.go
+++ b/libgo/go/syscall/errstr.go
@@ -5,7 +5,6 @@
@@ -4,23 +4,19 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !hurd
-// +build !hurd
-// +build !linux
-
package syscall
-//sysnb strerror_r(errnum int, buf []byte) (err Errno)
-//strerror_r(errnum _C_int, buf *byte, buflen Size_t) _C_int
+import "internal/bytealg"
+
+//extern go_strerror
+func go_strerror(_C_int, *byte, Size_t) _C_int
func Errstr(errnum int) string {
- for len := 128; ; len *= 2 {
- b := make([]byte, len)
- errno := strerror_r(errnum, b)
+ for size := 128; ; size *= 2 {
+ b := make([]byte, size)
+ errno := go_strerror(_C_int(errnum), &b[0], Size_t(len(b)))
if errno == 0 {
- i := 0
- for b[i] != 0 {
- i++
- }
+ i := bytealg.IndexByte(b, 0)
// Lowercase first letter: Bad -> bad, but
// STREAM -> STREAM.
if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
@@ -29,7 +25,7 @@ func Errstr(errnum int) string {
return string(b[:i])
}
if errno != ERANGE {
- return "errstr failure"
+ return "strerror_r failure"
}
}
}
diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go
index 5b19e6f202d..8dc60172186 100644
deleted file mode 100644
index 5b19e6f2..00000000
--- a/libgo/go/syscall/errstr_glibc.go
+++ b/libgo/go/syscall/errstr_glibc.go
@@ -7,7 +7,7 @@
// We use this rather than errstr.go because on GNU/Linux sterror_r
// returns a pointer to the error message, and may not use buf at all.
+++ /dev/null
@@ -1,33 +0,0 @@
-// errstr_glibc.go -- GNU/Linux and GNU/Hurd specific error strings.
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// We use this rather than errstr.go because on GNU/Linux sterror_r
-// returns a pointer to the error message, and may not use buf at all.
-
-// +build hurd linux
+// +build hurd !linux
package syscall
-
-package syscall
-
-import "unsafe"
-
-//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
-//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
-
-func Errstr(errnum int) string {
- a := make([]byte, 128)
- p := strerror_r(errnum, a)
- b := (*[1000]byte)(unsafe.Pointer(p))
- i := 0
- for b[i] != 0 {
- i++
- }
- // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
- if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
- c := b[0] + 'a' - 'A'
- return string(c) + string(b[1:i])
- }
- return string(b[:i])
-}
diff --git a/libgo/runtime/go-strerror.c b/libgo/runtime/go-strerror.c
new file mode 100644
index 00000000..13d1d91d
--- /dev/null
+++ b/libgo/runtime/go-strerror.c
@@ -0,0 +1,37 @@
+/* go-strerror.c -- wrapper around XSI-compliant strerror_r.
+
+ Copyright 2022 The Go Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style
+ license that can be found in the LICENSE file. */
+
+/* There are two version of strerror_r on GNU/Linux: a GNU-specific
+ and an XSI-compliant version. The former version is only available
+ on glibc. Since glibc 2.13, the XSI-compliant version is also
+ provided by glibc if _GNU_SOURCE is not defined. Since the
+ entirety of gofrontend is compiled with _GNU_SOURCE, this file
+ exists to selectively undefine it and provides an alias to the
+ XSI-compliant version of strerror_r(3). */
+
+#ifdef __linux__
+
+/* Force selection of XSI-compliant strerror_r by glibc. */
+#undef XOPEN_SOURCE
+#define XOPEN_SOURCE 600
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200112L
+#undef _GNU_SOURCE
+
+#endif /* __linux__ */
+
+#include <string.h>
+
+#ifndef HAVE_STRERROR_R
+// Provided by go-nosys.c if not provided by libc itself.
+extern int strerror_r (int, char *, size_t);
+#endif
+
+int
+go_strerror (int errnum, char *buf, size_t buflen)
+{
+ return strerror_r (errnum, buf, buflen);
+}
@@ -1,22 +1,26 @@
From 4b6240d5301ce04b8bbc3e2152915cbc7da80584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Wed, 28 Sep 2022 17:30:14 +0200
Subject: [PATCH] libgo: use _off_t for mmap offset argument
From 5e658f4659c551330ea68f5667e4f951b218f32d Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Wed, 26 Oct 2022 17:23:42 -0700
Subject: [PATCH] runtime: use _libgo_off_t_type when calling C mmap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On glibc-based systems, off_t is a 32-bit type on 32-bit systems and a
64-bit type on 64-bit systems by default. However, on systems using musl
libc off_t is unconditionally a 64-bit type. As such, it is insufficient
to use a uintptr type for the mmap offset parameter.
The last argument to the C mmap function is type off_t, not uintptr.
On some 32-bit systems, off_t is larger than uintptr.
Presently, the (incorrect) mmap declaration causes a libgo run-time
failure on 32-bit musl systems (fatal error: runtime: cannot allocate
memory). This commit fixes this run-time error.
Based on patch by Sören Tempel.
Change-Id: Ib6f9d5bcd4734f99a72889e2282b97ec3c8fbd34
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/445735
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/go/runtime/mem_gccgo.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
libgo/go/runtime/mem_gccgo.go | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go
index fa3389d8..07bf325a 100644
index fa3389d8..1e84f4f5 100644
--- a/libgo/go/runtime/mem_gccgo.go
+++ b/libgo/go/runtime/mem_gccgo.go
@@ -15,7 +15,7 @@ import (
@@ -24,7 +28,7 @@ index fa3389d8..07bf325a 100644
//extern mmap
-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _off_t) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _libgo_off_t_type) unsafe.Pointer
//extern munmap
func munmap(addr unsafe.Pointer, length uintptr) int32
@@ -33,7 +37,23 @@ index fa3389d8..07bf325a 100644
func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
- p := sysMmap(addr, n, prot, flags, fd, off)
+ p := sysMmap(addr, n, prot, flags, fd, _off_t(off))
+ p := sysMmap(addr, n, prot, flags, fd, _libgo_off_t_type(off))
if uintptr(p) == _MAP_FAILED {
return nil, errno()
}
@@ -47,6 +47,7 @@ func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (u
// Don't split the stack as this method may be invoked without a valid G, which
// prevents us from allocating more stack.
+//
//go:nosplit
func sysAlloc(n uintptr, sysStat *sysMemStat) unsafe.Pointer {
p, err := mmap(nil, n, _PROT_READ|_PROT_WRITE, _MAP_ANON|_MAP_PRIVATE, mmapFD, 0)
@@ -165,6 +166,7 @@ func sysHugePage(v unsafe.Pointer, n uintptr) {
// Don't split the stack as this function may be invoked without a valid G,
// which prevents us from allocating more stack.
+//
//go:nosplit
func sysFree(v unsafe.Pointer, n uintptr, sysStat *sysMemStat) {
sysStat.add(-int64(n))
@@ -0,0 +1,65 @@
From 7b8400f902ef25ea71ed460716c1afedca357a61 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 2 Nov 2022 12:31:36 +0100
Subject: [PATCH] libphobos: fix undefined reference to `__cmsg_nxthdr' with
musl
Ported fix from upstream.
Upstream: https://github.com/dlang/dmd/commit/54544260a848c8ebad5582e27ac1e09627cdfb17
Bug-URL: https://issues.dlang.org/show_bug.cgi?id=23157
---
.../libdruntime/core/sys/posix/sys/socket.d | 36 +++++++++++++++++--
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/socket.d b/libphobos/libdruntime/core/sys/posix/sys/socket.d
index c1309a68c9c..e3b536d87e7 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/socket.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/socket.d
@@ -188,10 +188,40 @@ version (linux)
extern (D) inout(ubyte)* CMSG_DATA( return scope inout(cmsghdr)* cmsg ) pure nothrow @nogc { return cast(ubyte*)( cmsg + 1 ); }
- private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
- extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ version (CRuntime_Musl)
{
- return __cmsg_nxthdr(msg, cmsg);
+ extern (D)
+ {
+ private size_t __CMSG_LEN(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return (cmsg.cmsg_len + size_t.sizeof -1) & cast(size_t)(~(size_t.sizeof - 1));
+ }
+
+ private inout(cmsghdr)* __CMSG_NEXT(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg + __CMSG_LEN(cmsg);
+ }
+
+ private inout(msghdr)* __MHDR_END(inout(msghdr)* mhdr) pure nothrow @nogc
+ {
+ return cast(inout(msghdr)*)(mhdr.msg_control + mhdr.msg_controllen);
+ }
+
+ inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg.cmsg_len < cmsghdr.sizeof ||
+ __CMSG_LEN(cmsg) + cmsghdr.sizeof >= __MHDR_END(msg) - cast(inout(msghdr)*)(cmsg)
+ ? cast(inout(cmsghdr)*) null : cast(inout(cmsghdr)*) __CMSG_NEXT(cmsg);
+ }
+ }
+ }
+ else
+ {
+ private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
+ extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return __cmsg_nxthdr(msg, cmsg);
+ }
}
extern (D) inout(cmsghdr)* CMSG_FIRSTHDR( inout(msghdr)* mhdr ) pure nothrow @nogc
--
2.38.1
+20 -20
View File
@@ -10,7 +10,7 @@ LANG_JAVA=false
LANG_GO=false
LANG_FORTRAN=false
LANG_ADA=false
options="!strip !tracedeps"
options="!strip"
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
# when this variable matches "no*"
@@ -26,20 +26,21 @@ _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-armv7
_pkgbase=12.2.1 # must match gcc/BASE-VER
_pkgsnap=20220924
pkgver=${_pkgbase}_git${_pkgsnap}
pkgver=${_pkgbase}_git$_pkgsnap
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armv7
pkgrel=2
pkgrel=10
pkgdesc="Stage2 cross-compiler for armv7"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later LGPL-2.1-or-later"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_gccrel=$pkgver-r$pkgrel
depends="binutils-armv7 mpc1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
# XXX: build hack to upgrade live on builders
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-doc$_target"
@@ -212,7 +213,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://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -258,10 +259,11 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0053-libgo-make-match.sh-POSIX-shell-compatible.patch
0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-${_pkgsnap}
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -322,10 +324,9 @@ build() {
case "$CTARGET_LIBC" in
musl)
# musl does not support mudflap, or libsanitizer
# libmpx uses secure_getenv and struct _libc_fpstate not present 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-libmpx --disable-libmudflap --disable-libsanitizer"
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
@@ -366,9 +367,9 @@ build() {
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--build=${CBUILD}
--host=${CHOST}
--target=${CTARGET}
--build=$CBUILD
--host=$CHOST
--target=$CTARGET
--enable-checking=release
--disable-fixed-point
--disable-libstdcxx-pch
@@ -379,7 +380,6 @@ build() {
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
--enable-cloog-backend
--enable-languages=$_languages
$_arch_configure
$_libc_configure
@@ -435,12 +435,11 @@ package() {
# strip debug info from some static libs
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgphobos.a -o -name libgdruntime.a \
-o -name libmudflap.a -o -name libmudflapth.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
-a -type f \
-exec ${STRIP_FOR_TARGET} -g {} +
-exec $STRIP_FOR_TARGET -g {} +
if $_libgomp; then
mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir
@@ -657,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -667,8 +665,9 @@ libgo() {
}
go() {
pkgdesc="Go support for GCC"
pkgdesc="GCC Go frontend (intended for bootstrapping community/go)"
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
# See https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E
provides="go-bootstrap"
@@ -795,12 +794,12 @@ b40d7e4712c035674c993bbb55475290ec14523b3f0fd05493514bac4e9adaa6641faf815fc40ffc
674360ce2ee9f704d0632cc98756f9fe8dd8ca30064fb9d3423b437f7e679c1c51e765b15e535dcb278cd2769583690acb3395b91e4fd5f6f4e3b97879fcc313 0027-always-build-libgcc_eh.a.patch
f060687adcd5297124e4000f1ba1e3fd5d7d124da04d948cbd0d4a6c69a90a2b29a4a0dbbe13a83ab6950724f434de012b681bdbcdf53c0100b40fe3d00f2f2f 0028-ada-libgnarl-compatibility-for-musl.patch
5160bae68e20a1966c1f6d655ee98af759e9b9ee842718ae6007d467b418e1cf3b307528a0841477b5259671ce868521b06c0f2e947b7b8f3a398c53dd978252 0029-ada-musl-support-fixes.patch
3c04b26554a78096296ca9542c77a91219bd26044dd2cb2006db4c1944889a97c215900b3828ba7e8c675162406db543605a815bdfbd915bf810663b1b253bdd 0033-gcc-go-link-to-libucontext.patch
699dc3641099da6136dd3689f06c6553c03b3a85acf83a3fce1beb5425065b3e378535ca9e9100a120fdbafc34871d61c063fd5328a49cd87a15a989ed51706d 0034-Use-generic-errstr.go-implementation-on-musl.patch
72631fbef4843d6ada52f3173b257e027605866a3faf1d8e34438cbf2581952f97bf6f9569ee44fcd7c4b3b337612eaeb0612fb2e6451903f219e4d99bf719db 0033-gcc-go-link-to-libucontext.patch
141c0428f988cbd102000d4db8d4150485f6da5c064469493ea378cd579bed99330658f41fe106c0d07d1c1aa436ec3f864403ed1ba79f791a1d727b42d46910 0034-Use-generic-errstr.go-implementation-on-musl.patch
d9ba710f770e053c8f212e821817c188091a829658050b9ab5906388553ec60fec37943ea43c270e92a9014902949f3c98fc4639032d92b8145b375bb29e193e 0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
ab90d8fdd977d6cd3da096a1c76d77be3e89a020b2127247771711a32eb608cceed21834ef488ab4b69bb0f408b098fdfb61630819e3d1a1e57d5af67800ee74 0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
8bc6823f0b3c66f7b73d7ddb64ffa6930463285c2e9a14a2bc1882bcc4271144eaa1107d713294699caf9481648163cbf43921a2b8e4ac0d55c78a804bae8a3d 0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
e9699f4721778869eb3a8fef2c679208ef5b98584892f30b0e1cb5dc1669f8158198d7792659b1b56c381baf62247d21990dcced9178547affd5d6bfb2d12548 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
f0744c01859e67deed404c97e1870b2876935fdc467e51980373744936574c314d5d21134734c5d515e7f3cd3483ef98045b9bbcd81c568c6038fac96ffb5fa0 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
d6dc1bfb881a313d167aaa5658790b0f55eea4336c408cfc6613dd5783440dafd0d37c43031a5f3e69be40f632e38371cd4fb6e5f0494ac4ea4d7d5025d2ae02 0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
684c6a6d52512b973429b6e709966439ac1e174f9e79a33d4a638b452245b457b34752b4b4034ba983f6a712f86522e7adf715bab00a6603f64a12139c5b1e39 0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
25014dfa99d96ee70ce0ad22e9f7974f0a51cc50b3b9c2db49df50774c8cd29e497ceed120486bee50be83bfb07f2009ed310eb9b0543f2795bd7359b87eadd2 0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
@@ -811,4 +810,5 @@ c33ca2553642c2dbd1c65cd97046548f08775785a3db06d761e3bbe61398c37bc382fe132c0c3fa2
c82d7c8d340a76df3d796565a79b0ccc04ddffef39927620e1f3719bf2dc1db101ba13aef24b46c5bc95b7bf1e31c8bda4ab0936ba4c9c5e5047ba08826c982c 0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
eb403d8ea665fd5dc2c11faf43b055e6a3bf480a397ceee3e0ca1e38ec7d2392315f2694ed9a34ffbc99e464f2873fbbf91be8646ea4dea5d3636e3ea22fefa0 0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
22fb6edf1ed0387e2b93839ffe6e82a7fee420950af90e91199c3488d966702fdeb1a3396d22be0c73a4051525da9349c93d070a0d83b724c83f2b268da6483f 0053-libgo-make-match.sh-POSIX-shell-compatible.patch
9b74d0a0e4140b597708a295bcf51b93944782698470e2ba9bc0f0d4a830fc418da9624eccc85f3d65ff6d50b8ebf40cecd34d5b045db9e6c29614e981e93f92 0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
cat 1>&2 <<EOF
*
* gcc-go is used in Alpine for bootstrapping Go.
* It is currently discouraged to use it for other purposes.
*
EOF
@@ -0,0 +1,39 @@
From 74c7b0df9971b6bc75d7d172c2819ffd21d51050 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index 3b2e4f47915..20f790904a2 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
#include <stdlib.h>
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
- may not be visible. */
+ may not be visible and we can't pollute the namespace either. */
#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
+extern int _mm_posix_memalign (void **, size_t, size_t)
#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
#endif
+__asm__("posix_memalign");
static __inline void *
_mm_malloc (size_t __size, size_t __alignment)
@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment)
return malloc (__size);
if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
__alignment = sizeof (void *);
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
@@ -0,0 +1,200 @@
From dd1e75ff4ecda96957465b34681f245e818928bd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
/usr/include, /sw/include and /opt/include and then triggered a failure and
aborted.
Instead, we add the two missing items to the current scan. If the user
wants this to be a failure, they can add "-Werror=poison-system-directories".
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
gcc/common.opt | 4 ++++
gcc/config.in | 6 ++++++
gcc/configure | 16 ++++++++++++++++
gcc/configure.ac | 10 ++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 2 ++
gcc/incpath.cc | 21 +++++++++++++++++++++
7 files changed, 68 insertions(+)
diff --git a/gcc/common.opt b/gcc/common.opt
index 8a0dafc522d..0357868e22c 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -710,6 +710,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index 64c27c9cfac..f0fbf123aa8 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -230,6 +230,12 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 5ce0557719a..e9060112384 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1023,6 +1023,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_libquadmath_support
@@ -1785,6 +1786,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
@@ -31982,6 +31985,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 23bee7010a3..75a7048045c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7421,6 +7421,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 07b440190c3..b2de464798a 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
-Wparentheses -Wno-pedantic-ms-format @gol
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
+-Wno-poison-system-directories @gol
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
-Wrestrict -Wno-return-local-addr -Wreturn-type @gol
-Wno-scalar-storage-order -Wsequence-point @gol
@@ -8029,6 +8030,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
+@item -Wno-poison-system-directories
+@opindex Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@item -Wfloat-equal
@opindex Wfloat-equal
@opindex Wno-float-equal
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index bb07cc244e3..47fb5802194 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1159,6 +1159,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
+ %{Wno-poison-system-directories:--no-poison-system-directories} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index bd2a97938eb..c80f100f476 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
}
fprintf (stderr, _("End of search list.\n"));
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[INC_QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
+ || (!strncmp (p->name, "/sw/include", 11))
+ || (!strncmp (p->name, "/opt/include", 12)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
@@ -0,0 +1,41 @@
From 40e45739e7d3787acd13b5b9a4c27d843de0ffe2 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
Binutils does not appear to have a similar option for enabling -z
now by default.
---
gcc/doc/invoke.texi | 3 +++
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b2de464798a..83bd1bde433 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -16872,6 +16872,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
+NOTE: In Alpine Linux, for LDFLAGS, the option
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
+
@item -u @var{symbol}
@opindex u
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 47fb5802194..d18b5d7b59a 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1157,6 +1157,7 @@ proper position among the other output files. */
"%{flto|flto=*:%<fcompare-debug*} \
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "-z now " \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
@@ -0,0 +1,43 @@
From 666d0aeb808ac9c10d065ae7b196695c81a25a20 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC,
ObjC++, if the optimization level is > 0
---
gcc/c-family/c-cppbuiltin.cc | 4 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4672ae8486a..573c021e1e8 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1510,6 +1510,10 @@ c_cpp_builtins (cpp_reader *pfile)
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+ /* Fortify Source enabled by default for optimization levels > 0 */
+ if (optimize)
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
+
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 83bd1bde433..dda299a9987 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10896,6 +10896,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
+set by default, and is activated when @option{-O} is set to 2 or higher.
+This enables additional compile-time and run-time checks for several libc
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
+@option{-D_FORTIFY_SOURCE=0}.
+
@item -O3
@opindex O3
Optimize yet more. @option{-O3} turns on all optimizations specified
@@ -0,0 +1,269 @@
From 75d1a35180cf0967f062765314bf091a64032062 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH] On linux targets pass --as-needed by default to the linker,
but always link the sanitizer libraries with --no-as-needed.
---
gcc/config/aarch64/aarch64-linux.h | 1 +
gcc/config/alpha/linux-elf.h | 2 +-
gcc/config/arm/linux-elf.h | 1 +
gcc/config/gnu-user.h | 6 +++---
gcc/config/i386/gnu-user.h | 2 +-
gcc/config/i386/gnu-user64.h | 1 +
gcc/config/ia64/linux.h | 2 +-
gcc/config/mips/gnu-user.h | 1 +
gcc/config/riscv/linux.h | 1 +
gcc/config/rs6000/linux64.h | 4 ++--
gcc/config/rs6000/sysv4.h | 2 +-
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
14 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 5e4553d79f5..b516f3ef97f 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -35,6 +35,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --as-needed \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 17f16a55910..9ec667e9a5e 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
#define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --as-needed %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index df3da67c4f0..7532bc29f9b 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
%{rdynamic:-export-dynamic} \
%{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
-X \
+ --as-needed \
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 857c0e077bf..8433e56c3e1 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
"%{static-libasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBHWASAN_EARLY_SPEC
#define LIBHWASAN_EARLY_SPEC "%{static-libhwasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lhwasan --no-whole-archive " \
@@ -145,12 +145,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
"%{static-libtsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBLSAN_EARLY_SPEC
#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
"%{static-liblsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 0102b2a6f3b..994414c1845 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
{ "link_emulation", GNU_USER_LINK_EMULATION },\
{ "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --as-needed %{shared:-shared} \
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abc8cf624ca..fe656aeae27 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
"%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
%{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
%{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index 93510098ccc..3813e536423 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 6aad7192e69..e1256a55add 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC "\
%{G*} %{EB} %{EL} %{mips*} %{shared} \
+ -as-needed \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 38803723ba9..3067ed6eac8 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -58,6 +58,7 @@ along with GCC; see the file COPYING3. If not see
"%{mabi=ilp32:_ilp32}"
#define LINK_SPEC "\
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
%{mbig-endian:-EB} \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index b2a7afabc73..34ceb4e4fce 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -377,13 +377,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
%(link_os_extra_spec32)"
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 7e2519de5d4..61215a7a1b3 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -788,7 +788,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --as-needed %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index d7b7e7a7b02..d2287f14f2e 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6a809e9092d..93bfb92d3ff 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --as-needed %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index d18b5d7b59a..3b76311b544 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -744,8 +744,11 @@ proper position among the other output files. */
#ifdef LIBASAN_EARLY_SPEC
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -780,8 +783,11 @@ proper position among the other output files. */
#ifdef LIBTSAN_EARLY_SPEC
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -798,8 +804,11 @@ proper position among the other output files. */
#ifdef LIBLSAN_EARLY_SPEC
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -814,8 +823,11 @@ proper position among the other output files. */
#define STATIC_LIBUBSAN_LIBS \
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
@@ -0,0 +1,31 @@
From c664283dd30949c5299d1c45bd5740bcfe993d22 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 07da40ef43b..8683f706426 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -692,7 +692,7 @@ Warn about function calls with format strings that write past the end
of the destination region. Same as -Wformat-overflow=1.
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions.
Wformat-signedness
@@ -713,7 +713,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wformat-overflow=
@@ -0,0 +1,22 @@
From e4d0ec43e772b6dc7c3708aed5309897df26a125 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:48:24 +0000
Subject: [PATCH] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 0357868e22c..6d5e5eebe60 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -802,7 +802,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers.
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
@@ -0,0 +1,50 @@
From 27e5d5bd3fed9006a2958d2b09750d15ad07383b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:49:40 +0000
Subject: [PATCH] Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
Change the buffer size.
---
gcc/gcc.cc | 8 +++++++-
gcc/params.opt | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 3b76311b544..cc99d0b7aa1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -996,6 +996,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1295,7 +1301,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
diff --git a/gcc/params.opt b/gcc/params.opt
index b88e1372005..82a7e25dd2f 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1012,7 +1012,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
@@ -0,0 +1,51 @@
From 83bf2a316222e2fe0b72968cadf4e334d41173f6 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.
2011-09-19 Martin von Gagern
References:
https://bugs.gentoo.org/372377
https://bugs.gentoo.org/295480
---
libstdc++-v3/po/Makefile.am | 1 +
libstdc++-v3/po/Makefile.in | 1 +
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 8f51544989e..5329804d136 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 243f3db7b72..822210781fa 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -561,6 +561,7 @@ uninstall-am:
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
@@ -0,0 +1,25 @@
From 190064993cd8ddbd48015c1fc1916e4110a97733 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH] Don't declare asprintf if defined as a macro.
---
include/libiberty.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/libiberty.h b/include/libiberty.h
index a65ced9c820..eb20ab0f95f 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,11 @@ extern void *bsearch_r (const void *, const void *,
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
+#ifndef asprintf
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
+#endif
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
@@ -0,0 +1,21 @@
From 838e1daa955d9013c462be3471497cb39641e951 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH] libiberty: copy PIC objects during build process
---
libiberty/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 1b17c2e3a47..8db1176df2e 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
@@ -0,0 +1,30 @@
From 717346fbbd6642ba6b0c3af2deb3771794346507 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:36 +0000
Subject: [PATCH] libitm: disable FORTIFY
---
libitm/configure.tgt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libitm/configure.tgt b/libitm/configure.tgt
index 06e90973ef3..669e64236c3 100644
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -47,6 +47,16 @@ if test "$gcc_cv_have_tls" = yes ; then
esac
fi
+# FIXME: error: inlining failed in call to always_inline
+# ‘int vfprintf(FILE*, const char*, __va_list_tag*)’
+# : function body can be overwritten at link time
+# Disable Fortify in libitm for now. #508852
+case "${target}" in
+ *-*-linux*)
+ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE"
+ ;;
+esac
+
# Map the target cpu to an ARCH sub-directory. At the same time,
# work out any special compilation flags as necessary.
case "${target_cpu}" in
+54
View File
@@ -0,0 +1,54 @@
From 048c394eb709bfd216e307c1b92ac7f8a7e7758b Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
libgcc/config/i386/cpuinfo.c | 6 +++---
libgcc/config/i386/t-linux | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 31780b6daf7..d89898846e1 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12338,10 +12338,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
- /* Make it call __cpu_indicator_init in libgcc. */
+ /* Make it call __cpu_indicator_init in libgcc.a. */
tree call_expr, fndecl, type;
type = build_function_type_list (integer_type_node, NULL_TREE);
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
call_expr = build_call_expr (fndecl, 0);
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
}
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
index dab1d98060f..cf824b4114a 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
__cpu_features2);
}
-#if defined SHARED && defined USE_ELF_SYMVER
-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
+#ifndef SHARED
+int __cpu_indicator_init_local (void)
+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
#endif
diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
index 8506a635790..564296f788e 100644
--- a/libgcc/config/i386/t-linux
+++ b/libgcc/config/i386/t-linux
@@ -3,5 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
+72
View File
@@ -0,0 +1,72 @@
From db28b1e0f3b06325026ec5b5e7cdca4e9992e05c Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH] nopie
---
gcc/configure | 27 +++++++++++++++++++++++++++
gcc/configure.ac | 13 +++++++++++++
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index e9060112384..2f6b3265a6c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32497,6 +32497,33 @@ fi
$as_echo "$gcc_cv_no_pie" >&6; }
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5
+$as_echo_n "checking for -nopie option... " >&6; }
+if test "${gcc_cv_nopie+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ gcc_cv_nopie=yes
+else
+ gcc_cv_nopie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5
+$as_echo "$gcc_cv_nopie" >&6; }
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 75a7048045c..e683d3a7a5f 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7681,6 +7681,19 @@ AC_CACHE_CHECK([for -no-pie option],
LDFLAGS="$saved_LDFLAGS"])
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([int main(void) {return 0;}],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
AC_SUBST([NO_PIE_FLAG])
@@ -0,0 +1,21 @@
From 686e85d8a05f9f9e6c983afb13f937bd88fe84dd Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:18:32 +0000
Subject: [PATCH] dlang: use libucontext on mips64
---
libphobos/configure.tgt | 1 +
1 file changed, 1 insertion(+)
diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt
index 0063dd23249..c5e782a1238 100644
--- a/libphobos/configure.tgt
+++ b/libphobos/configure.tgt
@@ -38,6 +38,7 @@ case "${target}" in
;;
mips*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
+ LIBDRUNTIME_NEEDS_UCONTEXT=yes
;;
power*-*-freebsd*)
LIBPHOBOS_SUPPORTED=yes
@@ -0,0 +1,39 @@
From fd642f8cd61849a9dc169588be5562ceda96a889 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH] ada: fix shared linking
---
gcc/ada/link.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index a7574efb472..0ad0d66463c 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
|| defined (__NetBSD__) || defined (__OpenBSD__) \
|| defined (__QNX__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__linux__) || defined (__GLIBC__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
Loaded 100 of 1204 files, more files were not shown because too many files have changed in this diff. Show more