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
997 changed files with 136233 additions and 21951 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):
+1
View File
@@ -15,6 +15,7 @@ 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
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import logging
@@ -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
@@ -97,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
-1
View File
@@ -1,4 +1,3 @@
{
"Version": "2.6.0",
"SpacesAftertabs": 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/
+34 -44
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,38 +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
editor-config:
stage: lint
<<: *only-default
image: alpine:edge
before_script:
- apk -q add editorconfig-checker
script:
- ec
- .ci/lib/gitlab_prepare_ci.sh
- .ci/ec.sh
# aports checks (generic)
aports-static:
pytest-commits:
stage: lint
<<: *only-default
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh pytest
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/pytest.sh
- .ci/commits.sh
artifacts:
when: on_failure
paths:
@@ -89,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
@@ -123,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")
@@ -146,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
@@ -159,18 +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+\\)|)$"
+21 -3
View File
@@ -29,7 +29,7 @@ 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
device/*/device-google-juniper/ @jenneron @binarycraft
device/*/u-boot-peach-pit/ @jenneron
device/*/device-google-damu/ @jenneron
device/*/u-boot-nyan-4gb/ @jenneron
@@ -37,7 +37,7 @@ 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
device/*/linux-postmarketos-exynos5/ @jenneron @Grimler
device/*/device-google-krane/ @jenneron
device/*/soc-mediatek-mt8183/ @jenneron
device/*/u-boot-veyron-minnie/ @jenneron
@@ -45,6 +45,7 @@ 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
@@ -56,13 +57,30 @@ 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
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
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.
+1
View File
@@ -6,3 +6,4 @@ Helpful resources:
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
* [postmarketOS commit style](./COMMITSTYLE.md)
+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
+8 -30
View File
@@ -7,23 +7,19 @@ CTARGET_ARCH=riscv64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-riscv64
pkgver=2.39
pkgrel=2
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"
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
+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))
+13 -13
View File
@@ -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=4
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
@@ -262,7 +263,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
"
# 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}"
@@ -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
@@ -438,7 +439,7 @@ package() {
-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
@@ -655,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -794,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
@@ -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))
+13 -13
View File
@@ -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=4
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
@@ -262,7 +263,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
"
# 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}"
@@ -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
@@ -438,7 +439,7 @@ package() {
-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
@@ -655,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -794,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
@@ -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))
+13 -13
View File
@@ -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=4
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
@@ -262,7 +263,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
"
# 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}"
@@ -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
@@ -438,7 +439,7 @@ package() {
-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
@@ -655,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -794,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
@@ -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))
+13 -13
View File
@@ -26,20 +26,21 @@ _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-riscv64
_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-riscv64
pkgrel=4
pkgrel=10
pkgdesc="Stage2 cross-compiler for riscv64"
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-riscv64 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-riscv64 binutils-riscv64"
subpackages="g++-riscv64:gpp libstdc++-dev-riscv64: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
@@ -262,7 +263,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-
"
# 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}"
@@ -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
@@ -438,7 +439,7 @@ package() {
-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
@@ -655,7 +656,6 @@ gdc() {
mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/
}
libgo() {
pkgdesc="Go runtime library for GCC"
depends=
@@ -794,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
+2 -2
View File
@@ -3,7 +3,7 @@
pkgname=grub-efi-x86
pkgver=2.06
pkgrel=6
pkgrel=11
_arch="x86"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -22,5 +22,5 @@ package() {
}
sha512sums="
ab6731f2486a1c58af91839c758491cfafad48b899287c3015194699639e2349f3b49cefccdc4040c87c1dc3c3c2fdedfdd023481e613156e4e3e3f455bc8a2b grub-efi-2.06-r6-x86-edge.apk
7400eb18117b8b1c8229f3f2f3eb3bcff75022d8ca81fa66fd35022eab93d9832e602d2454e957c11b8583f6c6176d1ff7fa6aa94ff5fadf8c14a0d55e447762 grub-efi-2.06-r11-x86-edge.apk
"
+4 -4
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=musl-aarch64
pkgver=1.2.3
pkgrel=4
pkgver=1.2.3_git20230411
pkgrel=0
arch="x86_64"
subpackages="musl-dev-aarch64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
17ca2c88d44f1e08372cb7a117a8cf754d44804445f1f94631c6517169657104beda3d57ffa07159054024519cb568cb3a8f267fd660897c1d36d3b5dfd059e4 musl-1.2.3-r4-aarch64-edge.apk
d77fc40eac95c7ad87f7286f77bc356373fbbda93a971e8fa8154b23a55ec04691ec7976d522b4d52f1efd57cf2ea05576dbed8f70b1168028fcd25321c303b3 musl-dev-1.2.3-r4-aarch64-edge.apk
08fc24d6ab89fe424d7531cbdd313ed6fa5cf28e7cbb9d0ce15912dc22373fc9f21c301ed3adea47a460cacbb1220319a51f93f7c6a2ae1a93658c0703619c07 musl-1.2.3_git20230411-r0-aarch64-edge.apk
7a9e555fd7e94d50c2e0664ff32ff610537249131fb9bc968db286204c959bd1b3b155c0eed15d685225a094f71b71877d571821ef13c6faf74c73024306d8ee musl-dev-1.2.3_git20230411-r0-aarch64-edge.apk
"
+4 -4
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=musl-armhf
pkgver=1.2.3
pkgrel=4
pkgver=1.2.3_git20230411
pkgrel=0
arch="x86_64"
subpackages="musl-dev-armhf:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
95e4ddc58290acdc15ebcf15c77b75de40bd0eb5ce79f745ef7dcdfde7d786216f69ca632c6c7bc562ff8ca54c65842a63ea3f79582ea63a13f2b9b8e5b0aee2 musl-1.2.3-r4-armhf-edge.apk
45577e4571692a84fd984f023591d935901591a6b877163f93d1b854ba3b3876f972d26f5897a9f8b43d4dbc81aa736af2cec9bf60a7ff47f55805cc90926b3d musl-dev-1.2.3-r4-armhf-edge.apk
fa19f5b324ab7bf112e724670f8b7775d51a6209ef9c123c84a52859427021db07aa2cb329429d038ccfed010d0d21e20aef73447c2d2f0b0cd4dc7a8648dbf9 musl-1.2.3_git20230411-r0-armhf-edge.apk
29da6801c91ccae218de9b6685af2380ee6e377719cfe7b37c6bf54d0fddbcd926e6be30ef4b38e833e19dd5b9f5e5093fea9bace17c408afe9bb570630595d3 musl-dev-1.2.3_git20230411-r0-armhf-edge.apk
"
+4 -4
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=musl-armv7
pkgver=1.2.3
pkgrel=4
pkgver=1.2.3_git20230411
pkgrel=0
arch="x86_64"
subpackages="musl-dev-armv7:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
0fb05cad178984393ac82ebcda74110ec77f13a9bb8fd5639cdec1e563ed724b80e0d2a2dea30ec98afab279bf9fc00d482b82be1c77611d0e8582853845a754 musl-1.2.3-r4-armv7-edge.apk
f5cd6d747617fc8dc2ec021c75e8b66846c38773d02d106a549480a7a60d0f646fea0d2f941a62d269a021bb4f13e26447e75d10fed053352b9d0c5217a55896 musl-dev-1.2.3-r4-armv7-edge.apk
b11903dab8d0f4e0a3eee7c78f74cb495519c6c08c250d6823342340c464d5d75acd1ba89bd90aaaea27505fcebb38cbfd10278a572e95a3bcdea1f5dd43c1e8 musl-1.2.3_git20230411-r0-armv7-edge.apk
94aca2637425a6bd7f7641e2eb3be8cbea414c568c295d70b592550510f0a5c775a8e4f89aacff13caf6fd30fdc34c2f0f62ee9c93d185bed989f611e28ed0bf musl-dev-1.2.3_git20230411-r0-armv7-edge.apk
"
+4 -4
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=musl-riscv64
pkgver=1.2.3
pkgrel=4
pkgver=1.2.3_git20230411
pkgrel=0
arch="x86_64"
subpackages="musl-dev-riscv64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
2f8046831c410d91dac08443091ac218e0b49f75b3d8b9b41735d4567c425e9aaae2704bfd537af97ed79910e5aa8dc6e1ba70ca7b2017349cebbf4406457aa9 musl-1.2.3-r4-riscv64-edge.apk
7971285250946e45a78eb8a8414911b09c5f54bc99cdd0f9258f4f9f026001690935eb084c54115ce0c0d3c5ca7ffe2cbf903bb90da46f45c6ca71a361c54c89 musl-dev-1.2.3-r4-riscv64-edge.apk
c9ed4d52c43a3810463bdee5aab83eaf0c23b5b5d6376245ad4f3c93acb533a7f458b6410ef31c044a699436a42eaf92530d884155eabf952878e85c79ac1c70 musl-1.2.3_git20230411-r0-riscv64-edge.apk
29f59d4bbd1297efb032899b09ad63b64664a4c3cb46bf88dbdc9abbbb3f4729bf445dccf13ed5b56794fc1b703bb11c65a220c0a2de69ce497f83c64c2aced7 musl-dev-1.2.3_git20230411-r0-riscv64-edge.apk
"
@@ -0,0 +1,17 @@
Fixes "ld: read-only segment has dynamic relocations" error caused by "main/binutils: add -z text by default":
https://gitlab.alpinelinux.org/alpine/aports/-/commit/a737d101cad8c0acf782d9a0ec38cf8d3432b6ff
https://gitlab.alpinelinux.org/alpine/aports/-/commit/098309ba27bbb71f3723aa2e6e180776e0396b86
diff --git a/Makefile b/Makefile
index 4ee2a6394ec3..3fbced2573d1 100644
--- a/Makefile
+++ b/Makefile
@@ -969,6 +969,8 @@ ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
LDFLAGS_vmlinux += $(call ld-option, -X,)
endif
+LDFLAGS_vmlinux += -z notext
+
ifneq ($(SEC_BUILD_CONF_USE_FINGERPRINT_TZ), false)
ifeq ($(CONFIG_SENSORS_FINGERPRINT), y)
ifneq ($(CONFIG_SEC_FACTORY), y)
@@ -0,0 +1,11 @@
--- a/Makefile
+++ b/Makefile
@@ -970,6 +970,8 @@
# Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
LDFLAGS_u-boot += $(call ld-option, --no-dynamic-linker)
+LDFLAGS_u-boot += -z notext $(call ld-option, --apply-dynamic-relocs)
+
ifeq ($(CONFIG_ARC)$(CONFIG_NIOS2)$(CONFIG_X86)$(CONFIG_XTENSA),)
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
endif
@@ -2,7 +2,7 @@
# Maintainer: Luca Weiss <luca@z3ntu.xyz>
pkgname=device-fairphone-fp4
pkgdesc="Fairphone 4"
pkgver=0.9
pkgver=1.0
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -71,7 +71,7 @@ phosh() {
sha512sums="
2974ccc172bf1299daeb0bc746879b3a1db1fbc3a2b163a02a6554fed6ed9f733144bcf976cd2441c5664d496dcce3ae943f4314c653470dc07dda0de5ad632b 90-feedbackd-aw8695.rules
584d14a61b9d3ee436725a5b4fd9e7e1fde8764bb7e1872e4a20115ad767e1d87ab2c2023d5f941217579ef915b6a6011f6ae61487102f690bd532368a090c8a deviceinfo
7a54c90ebe68b2fe1c59ef3b94bfdac0e0e7833eb881d8dcff86d61dc0d45a606d498aa10cefcc68a82bdbc4130091e036867fdb429ed314b9b46100c55a21d7 deviceinfo
25a93dcbe6dbc6cff24f57cbf5539bc475c5fe0f6bf5e8374c7032b9c38a939bef0aa0cde1707afcc16b1ec2d0859c03c6ee92d80d8048d1c6adc6e25178b85f gtk.css
65f74d29ab318b23f7ac8923a3661f2c4130049273a8c6be234ed2c8e00810b6a1254b54cf0932e42850a6d48f821dcd038900fbb836feeddfab2759afffae38 phoc.ini
"
@@ -24,7 +24,7 @@ deviceinfo_getty="ttyMSM0;115200"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="PMOS_NO_OUTPUT_REDIRECT sdhci.debug_quirks=0x40"
deviceinfo_kernel_cmdline="PMOS_NO_OUTPUT_REDIRECT"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
@@ -3,7 +3,7 @@
# Co-Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-lenovo-a6000
pkgdesc="Lenovo A6000"
pkgver=6
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -46,6 +46,6 @@ phosh() {
}
sha512sums="
c860b43edd7dcc2b10a7ee1dc8b2b7e225c469db6f7d45231b78e4e8a76bbe242b65e40488dcae2503ecdc407844eee50964db7b8d3a392a8f3f064afe690b99 deviceinfo
a73d36985ea77bf01493e8a4dae0e437a0e944254745d71fe8f6ecd5809497a7a93cbbddcde608d83fc5539def887feb0d9dd1920613acc51ec386f7dbdb0b1d deviceinfo
10d4ee62e5f7a9e4c368c460dd4c3ef282476e47d8cc40e4e3b83e971d04c493b801e5628ebdfe721f869e2fd68c521cf192cba1a973c8e03a61445534a28811 phoc.ini
"
@@ -8,7 +8,7 @@ deviceinfo_codename="lenovo-a6000"
deviceinfo_year="2015"
deviceinfo_dtb="qcom/msm8916-wingtech-wt86518"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="pm8916-lbc pm8916-bms-vm panel-wingtech-yassy-ili9881 panel-wingtech-tianma-hx8394d msm edt-ft5x06"
deviceinfo_modules_initfs="pm8916-lbc pm8916-bms-vm panel-wingtech-yassy-ili9881 panel-wingtech-qimei-ili9881 panel-wingtech-tianma-hx8394d msm edt-ft5x06"
deviceinfo_arch="aarch64"
# Device related
@@ -3,7 +3,7 @@
# Co-Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-lenovo-a6010
pkgdesc="Lenovo A6010"
pkgver=6
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -46,6 +46,6 @@ phosh() {
}
sha512sums="
f5971257def301439b3786dada60333ad34b15b2221a296698cff7a0a8f7c5c6a54547c91bb024a883fe8f4f5f0b2926c044acc24e240ce1caeaf77697caad75 deviceinfo
ab4d6460d45793c887b4e632b01e7a16a46b7aa3deee7d8b3c7bbc5d1397db54b492c212e15c49c588c1766a265882373324b3e861ce3e0258056a631220b4b5 deviceinfo
10d4ee62e5f7a9e4c368c460dd4c3ef282476e47d8cc40e4e3b83e971d04c493b801e5628ebdfe721f869e2fd68c521cf192cba1a973c8e03a61445534a28811 phoc.ini
"
@@ -8,7 +8,7 @@ deviceinfo_codename="lenovo-a6010"
deviceinfo_year="2015"
deviceinfo_dtb="qcom/msm8916-wingtech-wt86528"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="pm8916-bms-vm panel-wingtech-yassy-ili9881 panel-wingtech-tianma-hx8394d msm edt-ft5x06"
deviceinfo_modules_initfs="pm8916-bms-vm panel-wingtech-yassy-ili9881 panel-wingtech-qimei-ili9881 panel-wingtech-tianma-hx8394d msm edt-ft5x06"
deviceinfo_arch="aarch64"
# Device related
@@ -1,10 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Ruby Iris Juric <ruby@srxl.me>
# Co-Maintainer: Minecrell <minecrell@minecrell.net>
# Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-motorola-harpia
pkgdesc="Motorola Moto G4 Play"
pkgver=7
pkgrel=1
pkgver=8
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -32,8 +31,12 @@ package() {
nonfree_firmware() {
pkgdesc="GPU/WiFi/BT/Modem/Video firmware"
# harpia's WCNSS firmware has problems with WiFi channels on some device
# variants, using osprey's firmware seems to help as a workaround
# (see https://gitlab.com/postmarketOS/pmaports/-/issues/1085)
depends="firmware-qcom-adreno-a300 msm-firmware-loader
firmware-motorola-harpia-wcnss-nv firmware-motorola-harpia-venus"
firmware-motorola-harpia-wcnss-nv firmware-motorola-harpia-venus
firmware-motorola-osprey-wcnss"
mkdir "$subpkgdir"
}
+12 -7
View File
@@ -2,13 +2,13 @@
# Maintainer: Sicelo <absicsz@gmail.com>
# Co-Maintainer: Danct12 <danct12@disroot.org>
pkgname=device-nokia-n900
pkgver=8.3
pkgrel=2
pkgver=9.0
pkgrel=0
pkgdesc="Nokia N900"
url="https://postmarketos.org"
arch="armv7"
license="MIT"
depends="postmarketos-base linux-nokia-n900 u-boot-tools kbd kbd-bkeymaps ofono alsa-utils"
depends="postmarketos-base linux-postmarketos-omap u-boot-tools kbd kbd-bkeymaps ofono alsa-utils"
makedepends="devicepkg-dev u-boot-tools kbd kbd-bkeymaps"
install="$pkgname.pre-upgrade $pkgname.post-install"
subpackages="
@@ -41,6 +41,7 @@ source="
keymaps/rx51_fise.map
keymaps/rx51_it.map
keymaps/rx51_us.map
lock.sh
n900-wlan-data.initd
pointercal
uboot-script.cmd
@@ -74,7 +75,7 @@ package() {
install -D -m644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
install -D -m644 "$srcdir"/backlight-enable.sh \
"$pkgdir"/etc/postmarketos-mkinitfs/hooks/00-$pkgname-backlight.sh
"$pkgdir"/usr/share/mkinitfs/hooks/00-$pkgname-backlight.sh
install -D -m644 "$srcdir"/pointercal \
"$pkgdir"/etc/pointercal
install -D -m644 "$srcdir"/asound.state.speakers \
@@ -82,9 +83,9 @@ package() {
install -D -m644 "$srcdir"/asound.state.headset \
"$pkgdir"/var/lib/alsa/asound.state.headset
install -Dm644 "$srcdir"/10-initfs-keymap.files \
"$pkgdir"/etc/postmarketos-mkinitfs/files/10-initfs-keymap.files
"$pkgdir"/usr/share/mkinitfs/files/10-initfs-keymap.files
install -Dm644 "$srcdir"/10-initfs-keymap.sh \
"$pkgdir"/etc/postmarketos-mkinitfs/hooks/10-initfs-keymap.sh
"$pkgdir"/usr/share/mkinitfs/hooks/10-initfs-keymap.sh
install -Dm755 "$srcdir"/$pkgname.start \
"$pkgdir"/etc/local.d/$pkgname.start
@@ -118,10 +119,13 @@ package() {
x11() {
install_if="$pkgname xorg-server"
depends="xset xinput"
install -D -m644 "$srcdir"/40-xkb.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/40-xkb.conf
install -D -m644 "$srcdir"/xorg.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/11-n900.conf
install -Dm755 "$srcdir"/lock.sh \
"$pkgdir"/usr/bin/lock.sh
}
xkeyboard_config() {
@@ -187,9 +191,10 @@ dc585e11bf4e06e36c5c62bcc024eaacecc30437d9da5257df14be05e247a2f2bc208874be3058ed
0a3e58a3a81c463937caf508a76461b4cc43f593f0817a52b6581fdd132cc894c0960fe7b950b6e6bfac1fad15cd9dd230c103fcf08a30b44ef7d8fbe31cea28 rx51_fise.map
082a5166e38296b097e873b0b4aeaf007e594d3bf4470c74e91ee3efedcf28ad25cd55c23dd63e460339898ae08e77e111b0e1092fa5e661db90bb40732103a1 rx51_it.map
e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f1789a66f7c948290016b048da9f1cf63aba9e11d7e7fd6873ba rx51_us.map
caf9f4c45d11c28e1a6681255fafe5a286b0c417737fac1ca0ee37d3f82fd65c1712f5180375d7813fa308dfdca91d96876b5ce5b05b55ac14cfc31303b1ea5f lock.sh
b50e7f37ffb1fa0bb782b117a4e8bcfdb722b6127c3e5d643e90cd901a1f4e65e77a0773ed418673c8195595347482be0c8096f5a723e840315ad61ccd043b66 n900-wlan-data.initd
143c21f0b18a016d37cb44178e9daea09f128a90769b48353c03c3f245cb9b1f7e773b9ccee084973fc78ddd7a18c2642e54888a85bda7c7daecddc9a8c62eff pointercal
3ae550b50f963695be30eb0e03c31fe7a92aad73174873efe5b73d446b74da5763b6fe9495b91bbdbe307723f6510ebc6639437904815e9251a094ce9bec5b11 uboot-script.cmd
9aaae66ae159236346f67818c44da61aed84a63b3bac0c706492f198db82fc67c2378bcabaf260b695b980bf2faf144472f15355bb097b021551db9547f2e1bc uboot-script.cmd
9e72035c88632d12895534e5aa5746f2c130c7dcdafa8702748d62b71ed0e1b5911b6e1f07f9b9e39b6072bbb662f66aead585baa1dcacb7d8c8953ca89b6762 10-nokia-modem.rules
c6012aef28b096141b924fced226ec99fb93eb53b69c064a8887d8fecdf8dc08a3ba3db399e18d88374c6ef4c59013a30699c7e4d76e5cb771040582573a0527 90-touchscreen-dev.rules
737d9e57e219a0220c5b1943375f325309323344fdf06973546c7d88ed9aec857657abd6b7861669873574f865e1c99719d411e0564dbfebe028f9e77d308491 x11-keymap
File renamed without changes.
@@ -2,7 +2,7 @@ setenv mmcnum 0
setenv mmcpart 1
setenv mmctype ext2
setenv setup_omap_atag 1
setenv bootargs init=/init.sh rw console=tty0 console=ttyO2 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE
setenv bootargs init=/init.sh rw console=tty0 console=ttyS2 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE
setenv mmckernfile /uImage
setenv mmcinitrdfile /uInitrd
setenv mmcscriptfile
Loaded 100 of 997 files, more files were not shown because too many files have changed in this diff. Show more