Compare commits

..
Author SHA1 Message Date
Dylan Van Assche 19ab7e6e65 temp/libssc: patch 103 threading
DO NOT MERGE
2025-12-05 19:43:07 +01:00
1379 changed files with 14593 additions and 48387 deletions

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
apk add git openssh-keygen grep curl
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0 $*"
fi
+15 -17
View File
@@ -1,4 +1,4 @@
image: registry.alpinelinux.org/img/alpine:latest
image: alpine:latest
stages:
- build
- hardware tests
@@ -6,7 +6,7 @@ stages:
variables:
CI_TRON_TEMPLATE_PROJECT: &ci-tron-template-project postmarketOS/ci-common
CI_TRON_JOB_TEMPLATE_PROJECT_URL: $CI_SERVER_URL/$CI_TRON_TEMPLATE_PROJECT
CI_TRON_JOB_TEMPLATE_COMMIT: &ci-tron-template-commit 08c304c8655e98d3e1219f193fbec223e58747a1
CI_TRON_JOB_TEMPLATE_COMMIT: &ci-tron-template-commit 7c95b5f2d53533e8722abf57c73e558168e811f3
include:
- project: *ci-tron-template-project
@@ -68,17 +68,18 @@ build:
# Define here all the gitlab-ci snippets that could be common between the
# different packages
# Extends from this job if the target device needs a kernel and initramfs to
# boot. This will not work if your device uses boot images.
# Extends from this job if the the build job generates a kernel and initramfs
# artifact for your target device. This will not work if your device generates
# boot images.
.device-boot-flow-separate-artifacts:
variables:
CI_TRON_KERNEL__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/${KERNEL_NAME}"
CI_TRON_INITRAMFS__INITRAMFS__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/initramfs"
# Extends from this job if the target device boots using fastboot and boot images
.device-boot-flow-fastboot-image:
variables:
CI_TRON_FASTBOOT__BOOT_IMAGE__URL: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/boot.img"
# NOTE: For fastboot devices, we will need to use something like this
# .ci-tron-device-boot-flow-fastboot-image:
# variables:
# CI_TRON_FASTBOOT__BOOT_IMAGE: "glartifact://${CI_TRON__PMB_BUILD_JOB}/${CI_TRON__PMB_EXPORT_PATH}/bootimg"
# Include all the devices that need and can to be tested
@@ -88,13 +89,13 @@ prepare-{{ device.name }}:
extends:
.pmos-ci-tron-build-boot-artifacts
{%- if device.has_kernel_variants %}
# Let's build all the boot artifacts for all the supported kernel variants in
# Let's build all the boot artifacts for all the supported kernels in
# different jobs, but hide them behind a single job name so as not to pollute
# the pipeline.
parallel:
matrix:
- KERNEL_VARIANT:
{%- for kernel in device.kernel_variants %}
{%- for kernel in device.kernels %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
@@ -108,7 +109,7 @@ prepare-{{ device.name }}:
DEVICE_NAME: {{ device.name }}
# NOTE: All the packages that may influence testing should have an
# `install-if postmarketos-mkinitfs-hook-ci`, so no need to add them here
INSTALL_PACKAGES: {{ device.pkgname }} {% if device.has_kernel_variants %}{{ device.pkgname }}-kernel-${KERNEL_VARIANT} {% endif %}postmarketos-mkinitfs-hook-ci
INSTALL_PACKAGES: {{ device.pkgname }} {{ device.pkgname }}-kernel-${KERNEL_VARIANT} postmarketos-mkinitfs-hook-ci
.test-{{ device.name }}:
stage: hardware tests
@@ -120,7 +121,7 @@ prepare-{{ device.name }}:
parallel:
matrix:
- KERNEL_VARIANT:
{%- for kernel in device.kernel_variants %}
{%- for kernel in device.kernels %}
- {{ kernel }}
{%- endfor %}
{%- endif %}
@@ -128,11 +129,8 @@ prepare-{{ device.name }}:
needs:
- job: 'prepare-{{ device.name }}'
artifacts: false
{%- if device.has_kernel_variants %}
parallel:
matrix:
- KERNEL_VARIANT: $[[ matrix.KERNEL_VARIANT ]]
{%- endif %}
# NOTE: We can't wait for a particular job in the matrix until GitLab implements support for it:
# https://gitlab.com/gitlab-org/gitlab/-/issues/423553
variables:
CI_TRON__PMB_BUILD_JOB: "prepare-{{ device.name }}{% if device.has_kernel_variants %}: [$KERNEL_VARIANT]{% endif %}"
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: '{{ device.deviceinfo.kernel_cmdline }}'
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
+1 -1
View File
@@ -11,7 +11,7 @@ if [ "$(id -u)" = 0 ]; then
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
+1 -1
View File
@@ -6,7 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
+1 -1
View File
@@ -5,7 +5,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
+3
View File
@@ -2,6 +2,9 @@
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import tempfile
import sys
import subprocess
# Same dir
+16 -6
View File
@@ -7,12 +7,18 @@
import configparser
import os
import subprocess
from functools import cache
@cache
cache = {}
def get_pmaports_dir():
return os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
global cache
if "pmaports_dir" in cache:
return cache["pmaports_dir"]
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
cache["pmaports_dir"] = ret
return ret
def run_git(parameters, check=True, stderr=None):
@@ -45,7 +51,6 @@ def run_pmbootstrap(parameters):
subprocess.run(cmd, universal_newlines=True, check=True)
@cache
def get_upstream_branch():
""" Use pmaports.cfg from current branch (e.g. "v20.05_fix-ci") and
channels.cfg from master to retrieve the upstream branch.
@@ -56,6 +61,10 @@ def get_upstream_branch():
if target_branch := os.environ.get("CI_MERGE_REQUEST_TARGET_BRANCH_NAME"):
return target_branch
global cache
if "upstream_branch" in cache:
return cache["upstream_branch"]
# Get channel (e.g. "stable") from pmaports.cfg
# https://postmarketos.org/pmaports.cfg
pmaports_dir = get_pmaports_dir()
@@ -73,10 +82,11 @@ def get_upstream_branch():
" This appears to be an old branch, consider recreating your change" \
" on top of master."
return channels_cfg[channel]["branch_pmaports"]
ret = channels_cfg[channel]["branch_pmaports"]
cache["upstream_branch"] = ret
return ret
@cache
def get_base_commit() -> str:
"""Get the base commit that can be compared with HEAD to get all commits in the
given branch/merge request."""
+18 -7
View File
@@ -88,7 +88,7 @@ class Device:
return self.package_dependencies | self.testing_dependencies
@cached_property
def kernel_variants(self) -> list[str]:
def kernels(self) -> list[str] | None:
kernels = []
subpackage_prefix = f"device-{self.codename}-kernel-"
@@ -101,7 +101,10 @@ class Device:
if kernel_name != "none":
kernels.append(kernel_name)
return kernels
if kernels:
return kernels
else:
return None
@cached_property
def deviceinfo(self) -> dict[str, Deviceinfo] | Deviceinfo:
@@ -114,7 +117,7 @@ class Device:
@property
def has_kernel_variants(self):
return len(self.kernel_variants) > 0
return len(self.kernels) > 0
@classmethod
def supported_devices(cls) -> dict[Path, Self]:
@@ -139,12 +142,21 @@ class Device:
class ArchTagSet(set):
supported_arches = [
Arch.x86_64,
Arch.x86,
Arch.aarch64,
Arch.armv7,
Arch.armhf,
Arch.riscv64,
Arch.ppc64le,
]
def update(self, iterable):
supported_arches = Arch.supported_binary()
# This ignores things like !armv7, that could be a follow-up optimization
if 'noarch' in iterable or 'all' in iterable:
iterable = [arch for arch in supported_arches]
super().update([Arch(arch) for arch in iterable if Arch(arch) in supported_arches])
iterable = [arch for arch in self.supported_arches]
super().update([Arch(arch) for arch in iterable if Arch(arch) in self.supported_arches])
if __name__ == "__main__":
@@ -221,7 +233,6 @@ if __name__ == "__main__":
Arch.armhf: "qemu",
Arch.riscv64: "qemu",
Arch.ppc64le: "ppc64le",
Arch.loongarch64: "loongarch64",
},
)
with open(child_pipeline, "w") as fw:
+1 -1
View File
@@ -8,7 +8,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh pytest
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
+1 -1
View File
@@ -16,12 +16,12 @@ fi
sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-dns-filter.sh
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-tethering.sh
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-ui-os-installer/rootfs-usr-bin-pmos_setup.sh
./main/postmarketos-usb-moded/rootfs-usr-lib-systemd-system-generators-umtprd-config-generator
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./device/community/soc-qcom/call_audio_idle_suspend_workaround.sh
-1
View File
@@ -27,7 +27,6 @@ def args(request):
args.offline = False
args.action = "init"
args.cross = False
args.ccache = False
args.log = None
init_args(args)
+1 -1
View File
@@ -14,7 +14,7 @@ def test_aports_ui():
"""
pmaports_cfg = pmb.config.pmaports.read_config()
for arch in pmaports_cfg["supported_arches"].split(","):
for path in common.get_changed_files(removed=False):
for path in common.get_changed_files():
path = Path(path)
if path.name != "APKBUILD":
+1 -1
View File
@@ -6,7 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
+22
View File
@@ -5,6 +5,10 @@
#
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'
@@ -91,6 +95,20 @@ check_local_sources() {
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
}
cleanup() {
[ -f "$_staged" ] && rm "$_staged"
}
@@ -104,4 +122,8 @@ for apkbuild in $(changed_files '**/APKBUILD'); do
cleanup
done
for path in $(changed_files); do
check_file_size "$path"
done
trap - EXIT
+2 -2
View File
@@ -153,7 +153,7 @@ mr-settings:
before_script:
- apk -q add python3
script:
- wget -q "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/check_mr_settings.py"
- wget -q "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/check_mr_settings.py"
- python3 ./check_mr_settings.py
# Calculate build of changed aports using a dynamic downstream pipelines:
@@ -172,7 +172,7 @@ generate-build-jobs:
- .ci/lib/gitlab_prepare_ci.sh
needs: []
script:
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh py3-jinja2
# HACK: Make the pmb library happy to use the currently-cloned pmaports repo
+1 -2
View File
@@ -27,8 +27,7 @@
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v25.12`
* [ ] `v25.06` (supported until 2026-01-23)
* [ ] `v25.06`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
-2
View File
@@ -1,5 +1,3 @@
Casey Connolly <casey.connolly@linaro.org> <caleb.connolly@linaro.org>
Casey Connolly <kcxt@postmarketos.org> <caleb@postmarketos.org>
Achill Gilgenast <achill@achill.org> <fossdd@pwned.life>
Aelin <aelin@postmarketos.org> <adrian@postmarketos.org>
Aelin <aelin@postmarketos.org> <adrian@travitia.xyz>
+3 -3
View File
@@ -9,13 +9,13 @@ branch_aports=master
mirrordir_alpine=edge
[v25.12]
description=Latest release / Recommended for best stability
description=Upcoming stable release (DO NOT USE)
branch_pmaports=v25.12
branch_aports=3.23-stable
branch_aports=master
mirrordir_alpine=v3.23
[v25.06]
description=Old release (supported until 2026-01-23)
description=Latest release / Recommended for best stability
branch_pmaports=v25.06
branch_aports=3.22-stable
mirrordir_alpine=v3.22
+1 -1
View File
@@ -2,7 +2,7 @@ cross-gcc-tests:
extends: .package-test
tags: [qemu]
before_script:
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/install_pmbootstrap.sh"
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- su pmos -c "pmbootstrap build gcc-aarch64"
+1 -1
View File
@@ -4,7 +4,7 @@
# armhf chroot to /usr/bin/gcc. That way compilation works fine, even
# when distcc gets the absolute path to the compiler passed (ccache does
# that).
maintainer=""
pkgname=arch-bin-masquerade
pkgver=2
pkgrel=0
+1 -1
View File
@@ -2,7 +2,7 @@
# compiling packages in the native chroot (e.g. kernel packages), the
# cross-compiler does not get called directly, but wrapped through
# ccache, which can then cache the results.
maintainer=""
pkgname=ccache-cross-symlinks
pkgver=3
pkgrel=3
+2 -1
View File
@@ -1,3 +1,4 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# https://docs.postmarketos.org/pmbootstrap/cross_compiling.html
#
# Wrapper for the "crossdirect" compilation method.
@@ -17,7 +18,7 @@
# chroot. See crossdirect.c for implementation details of the C version (llvm,
# fakeroot, rpath). The rust version and redirect for archivers are implemented
# as simple shell wrappers.
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
pkgname=crossdirect
pkgver=5.3.1
pkgrel=1
-1
View File
@@ -1,4 +1,3 @@
maintainer=""
pkgname=grub-x86
pkgver=1
pkgrel=2
@@ -1,33 +0,0 @@
From abcc28985f5ab3b50c3ed85abee5e7f8bbd0889e Mon Sep 17 00:00:00 2001
From: Oliver Smith <ollieparanoid@postmarketos.org>
Date: Sun, 21 Dec 2025 17:04:26 +0100
Subject: [PATCH] meson: disable libintl check if pam is disabled
Disable the libintl check when building without the pam feature, so e.g.
systemd-boot can be (cross) compiled without having the foreign arch
libintl installed on a musl platform.
---
meson.build | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index bcf1ff2df5..c7088f3d9c 100644
--- a/meson.build
+++ b/meson.build
@@ -1021,11 +1021,10 @@ libdl = cc.find_library('dl')
# On some distributions that use musl (e.g. Alpine), libintl.h may be provided by gettext rather than musl.
# In that case, we need to explicitly link with libintl.so.
-if cc.has_function('dgettext',
+libintl = []
+if get_option('pam').enabled() and not cc.has_function('dgettext',
prefix : '''#include <libintl.h>''',
args : '-D_GNU_SOURCE')
- libintl = []
-else
libintl = cc.find_library('intl')
if not cc.has_function('dgettext',
prefix : '''#include <libintl.h>''',
--
2.52.0
@@ -0,0 +1,149 @@
From 01ce16f1299237946cf07f54952b72e533e5c59b Mon Sep 17 00:00:00 2001
From: Struan Robertson <contact@struan.tech>
Date: Thu, 18 Sep 2025 15:32:35 +0100
Subject: [PATCH] patch wchar_t for musl
---
src/basic/stdio-util.h | 2 +-
src/boot/efi-string.c | 10 +++++-----
src/boot/efi.h | 6 +++---
src/boot/fuzz-efi-printf.c | 2 +-
src/boot/test-efi-string.c | 2 +-
src/test/test-format-util.c | 4 ++--
6 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
index 052087ce15..f9412e8be2 100644
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
@@ -49,7 +49,7 @@ do { \
(void) va_arg(ap, long long int); \
break; \
case PA_WCHAR: \
- (void) va_arg(ap, wchar_t); \
+ (void) va_arg(ap, uint16_t); \
break; \
case PA_WSTRING: \
case PA_STRING: \
diff --git a/src/boot/efi-string.c b/src/boot/efi-string.c
index 8e2c73d84d..08003fac5a 100644
--- a/src/boot/efi-string.c
+++ b/src/boot/efi-string.c
@@ -597,7 +597,7 @@ typedef struct {
bool have_field_width;
const char *str;
- const wchar_t *wstr;
+ const uint16_t *wstr;
/* For numbers. */
bool is_signed;
@@ -658,7 +658,7 @@ static bool push_str(FormatContext *ctx, SpecifierContext *sp) {
push_padding(ctx, ' ', sp->padded_len);
/* In userspace unit tests we cannot just memcpy() the wide string. */
- if (sp->wstr && sizeof(wchar_t) == sizeof(char16_t)) {
+ if (sp->wstr && sizeof(uint16_t) == sizeof(char16_t)) {
memcpy(ctx->buf + ctx->n, sp->wstr, sp->len * sizeof(*sp->wstr));
ctx->n += sp->len;
} else {
@@ -752,7 +752,7 @@ static bool handle_format_specifier(FormatContext *ctx, SpecifierContext *sp) {
* int in vararg functions, which is why we fetch only ints for any such types. The compiler would
* otherwise warn about fetching smaller types. */
assert_cc(sizeof(int) == 4);
- assert_cc(sizeof(wchar_t) <= sizeof(int));
+ assert_cc(sizeof(uint16_t) <= sizeof(int));
assert_cc(sizeof(long long) == sizeof(intmax_t));
assert(ctx);
@@ -847,13 +847,13 @@ static bool handle_format_specifier(FormatContext *ctx, SpecifierContext *sp) {
return push_str(ctx, sp);
case 'c':
- sp->wstr = &(wchar_t){ va_arg(ctx->ap, int) };
+ sp->wstr = &(uint16_t){ va_arg(ctx->ap, int) };
sp->len = 1;
return push_str(ctx, sp);
case 's':
if (sp->long_arg) {
- sp->wstr = va_arg(ctx->ap, const wchar_t *) ?: L"(null)";
+ sp->wstr = va_arg(ctx->ap, const uint16_t *) ?: L"(null)";
sp->len = wcsnlen(sp->wstr, sp->len);
} else {
sp->str = va_arg(ctx->ap, const char *) ?: "(null)";
diff --git a/src/boot/efi.h b/src/boot/efi.h
index 1832df980c..4e6a2f7288 100644
--- a/src/boot/efi.h
+++ b/src/boot/efi.h
@@ -16,7 +16,7 @@
#if SD_BOOT
/* uchar.h/wchar.h are not suitable for freestanding environments. */
-typedef __WCHAR_TYPE__ wchar_t;
+typedef __WCHAR_TYPE__ uint16_t;
typedef __CHAR16_TYPE__ char16_t;
typedef __CHAR32_TYPE__ char32_t;
@@ -28,7 +28,7 @@ assert_cc(sizeof(uint8_t) == 1);
assert_cc(sizeof(uint16_t) == 2);
assert_cc(sizeof(uint32_t) == 4);
assert_cc(sizeof(uint64_t) == 8);
-assert_cc(sizeof(wchar_t) == 2);
+assert_cc(sizeof(uint16_t) == 2);
assert_cc(sizeof(char16_t) == 2);
assert_cc(sizeof(char32_t) == 4);
assert_cc(sizeof(size_t) == sizeof(void *));
@@ -38,7 +38,7 @@ assert_cc(alignof(uint8_t) == 1);
assert_cc(alignof(uint16_t) == 2);
assert_cc(alignof(uint32_t) == 4);
assert_cc(alignof(uint64_t) == 8);
-assert_cc(alignof(wchar_t) == 2);
+assert_cc(alignof(uint16_t) == 2);
assert_cc(alignof(char16_t) == 2);
assert_cc(alignof(char32_t) == 4);
diff --git a/src/boot/fuzz-efi-printf.c b/src/boot/fuzz-efi-printf.c
index 2857b389a2..ec2a45568f 100644
--- a/src/boot/fuzz-efi-printf.c
+++ b/src/boot/fuzz-efi-printf.c
@@ -44,7 +44,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
fuzz_setup_logging();
PRINTF_ONE(i->status, "%*.*s", i->field_width, (int) len, i->str);
- PRINTF_ONE(i->status, "%*.*ls", i->field_width, (int) (len / sizeof(wchar_t)), (const wchar_t *) i->str);
+ PRINTF_ONE(i->status, "%*.*ls", i->field_width, (int) (len / sizeof(uint16_t)), (const uint16_t *) i->str);
PRINTF_ONE(i->status, "%% %*.*m", i->field_width, i->precision);
PRINTF_ONE(i->status, "%*p", i->field_width, i->ptr);
diff --git a/src/boot/test-efi-string.c b/src/boot/test-efi-string.c
index e0d3bd9b71..52c65d753d 100644
--- a/src/boot/test-efi-string.c
+++ b/src/boot/test-efi-string.c
@@ -705,7 +705,7 @@ TEST(xvasprintf_status) {
test_printf_one("%-14ls %-10.0ls %-10.3ls", L"left", L"", L"chopped");
test_printf_one("%.6s", (char[]){ 'n', 'o', ' ', 'n', 'u', 'l' });
- test_printf_one("%.6ls", (wchar_t[]){ 'n', 'o', ' ', 'n', 'u', 'l' });
+ test_printf_one("%.6ls", (uint16_t[]){ 'n', 'o', ' ', 'n', 'u', 'l' });
test_printf_one("%u %u %u", 0U, 42U, 1234567890U);
test_printf_one("%i %i %i", 0, -42, -1234567890);
diff --git a/src/test/test-format-util.c b/src/test/test-format-util.c
index 0a95837dbe..d07333a5d1 100644
--- a/src/test/test-format-util.c
+++ b/src/test/test-format-util.c
@@ -18,8 +18,8 @@ assert_cc(STRLEN(U"") == 0);
assert_cc(STRLEN(U"a") == sizeof(char32_t));
assert_cc(STRLEN(U"123") == 3 * sizeof(char32_t));
assert_cc(STRLEN(L"") == 0);
-assert_cc(STRLEN(L"a") == sizeof(wchar_t));
-assert_cc(STRLEN(L"123") == 3 * sizeof(wchar_t));
+assert_cc(STRLEN(L"a") == sizeof(uint16_t));
+assert_cc(STRLEN(L"123") == 3 * sizeof(uint16_t));
assert_cc(DECIMAL_STR_MAX(uint8_t) == STRLEN("255")+1);
assert_cc(DECIMAL_STR_MAX(int8_t) == STRLEN("-127")+1);
assert_cc(DECIMAL_STR_MAX(uint64_t) == STRLEN("18446744073709551615")+1);
--
2.51.0
@@ -0,0 +1,61 @@
From 9047f8b2a7374d95e8261f15941d07b6e4def3fe Mon Sep 17 00:00:00 2001
From: Clayton Craft <clayton@craftyguy.net>
Date: Tue, 7 Jan 2025 20:19:51 -0800
Subject: [PATCH] (pmOS cross/systemd-boot-x86 specific): meson: minimal
configure for building systemd-boot
Notes:
- toggling all ENABLED_* things off saves a ton of configure
time
- Removing capability.h, so that cross compiling doesn't fail
because that header isn't installed
- Set libcap to required=false, they aren't needed for building the
bootloader, and they complicate cross compilation
IMPORTANT: some of these dependencies don't exist for the target arch
(x86) and since they aren't actually required by sd-boot it's easier
to just disable/remove them from meson.build!!!
---
meson.build | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 238b935372..8449eb8ecd 100644
--- a/meson.build
+++ b/meson.build
@@ -688,7 +688,6 @@ conf.set('GPERF_LEN_TYPE', gperf_len_type,
foreach header : [
'crypt.h',
- 'sys/capability.h',
]
if not cc.has_header(header)
@@ -997,7 +996,7 @@ threads = dependency('threads')
librt = cc.find_library('rt')
libm = cc.find_library('m')
libdl = cc.find_library('dl')
-libcap = dependency('libcap')
+libcap = dependency('libcap', required : false)
# On some architectures, libatomic is required. But on some installations,
# it is found, but actual linking fails. So let's try to use it opportunistically.
@@ -1886,6 +1885,15 @@ pefile = pymod.find_installation('python3', required: false, modules : ['pefile'
want_ukify = get_option('ukify').require(python_39 and (want_tests != 'true' or pefile.found()), error_message : 'Python >= 3.9 and pefile required').allowed()
conf.set10('ENABLE_UKIFY', want_ukify)
+foreach key : conf.keys()
+ if key.startswith('ENABLE_')
+ conf.set10(key, false)
+ endif
+endforeach
+
+conf.set10('ENABLE_EFI', true)
+conf.set10('ENABLE_BOOTLOADER', true)
+
#####################################################################
check_efi_alignment_py = files('tools/check-efi-alignment.py')
--
2.51.0
+9 -7
View File
@@ -1,12 +1,13 @@
# Forked from Alpine to cross compile for x86_64 systems that have x86 EFI
maintainer=""
pkgname=systemd-boot-x86
_pkgname=systemd-boot # for monitoring
pkgver=259
pkgver=258.2
pkgrel=0
pkgdesc="systemd's EFI boot manager for x86 EFI on x86_64."
url="https://systemd.io/"
arch="x86_64" # x86 32-bit only makes sense on x86 64-bit
# riscv64: I have no way to test this currently
arch="x86_64"
license="LGPL-2.1-or-later"
makedepends="
bash
@@ -22,7 +23,8 @@ makedepends="
"
source="
systemd-$pkgver.tar.gz::https://github.com/systemd/systemd/archive/refs/tags/v$pkgver.tar.gz
0001-meson-disable-libintl-check-if-pam-is-disabled.patch
0001-patch-wchar_t-for-musl.patch
0002-meson-minimal-configure-for-building-systemd-boot.patch
cross-x86.meson
"
# check: no tests
@@ -35,7 +37,6 @@ builddir="$srcdir/systemd-$pkgver"
build() {
abuild-meson \
-Dlibc="musl" \
-Dsbat-distro="alpine" \
-Dsbat-distro-summary="Alpine Linux" \
-Dsbat-distro-pkgname="$pkgname" \
@@ -118,7 +119,8 @@ efistub() {
}
sha512sums="
ef46b13661df43e3cfbeee1bc22f0b1eb902e8ebe39c19868c465efd08b35a199c2a2cd9d8021a6bc4d692fa0c6e0eab3f13eecd6ce24dde81d3945464a25b50 systemd-259.tar.gz
8ecb5e25c0d8b01c406fa3084b0910d517cabbf12894958b4d3d77462cb0924f0a52fe2bf1aa39af29b16fd78fe080a6a99daa18015c6059fb2e52c971d83ba9 0001-meson-disable-libintl-check-if-pam-is-disabled.patch
1dc016a5a037aec2682e08d2add0dcf8d03db15b45ce8c6b677898f734aefd4694ce18e588d579e42514071fc4c167b2bf53808478b2bd3856b257c9fbcde45d systemd-258.2.tar.gz
9ff8da74fa51b0ededaf6cf7b80b03f433c8617db39eb5cde01477031fa00724b8b7bdf68c945c277510f81e7fbbf3b2732f2c781b0f6ce67569b2737581595b 0001-patch-wchar_t-for-musl.patch
5cffc18f3eaaab1b6cc8f7191afed628036b9e794ca7f9fe0a7eb4653862f8cd2b43f18483916b52cdca4ddb17b8baae5baa212aa152b1ae8f2b31d57d6e1f45 0002-meson-minimal-configure-for-building-systemd-boot.patch
ad54e2c7e7a21bfa9b5f9e8db1b6af6a6d78a3e5dfe2dafcec77488f6224865ab4d4c8a8c8ee1c54c99d1741361e9fb3a51e5d36bcbc7a1c3fdcc4d0c1672132 cross-x86.meson
"
@@ -1,27 +0,0 @@
# Use this gitlab-ci snippet if your package:
#
# * is a Qualcomm device
# * has its runner tags definition found in ci-common's ci-tron/common.yml
# * uses U-boot as bootloader
# * The devicepackage does not support U-boot and UEFI, but still uses the stock
# bootloader
test-{{ device.name }}:
extends:
# Extended from jobs defined in ci-common/ci-tron/common.yml
- .pmos-ci-tron-runner-{{ device.name }}
# Extended from build-jobs.yaml.j2
- .device-boot-flow-separate-artifacts
- .test-{{ device.name }}
variables:
# Let CI-tron construct the bootimg accepted by U-boot in a standard
# Qualcomm way
CI_TRON_FASTBOOT__HEADER_VERSION: 2
CI_TRON_FASTBOOT__BASE: 0x00000000
CI_TRON_FASTBOOT__KERNEL_OFFSET: 0x00008000
CI_TRON_FASTBOOT__RAMDISK_OFFSET: 0x01000000
CI_TRON_FASTBOOT__TAGS_OFFSET: 0x00000100
CI_TRON_FASTBOOT__PAGESIZE: 4096
CI_TRON_KERNEL_CMDLINE__CONSOLE: "console=ttyMSM0,115200"
KERNEL_NAME: "vmlinuz"
+1 -1
View File
@@ -1,6 +1,6 @@
# Archived: Kernel sources have disappeared, does not build anymore
# Maintainer: Hadi Charara <hadicharara@ymail.com>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Hadi Charara <hadicharara@ymail.com>"
pkgname=device-amazon-suez
pkgdesc="Amazon Fire HD 10"
pkgver=2
@@ -1,7 +1,7 @@
# Archived: Replaced by apple-idevice
# Maintainer: Jonas Heinrich <onny@project-insanity.org>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Jonas Heinrich <onny@project-insanity.org>"
pkgname=device-apple-iphone7
pkgdesc="Apple iPhone 7"
pkgver=2
+1 -1
View File
@@ -1,7 +1,7 @@
# Archived: Replaced by apple-idevice
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Aster Boese <asterboese@mailbox.org>"
# Maintainer: Aster Boese <asterboese@mailbox.org>
pkgname=device-apple-n61
pkgdesc="Apple iPhone 6"
pkgver=3
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-asus-sparrow-downstream
pkgdesc="ASUS ZenWatch 2 (Downstream)"
pkgver=2
+1 -1
View File
@@ -1,7 +1,7 @@
# Archived: Kernel doesn't build anymore
#
# Maintainer: Achill Gilgenast <achill@achill.org>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Achill Gilgenast <achill@achill.org>"
pkgname=device-bq-tenshi
pkgdesc="BQ Aquaris U Plus"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: linux-radxa-dev packages x86_64 binaries in aarch64 package which makes akms part of this device fail when built on aarch64
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Antoine Martin (ayakael) <dev@ayakael.net>"
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=device-clockworkpi-uconsole-radxa-cm5
pkgdesc="Clockwork Tech ClockworkPi uConsole Radxa CM5"
pkgver=5
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-fairphone-fp2-downstream
pkgdesc="Fairphone 2 (Downstream)"
pkgver=2
+1 -1
View File
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Maintainer: Max Buchholz <2maxax2@gmx.de>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Max Buchholz <2maxax2@gmx.de>"
pkgname=device-htc-enrc2b
pkgdesc="HTC One X+"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-htc-memul-downstream
pkgdesc="HTC One Mini 2 (Downstream)"
pkgver=2
+1 -1
View File
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/devicepkg>
maintainer="gtrxAC <gtrxac2@gmail.com>"
# Maintainer: gtrxAC <gtrxac2@gmail.com>
pkgname=device-huawei-plank
pkgdesc="Huawei Honor 7"
pkgver=3
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-huawei-sturgeon-downstream
pkgdesc="Huawei Watch"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-lg-lenok-downstream
pkgdesc="LG G Watch R (Downstream)"
pkgver=2
+2 -1
View File
@@ -1,6 +1,7 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Uclydde <julianbraha@gmail.com>"
# Maintainer: Uclydde <julianbraha@gmail.com>
pkgname=device-lg-us996
pkgdesc="LG V20"
pkgver=3
+1 -1
View File
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Maintainer: ky0ko <ky0ko@disroot.org>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="ky0ko <ky0ko@disroot.org>"
pkgname=device-motorola-def
pkgdesc="Motorola Moto One Hyper"
pkgver=2
+1 -1
View File
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Piotr Halama <skrzynka@halamix2.pl>"
# Maintainer: Piotr Halama <skrzynka@halamix2.pl>
pkgname=device-nokia-frt
pkgdesc="Nokia 1"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-oneplus-bacon-downstream
pkgver=2
pkgrel=0
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Henrik Grimler <henrik@grimler.se>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Henrik Grimler <henrik@grimler.se>"
pkgname=device-samsung-chagallwifi-downstream
pkgdesc="Samsung Galaxy Tab S 10.5 (Downstream)"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/devicepkg>
maintainer="omame <me@omame.xyz>"
# Maintainer: omame <me@omame.xyz>
pkgname=device-samsung-j6primelte
pkgdesc="Samsung Galaxy J6+"
pkgver=4
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Eray Tutmaz <tarkanttmz261@gmail.com>"
# Maintainer: Eray Tutmaz <tarkanttmz261@gmail.com>
pkgname=device-samsung-j7y17lte
pkgdesc="Samsung Galaxy J7 2017"
pkgver=4
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Henrik Grimler <henrik@grimler.se>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Henrik Grimler <henrik@grimler.se>"
pkgname=device-samsung-klimtlte-downstream
pkgdesc="Samsung Galaxy Tab S 8.4 LTE (Downstream)"
pkgver=6
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Hendrik Noack <hendrik.noack@protonmail.com>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Hendrik Noack <hendrik.noack@protonmail.com>"
pkgname=device-samsung-n2awifi-downstream
pkgdesc="Samsung Galaxy Tab Pro 10.1 WiFi"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Maintainer: Théo Friberg <fsmnarmosta@posteo.net>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Théo Friberg <fsmnarmosta@posteo.net>"
pkgname=device-samsung-nevisp
pkgdesc="Samsung Galaxy Fame GT-S6810P"
pkgver=4
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Hendrik Noack <hendrik.noack@protonmail.com>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Hendrik Noack <hendrik.noack@protonmail.com>"
pkgname=device-samsung-v1awifi-downstream
pkgdesc="Samsung Galaxy Note Pro 12.2 WiFi (Downstream)"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-sony-leo-downstream
pkgdesc="Sony Xperia Z3 (Downstream)"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer=""
# Maintainer:
pkgname=device-volla-mimameid-downstream
pkgdesc="Volla Phone 22 (Downstream)"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Maintainer: Fedorov Bohdan <misterjdr@yandex.ru>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Fedorov Bohdan <misterjdr@yandex.ru>"
pkgname=device-xiaomi-cactus
pkgdesc="Xiaomi Redmi 6A"
pkgver=2
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Maintainer: Eli Riggs <eli@rje.li>
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Eli Riggs <eli@rje.li>"
pkgname=device-xiaomi-willow
pkgdesc="Xiaomi Redmi Note 8T"
pkgver=2
@@ -1,5 +1,5 @@
# Archived: Kernel does not build anymore
maintainer="ky0ko <ky0ko@disroot.org>"
# Maintainer: ky0ko <ky0ko@disroot.org>
pkgname=firmware-motorola-def
pkgver=1
pkgrel=1
@@ -1,5 +1,5 @@
# Archived: Kernel does not build anymore
maintainer="omame <me@omame.xyz>"
# Maintainer: omame <me@omame.xyz>
pkgname=firmware-samsung-j6primelte
pkgver=0.1
pkgrel=1
@@ -1,5 +1,5 @@
# Archived: Only used by archived downstream kernel
maintainer="knuxify <knuxify@gmail.com>"
# Maintainer: knuxify <knuxify@gmail.com>
pkgname=firmware-samsung-lt01wifi-downstream
pkgver=0.1
pkgrel=0
@@ -1,5 +1,5 @@
# Archived: Kernel does not build anymore
maintainer="Théo Friberg <fsmnarmosta@posteo.net>"
# Maintainer: Théo Friberg <fsmnarmosta@posteo.net>
pkgname=firmware-samsung-nevisp
pkgver=1
pkgrel=0
@@ -1,5 +1,5 @@
# Archived: Kernel does not build anymore
maintainer="Eli Riggs <eli@rje.li>"
# Maintainer: Eli Riggs <eli@rje.li>
pkgname=firmware-xiaomi-willow
pkgver=1
pkgrel=0
+2 -1
View File
@@ -1,7 +1,8 @@
# Archived: Kernel sources have disappeared, does not build anymore
# Maintainer: Hadi Charara <hadicharara@ymail.com>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/suez_defconfig
maintainer="Hadi Charara <hadicharara@ymail.com>"
pkgname=linux-amazon-suez
pkgver=3.18.19
pkgrel=3
+3 -1
View File
@@ -1,7 +1,9 @@
# Archived: Replaced by linux-postmarketos-apple-16k
# Maintainer: Jonas Heinrich <onny@project-insanity.org>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/hx_h9p_defconfig
maintainer="Jonas Heinrich <onny@project-insanity.org>"
pkgname=linux-apple-iphone7
pkgver=5.4.14
pkgrel=2
+1 -1
View File
@@ -1,8 +1,8 @@
# Archived: Kernel doesn't build anymore
#
# Maintainer: Achill Gilgenast <achill@achill.org>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/lineage_tenshi_defconfig
maintainer="Achill Gilgenast <achill@achill.org>"
pkgname=linux-bq-tenshi
pkgver=3.18.31
pkgrel=0
@@ -1,7 +1,8 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/vendorkernel>
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
# Kernel config based on: arch/arm/configs/lineageos_FP2_defconfig
maintainer="Luca Weiss <luca@lucaweiss.eu>"
pkgname=linux-fairphone-fp2-downstream
pkgver=3.4.0
pkgrel=0
+2 -1
View File
@@ -1,7 +1,8 @@
# Archived: Kernel does not build anymore
# Maintainer: Max Buchholz <2maxax2@gmx.de>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/enrc2b_defconfig
maintainer="Max Buchholz <2maxax2@gmx.de>"
pkgname=linux-htc-enrc2b
pkgver=3.1.10
pkgrel=4
+2 -1
View File
@@ -1,6 +1,7 @@
# Archived: Kernel does not build anymore
# Maintainer: ky0ko <ky0ko@disroot.org>
# Reference: <https://postmarketos.org/vendorkernel>
maintainer="ky0ko <ky0ko@disroot.org>"
pkgname=linux-motorola-def
pkgver=4.14.117
pkgrel=2
+1 -1
View File
@@ -1,7 +1,7 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/FRT_defconfig
maintainer="Piotr Halama <skrzynka@halamix2.pl>"
# Maintainer: Piotr Halama <skrzynka@halamix2.pl>
pkgname=linux-nokia-frt
pkgver=3.18.79
pkgrel=6
+1 -1
View File
@@ -1,7 +1,7 @@
# Archived: -dev packages x86_64 binaries in aarch64 package which makes akms part of device-clockworkpi-uconsole-radxa-cm5 fail when built on aarch64
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/rockchip_linux_defconfig
maintainer="Antoine Martin (ayakael) <dev@ayakael.net>"
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=linux-radxa
pkgver=6.1.115
pkgrel=1
@@ -4,7 +4,7 @@
pkgname=linux-samsung-a3y17lte
pkgver=3.18.14
pkgrel=3
pkgrel=2
pkgdesc="Samsung Galaxy A3 (2017) kernel fork"
arch="aarch64"
_carch="arm64"
@@ -38,24 +38,14 @@ _outdir="out"
prepare() {
default_prepare
. downstreamkernel_prepare
# Fix for proc.S build error
sed -i '189s/#.*//' arch/arm64/mm/proc.S
# Neutralizing FIPS integrity checks, just returning 0
echo "int main() { return 0; }" > scripts/fips_crypto_utils.c
# Silence FIPS hmac script
echo "exit 0" > scripts/fips_crypto_hmac.sh
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
KCFLAGS="-Wno-error -w -fno-pie -fno-stack-protector -std=gnu89 -fcommon" \
CONFIG_FIPS=n
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
# Master DTB (deviceinfo_bootimg_qcdt)
dtbTool-exynos -o "$_outdir/arch/$_carch/boot"/dt.img \
$(find "$_outdir/arch/$_carch/boot/dts/" -name *a3y17lte*.dtb)
}
@@ -66,8 +56,7 @@ package() {
"$pkgdir"/boot/dt.img
}
sha512sums="
71cb4a24bc1aaeaeafd5e00159e560f487eb851a099f652fcb2e9709e6aea4f2e1b95830be13c865c2fab1fad54c9ba209d72068806cef64713e1e12e3d9fb70 linux-samsung-a3y17lte-5414dbfa9f5e114366ff0cc2ffeb9725f3c6b8c3.tar.gz
sha512sums="71cb4a24bc1aaeaeafd5e00159e560f487eb851a099f652fcb2e9709e6aea4f2e1b95830be13c865c2fab1fad54c9ba209d72068806cef64713e1e12e3d9fb70 linux-samsung-a3y17lte-5414dbfa9f5e114366ff0cc2ffeb9725f3c6b8c3.tar.gz
773cfc48bac93381f1b7fa5e191cead49fc0fad923022b2e28532f4b43ac67ef6a6760613c3693226ed9ab67146f30cf3e0e578e0657c901c9af48f75de6881c config-samsung-a3y17lte.aarch64
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
@@ -78,5 +67,4 @@ sha512sums="
66af05562023bebc8334db8236655960e306aa4e2ce216129a077a762bcf951b8c2c286e1c3f45c6478296769e3b6a70f88256e909a9c48f2539bfc056ecf312 04-fix-firmware-make.patch
436f028e28760c2c93c63333ecd78d4d03291264cb2e108f66d75d5f2e44df9b0cba90ecfd762df3aab7ff131eddc13ba033332a6384680bff85424cfe95c4c2 05-add-dts-make.patch
9e532d0051756831e12948a5584f331528be58bcddbfab1e1df0217760d035f81b1ac7361b8e81190d4901761572680965b4dd8ef30492c5f94fc330089ce0b3 06-fix-video-argb-setting.patch
0d56ba508408dc31961ad688f7fd960b0008851fd5729088658095417781b99962740e0c64d162a26f8389e4b4dc88e291252e7935e896fc70bf73c23150caea 07-fix-usb-gadget-random-mac.patch
"
0d56ba508408dc31961ad688f7fd960b0008851fd5729088658095417781b99962740e0c64d162a26f8389e4b4dc88e291252e7935e896fc70bf73c23150caea 07-fix-usb-gadget-random-mac.patch"
@@ -1,8 +1,9 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: David Davies-Jones <david@exultantmonkey.co.uk>
# Co-Maintainer: Henrik Grimler <henrik@grimler.se>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/lineageos_chagallwifi_defconfig
# Co-Maintainer: Henrik Grimler <henrik@grimler.se>
maintainer="David Davies-Jones <david@exultantmonkey.co.uk>"
pkgname=linux-samsung-chagallwifi-downstream
pkgver=3.4.113
pkgrel=0
@@ -1,6 +1,6 @@
# Archived: Kernel does not build anymore
# Reference: <https://postmarketos.org/vendorkernel>
maintainer="omame <me@omame.xyz>"
# Maintainer: omame <me@omame.xyz>
pkgname=linux-samsung-j6primelte
pkgver=3.18.124
pkgrel=4
@@ -1,20 +0,0 @@
From aedfcba925841807c0d401eb55ffbdd9d57ef16b Mon Sep 17 00:00:00 2001
From: Henrik Grimler <henrik@grimler.se>
Date: Fri, 27 Jun 2025 11:17:12 +0200
Subject: [PATCH] Makefile: ignore bundled toolchain
Use the gcc from the system instead.
---
diff --git a/Makefile b/Makefile
index dc4c2fa6..4710528d 100644
--- a/Makefile
+++ b/Makefile
@@ -249,7 +249,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
ARCH ?= arm64
-CROSS_COMPILE ?= ../PLATFORM/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
+# CROSS_COMPILE ?= ../PLATFORM/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
@@ -1,7 +1,8 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Henrik Grimler <henrik@grimler.se>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/lineageos_klimtlte_defconfig
maintainer="Henrik Grimler <henrik@grimler.se>"
pkgname=linux-samsung-klimtlte-downstream
pkgver=3.4.113
pkgrel=0
@@ -1,7 +1,8 @@
# Archived: Kernel does not build anymore
# Maintainer: Théo Friberg <fsmnarmosta@posteo.net>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/cyanogenmod_nevisp_defconfig
maintainer="Théo Friberg <fsmnarmosta@posteo.net>"
pkgname=linux-samsung-nevisp
pkgver=3.0.101
pkgrel=6
@@ -1,7 +1,7 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Maintainer: Audun MG <audun@gangsto.org>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/lineageos_shinano_leo_defconfig
maintainer="Audun MG <audun@gangsto.org>"
pkgname=linux-sony-leo-downstream
pkgver=3.4.113
pkgrel=0
@@ -1,7 +1,8 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/gs5_defconfig
maintainer=""
# Maintainer:
pkgname=linux-volla-mimameid-downstream
pkgver=4.14.186
pkgrel=0
+2 -1
View File
@@ -1,7 +1,8 @@
# Archived: Kernel does not build anymore
# Maintainer: Fedorov Bohdan <misterjdr@yandex.ru>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/cactus_defconfig
maintainer="Fedorov Bohdan <misterjdr@yandex.ru>"
pkgname=linux-xiaomi-cactus
pkgver=4.9.117
pkgrel=3
@@ -1,7 +1,8 @@
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/platina_defconfig
maintainer="Molly Sophia <mollysophia379@gmail.com>"
# Maintainer: Molly Sophia <mollysophia379@gmail.com>
pkgname=linux-xiaomi-platina-downstream
pkgver=4.4.296
pkgrel=0
+2 -1
View File
@@ -1,7 +1,8 @@
# Archived: Kernel does not build anymore
# Maintainer: Eli Riggs <eli@rje.li>
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/vendor/willow-perf_defconfig
maintainer="Eli Riggs <eli@rje.li>"
pkgname=linux-xiaomi-willow
pkgver=4.14.117
pkgrel=3
+1 -1
View File
@@ -1,4 +1,4 @@
maintainer="WeirdTreeThing <bradyn127@protonmail.com>"
# Maintainer: WeirdTreeThing <bradyn127@protonmail.com>
pkgname=alsa-ucm-conf-cros
pkgver=0.8
pkgrel=0
@@ -1,4 +1,4 @@
maintainer="Richard Acayan <mailingradian@gmail.com>"
# Maintainer: Richard Acayan <mailingradian@gmail.com>
pkgname=alsa-ucm-conf-qcom-sdm670
pkgver=1.2.9_git20250707
pkgrel=0
@@ -1,9 +1,9 @@
# Co-Maintainer: Aelin <aelin@postmarketos.org>
# Maintainer: Danila Tikhonov <danila@jiaxyga.com>
# Co-Maintainer: Jens Reidel <adrian@travitia.xyz>
# Co-Maintainer: David Wronek <david@mainlining.org>
maintainer="Danila Tikhonov <danila@jiaxyga.com>"
pkgname=alsa-ucm-conf-qcom-sm7150
pkgver=1.2.14_git20251026
pkgrel=1
pkgrel=0
pkgdesc="ALSA UCM configuration for SM7150 devices"
url="https://github.com/sm7150-mainline/alsa-ucm-conf"
arch="aarch64"
@@ -1,5 +1,5 @@
# Co-Maintainer: Joel Selvaraj <foss@joelselvaraj.com>
maintainer="Casey Connolly <kcxt@postmarketos.org>"
# Maintainer: Casey Connolly <kcxt@postmarketos.org>
# Co-Maintainer: Joel Selvaraj <joelselvaraj.oss@gmail.com>
pkgname=alsa-ucm-conf-sdm845
pkgver=1
pkgrel=1
+1 -1
View File
@@ -1,5 +1,5 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Minecrell <minecrell@minecrell.net>"
# Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-asus-me176c
pkgdesc="ASUS MeMO Pad 7 (ME176C(X))"
pkgver=8
@@ -1,8 +1,8 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Luca Weiss <luca@lucaweiss.eu>"
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-fairphone-fp4
pkgdesc="Fairphone 4"
pkgver=7
pkgver=6
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -39,6 +39,7 @@ subpackages="$pkgname-openrc"
source="
81-libssc-fairphone-fp4.rules
deviceinfo
hexagonrpcd.confd
modules-initfs
"
@@ -51,6 +52,8 @@ package() {
install -Dm644 "$srcdir"/81-libssc-fairphone-fp4.rules \
"$pkgdir"/usr/lib/udev/rules.d/81-libssc-fairphone-fp4.rules
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/usr/share/hexagonrpcd/hexagonrpcd-adsp-sensorspd.conf
}
openrc() {
@@ -69,5 +72,6 @@ openrc() {
sha512sums="
2c16ba75e0077b2b1eaefa4c73b287475505a1aeb291ec29316d41cc094277320f9d2aaabfd91eb1dc0f488ab2d61a94faef16e7afe0f1e226779113761b9a37 81-libssc-fairphone-fp4.rules
06cdf6ba36f29553484dcde46431500550608dfb757836c180886e3dbc2a1ce5e90927690c63aea468e90ce0b1371d15efe62912eb43749c0e0bee27ce5215b3 deviceinfo
6a3d620f2cc60308a62ff651ffb00a5ee1f092131cca9d33b6afd61c8a372a3fd7d46540162213593107e0943b33f3f0119d003d43dcd06dbde757390a6c1729 hexagonrpcd.confd
52bb7ed829caa4dcff9728bd6e3cdf118b3c7ee7dfe90df0d4e6422dd67bf3258ae2a4d2dc7599da4182fbd8eb47a0e1d20c58198dc17f2bf178b8f01a8887f7 modules-initfs
"
@@ -0,0 +1,2 @@
# Fairphone 4 specific hexagonrpcd firmware directory
hexagonrpcd_fw_dir="/usr/share/qcom/sm7225/Fairphone/fairphone4"
@@ -1,6 +1,6 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
# Co-Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Ferass El Hafidi <funderscore@postmarketos.org>
maintainer="Clayton Craft <clayton@craftyguy.net>"
pkgname=device-generic-x86_64
pkgdesc="Generic x86_64 system, with EFI"
pkgver=21
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Anjandev Momi <anjan@momi.ca>"
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=device-google-bonito
pkgdesc="Google Pixel 3a XL"
pkgver=7
pkgrel=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -81,7 +81,7 @@ openrc() {
# The FastRPC service is only enabled when non-free firmware is installed.
install -Dm755 "$srcdir"/no-hexagonrpcd-on-suspend.sh \
-t "$subpkgdir"/usr/libexec/elogind/system-sleep
"$subpkgdir"/etc/elogind/system-sleep/no-hexagonrpcd-on-suspend.sh
}
sha512sums="
+1 -1
View File
@@ -1,6 +1,6 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Sebastian Fleer <dev@dwurp.de>
# Contributor: Jenneron <jenneron@protonmail.com>
maintainer="Sebastian Fleer <dev@dwurp.de>"
pkgname=device-google-gru
pkgdesc="Google Gru Chromebooks"
pkgver=11
@@ -1,10 +1,9 @@
# Co-Maintainer: Alicja Michalska <ellyqw@mainlining.org>
# Co-Maintainer: Ingo Reitz <9l@9lo.re>
maintainer="WeirdTreeThing <bradyn127@protonmail.com>"
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-kukui
pkgdesc="Google Kukui Chromebooks"
pkgver=12
pkgrel=1
pkgver=10
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
+2 -4
View File
@@ -1,8 +1,6 @@
# Reference: <https://postmarketos.org/devicepkg>
# Co-Maintainer: Alicja Michalska <ellyqw@mainlining.org>
# Co-Maintainer: Ingo Reitz <9l@9lo.re>
# Co-Maintainer: WeirdTreeThing <bradyn127@protonmail.com>
maintainer="Adam Thiede <me@adamthiede.com>"
# Maintainer: Adam Thiede <me@adamthiede.com>
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-oak
pkgdesc="Google Oak Chromebooks"
pkgver=9
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Henrik Grimler <henrik@grimler.se>"
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-peach-pit
pkgdesc="Samsung Chromebook 2 (11.6 inch)"
pkgver=9
pkgrel=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
+15 -4
View File
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Richard Acayan <mailingradian@gmail.com>"
# Maintainer: Richard Acayan <mailingradian@gmail.com>
pkgname=device-google-sargo
pkgdesc="Google Pixel 3a"
pkgver=15
pkgrel=1
pkgver=14
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -31,6 +31,8 @@ source="
81-libssc-google-sargo.rules
deviceinfo
hexagonrpcd.confd
modem-gnss.initd
modem-gnss.service
modules-initfs
no-hexagonrpcd-on-suspend.sh
plasmacamerarc
@@ -39,6 +41,7 @@ source="
subpackages="
$pkgname-openrc
$pkgname-plasma-camera:plasma_camera
$pkgname-systemd
"
build() {
@@ -58,6 +61,9 @@ package() {
# The q6voiced configuration can only be used if the ADSP is brought up
# via non-free firmware.
install -Dm644 "$srcdir"/q6voiced.conf "$pkgdir"/etc/conf.d/q6voiced
install -Dm755 "$srcdir"/modem-gnss.service \
-t "$pkgdir"/usr/lib/systemd/system
}
openrc() {
@@ -66,7 +72,10 @@ openrc() {
# The FastRPC service is only enabled when non-free firmware is installed.
install -Dm755 "$srcdir"/no-hexagonrpcd-on-suspend.sh \
-t "$subpkgdir"/usr/libexec/elogind/system-sleep
"$subpkgdir"/etc/elogind/system-sleep/no-hexagonrpcd-on-suspend.sh
install -Dm755 "$srcdir"/modem-gnss.initd \
"$subpkgdir"/etc/init.d/modem-gnss
}
plasma_camera() {
@@ -79,6 +88,8 @@ sha512sums="
089ce0acba4e1d789e337bedfca7570796a6416e7230ae9b8fc6b625747a40dbb064b1a707877cd6b7bdc73844c6571316e2ec0746a77060f13d98c52fdbfc00 81-libssc-google-sargo.rules
003879e246731b6e930cd1f60a910188a76962c0659598176df39f74ff7b727f3bd6fc3aec403bfa001ed4672ba75243e5a783663304b18f54d409b7b636edb4 deviceinfo
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd.confd
99773091f2653f71d4365fdf4cce048a1904cd044a714778567ce0ff6c9c9d76ad537e6e49d1d02bf385f9d35c00794d093ece0fed046072ed5e1ea65baa5201 modem-gnss.initd
c55833c796804966ac8cae4a719aa41df3728b0fc080f11ee94dfb17807c2ff428ffe0061355f913317f5d44ccfa67bda535f1c0a9d9a895d6415a0f71109f92 modem-gnss.service
925d8b176a8f1b47a86a1026cc920ffae99ceb35c3e52c222654c15078907579d23c4d68ed65a98ab937f59aaba2bbdd74da8d273e8b9c1ac87a52f718d383d6 modules-initfs
2972005a9cf6ca57061965075593dddfa8ee479bc6c21cd41851b1a14768cb1cddbd31a17975ae17adc36d40d294ccbc6bf83defbd69fc7b363f638d8564fbbc no-hexagonrpcd-on-suspend.sh
53bec3338d875ecedf2ae981cf9a0f9066e276f09570b3bd06217414461126a76942b70e01c3bb18831fbefeb188621dd5a341ab2604e8fb0c6de8a3025177e2 plasmacamerarc
@@ -1,3 +1,4 @@
#!/bin/sh
rc-update add hexagonrpcd-adsp-sensorspd
rc-update add modem-gnss default
@@ -0,0 +1,11 @@
[Unit]
Description=Google Sargo (Pixel 3a) GNSS Modem Setup
[Service]
ExecStart=qmicli -d qrtr://0 --loc-set-engine-lock=mt
ExecStart=qmicli -d qrtr://0 --loc-set-nmea-types=all
Type=oneshot
[Install]
WantedBy=default.target
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer=""
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-snow
pkgdesc="Samsung Chromebook"
pkgver=10
pkgrel=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
Loaded 100 of 1379 files, more files were not shown because too many files have changed in this diff. Show more