Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
19ab7e6e65 |
No files matched your search
+1
-1
@@ -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
|
||||
|
||||
+17
-22
@@ -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 1c70e34b7a610cda1d7f048f6b50ca9c10f52995
|
||||
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}/vmlinuz"
|
||||
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,17 +129,11 @@ 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 %}"
|
||||
# FIXME: cmdline is hardcoded here, but ideally would be built from
|
||||
# fragments using generate-kernel-cmdline...
|
||||
# See: https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/issues/317
|
||||
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: 'console=tty1 console=ttyS0,115200 PMOS_FORCE_PARTITION_RESIZE psi=1'
|
||||
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: '{{ device.deviceinfo.kernel_cmdline }}'
|
||||
|
||||
# Include the gitlab ci yml fragment, as found in
|
||||
# `device/$category/device-$devicename/gitlab-ci.yml.j2` which defines the jobs
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
lib/build_changed_aports.sh
|
||||
@@ -3,7 +3,7 @@
|
||||
# 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 running pmbootstrap.
|
||||
# Use 'native' because it requires git commit history.
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
@@ -11,10 +11,10 @@ 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"
|
||||
fi
|
||||
|
||||
.ci/lib/check_changed_versions.py
|
||||
.ci/lib/check_changed_aports_versions.py
|
||||
+1
-22
@@ -6,7 +6,7 @@ exit_code=0
|
||||
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
set -x
|
||||
apk -q add git grep
|
||||
apk -q add grep
|
||||
exec su "${TESTUSER:-build}" -c "sh -e $0"
|
||||
fi
|
||||
|
||||
@@ -110,25 +110,4 @@ if grep -qr '/etc/modprobe.d' --exclude-dir='archived' \
|
||||
exit_code=1
|
||||
fi
|
||||
|
||||
# Disallow maintainer comments.
|
||||
if grep -qr '# Maintainer:' -- *; then
|
||||
echo 'ERROR: Please use maintainer variables of the form maintainer="..." instead of maintainer comments of the form # Maintainer: ...'
|
||||
grep --color=always -r '# Maintainer:' -- *
|
||||
exit_code=1
|
||||
fi
|
||||
|
||||
if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
|
||||
# Find all moved or new kernel APKBUILDs in main, community or testing
|
||||
MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES=$(git show --pretty="" --name-only --diff-filter=AR "$CI_MERGE_REQUEST_DIFF_BASE_SHA"..HEAD | grep "device/\(main\|community\|testing\)/linux-.*/APKBUILD" || true)
|
||||
|
||||
if [ -n "$MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES" ]; then
|
||||
if [ -n "$(grep -L LLVM=1 $MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES || true)" ]; then
|
||||
echo "ERROR: An added or moved close-to-mainline kernel package is not being built with LLVM."
|
||||
echo "See https://postmarketos.org/edge/2025/11/11/kernels-llvm/ for more details"
|
||||
grep --color=always -L LLVM=1 $MOVED_OR_NEW_MAINLINE_KERNEL_PACKAGES
|
||||
exit_code=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exit "$exit_code"
|
||||
+2
-2
@@ -6,11 +6,11 @@
|
||||
|
||||
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
|
||||
|
||||
export PYTHONUNBUFFERED=1
|
||||
|
||||
.ci/lib/kconfig.py
|
||||
.ci/lib/check_changed_kernels.py
|
||||
+1
@@ -0,0 +1 @@
|
||||
../testcases/add_pmbootstrap_to_import_path
|
||||
@@ -14,7 +14,7 @@ custom_valid_options = [
|
||||
"pmb:cross-native",
|
||||
"pmb:cross-native2",
|
||||
"pmb:drm",
|
||||
"pmb:generic-kernel",
|
||||
"pmb:gpu-accel", # deprecated
|
||||
"pmb:strict",
|
||||
"pmb:systemd",
|
||||
"pmb:systemd-never",
|
||||
@@ -42,7 +42,7 @@ if __name__ == "__main__":
|
||||
custom_valid_options += kconfigcheck_categories
|
||||
os.environ["CUSTOM_VALID_OPTIONS"] = " ".join(custom_valid_options)
|
||||
|
||||
apkbuilds = {file for file in common.get_changed_files()
|
||||
apkbuilds = {file for file in common.get_changed_files(removed=False)
|
||||
if os.path.basename(file) == "APKBUILD"}
|
||||
if len(apkbuilds) < 1:
|
||||
print("No APKBUILDs to lint")
|
||||
|
||||
@@ -9,6 +9,7 @@ import pathlib
|
||||
import common
|
||||
|
||||
# pmbootstrap
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.core
|
||||
import pmb.parse
|
||||
import pmb.parse._apkbuild
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
#!/bin/sh -e
|
||||
# Description: build modified packages for this architecture
|
||||
# Options: native slow
|
||||
# Use 'native' because it requires running pmbootstrap.
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
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
|
||||
|
||||
@@ -12,6 +12,7 @@ import subprocess
|
||||
import common
|
||||
|
||||
# pmbootstrap
|
||||
import add_pmbootstrap_to_import_path # noqa
|
||||
import pmb.parse
|
||||
import pmb.parse.version
|
||||
import pmb.helpers.logging
|
||||
@@ -182,6 +183,39 @@ def check_versions(packages):
|
||||
if error:
|
||||
exit_with_error_message()
|
||||
|
||||
def check_package_count(count):
|
||||
for mark in ["[ci:ignore-count]", "[ci:skip-build]"]:
|
||||
if common.commit_message_has_string(mark):
|
||||
print("NOTE: package count sanity check skipped (" + mark + ").")
|
||||
return
|
||||
if count <= 10:
|
||||
return
|
||||
|
||||
branch = common.get_upstream_branch()
|
||||
print(f"""
|
||||
ERROR: Too many packages have changed!
|
||||
|
||||
This is a sanity check, so we don't end up building packages that
|
||||
have not been modified. CI won't run for more than three hours
|
||||
anyway.
|
||||
|
||||
Your options:
|
||||
a) If you *did not* modify everything listed above, then rebase
|
||||
your branch on the official postmarketOS/pmaports.git {branch}
|
||||
branch. Feel free to ask in the chat for help if you need any.
|
||||
b) If you *did* modify all these packages, and you assume that
|
||||
they will build within one hour: skip this sanity check by
|
||||
adding '[ci:ignore-count]' to the commit message of the last
|
||||
commit in the merge request (then force push).
|
||||
c) If you *did* modify all these packages, and you are sure that
|
||||
they won't build in time, please add '[ci:skip-build]' to the
|
||||
commit message (then force push). Make sure that all packages
|
||||
build with 'pmbootstrap build --strict'!
|
||||
|
||||
Thank you and sorry for the inconvenience.
|
||||
""")
|
||||
|
||||
exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Get and print modified packages
|
||||
@@ -191,6 +225,7 @@ if __name__ == "__main__":
|
||||
exit(0)
|
||||
|
||||
print(f"Changed packages: {packages}")
|
||||
check_package_count(len(packages))
|
||||
|
||||
# Potentially skip this check
|
||||
if common.commit_message_has_string("[ci:skip-vercheck]"):
|
||||
@@ -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
|
||||
+18
-8
@@ -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."""
|
||||
@@ -108,7 +118,7 @@ def get_base_commit() -> str:
|
||||
return commit
|
||||
|
||||
|
||||
def get_changed_files(removed=False):
|
||||
def get_changed_files(removed=True):
|
||||
""" Get all changed files and print them, as well as the branch and the
|
||||
commit that was used for the diff.
|
||||
:param removed: also return removed files (default: True)
|
||||
@@ -133,7 +143,7 @@ def get_changed_files(removed=False):
|
||||
|
||||
def get_changed_packages(skip_archived: bool = False):
|
||||
ret = set()
|
||||
for file in get_changed_files(removed=True):
|
||||
for file in get_changed_files():
|
||||
dirname, filename = os.path.split(file)
|
||||
|
||||
# Skip files:
|
||||
|
||||
@@ -11,9 +11,8 @@ if __name__ == "__main__":
|
||||
if common.commit_message_has_string("[ci:skip-dint]"):
|
||||
print("WARNING: not linting deviceinfo files ([ci:skip-dint])")
|
||||
exit(0)
|
||||
# only lint deviceinfo files in the devices repo
|
||||
deviceinfo_files = {file for file in common.get_changed_files()
|
||||
if os.path.basename(file) == "deviceinfo" and file.startswith("device/")}
|
||||
deviceinfo_files = {file for file in common.get_changed_files(removed=False)
|
||||
if os.path.basename(file) == "deviceinfo"}
|
||||
|
||||
try:
|
||||
subprocess.run(["dint", "check", *deviceinfo_files], text=True, check=True)
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# Copyright 2025 Pablo Correa Gomez
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import argparse
|
||||
from functools import cached_property
|
||||
from pathlib import Path
|
||||
from typing import Self
|
||||
@@ -73,7 +72,7 @@ class Device:
|
||||
|
||||
@property
|
||||
def testing_dependencies(self) -> set[str]:
|
||||
# TODO: Source this from the APKBUILD
|
||||
# TODO: Source this from the APKGBUILD
|
||||
return {"postmarketos-mkinitfs-hook-ci"}
|
||||
|
||||
@cached_property
|
||||
@@ -89,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-"
|
||||
@@ -102,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:
|
||||
@@ -115,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]:
|
||||
@@ -140,21 +142,31 @@ 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__":
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
)
|
||||
parser.add_argument("--template", default=".ci/build-jobs.yaml.j2", help="Jinja2 input template")
|
||||
parser.add_argument("--output", default=".ci/build-jobs.yaml", help="output pipeline")
|
||||
args = parser.parse_args()
|
||||
# Needs input to output if we should create the jobs
|
||||
if len(sys.argv) != 3:
|
||||
print("usage: generate_build_jobs.py TEMPLATE CHILD_PIPELINE")
|
||||
print(sys.argv)
|
||||
sys.exit(1)
|
||||
template = sys.argv[1]
|
||||
child_pipeline = sys.argv[2]
|
||||
|
||||
# pmb logging has to be initialized for later pmb commands to work, setting
|
||||
# to /dev/null since we don't care about the output. Later this could
|
||||
@@ -164,11 +176,10 @@ if __name__ == "__main__":
|
||||
|
||||
# Load context
|
||||
sys.argv = ["pmbootstrap.py", "chroot"]
|
||||
_ = pmb.parse.arguments()
|
||||
args = pmb.parse.arguments()
|
||||
|
||||
# Get the list of supported devices
|
||||
supported_devices = Device.supported_devices()
|
||||
print(f"Supported devices: {[d for d in supported_devices.values()]}")
|
||||
|
||||
archs = ArchTagSet()
|
||||
devices_under_test = set()
|
||||
@@ -183,6 +194,8 @@ if __name__ == "__main__":
|
||||
|
||||
if path.name != "APKBUILD":
|
||||
continue
|
||||
elif not path.exists():
|
||||
continue # APKBUILD was deleted
|
||||
apkbuild = pmb.parse.apkbuild(path)
|
||||
packages_modified.add(apkbuild['pkgname'])
|
||||
archs.update(apkbuild["arch"])
|
||||
@@ -207,7 +220,7 @@ if __name__ == "__main__":
|
||||
print(f"Architectures to build: {archs}")
|
||||
print(f"Devices under test: {devices_under_test}")
|
||||
|
||||
with open(args.template) as f:
|
||||
with open(template) as f:
|
||||
rendered = Template(f.read()).render(
|
||||
archs=archs,
|
||||
devices_under_test=devices_under_test,
|
||||
@@ -220,8 +233,7 @@ if __name__ == "__main__":
|
||||
Arch.armhf: "qemu",
|
||||
Arch.riscv64: "qemu",
|
||||
Arch.ppc64le: "ppc64le",
|
||||
Arch.loongarch64: "loongarch64",
|
||||
},
|
||||
)
|
||||
with open(args.output, "w") as fw:
|
||||
with open(child_pipeline, "w") as fw:
|
||||
fw.write(rendered)
|
||||
@@ -8,6 +8,7 @@ import sys
|
||||
import common
|
||||
|
||||
# pmbootstrap
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.core
|
||||
from pmb.core.context import get_context
|
||||
|
||||
|
||||
+3
-3
@@ -3,12 +3,12 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# Description: lint with various python tests
|
||||
# Options: native
|
||||
# Use 'native' because it requires running pmbootstrap.
|
||||
# Use 'native' because it requires pmbootstrap.
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
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
|
||||
@@ -27,6 +27,6 @@ pmbootstrap config aports "$pmaports"
|
||||
pmbootstrap -q shutdown
|
||||
|
||||
# Needed to import "common"
|
||||
export PYTHONPATH="$PYTHONPATH:.ci/lib"
|
||||
export PYTHONPATH=".ci/lib"
|
||||
# Run testcases
|
||||
pytest -vv --tb=native "$pmaports/.ci/testcases" "$@"
|
||||
+1
-1
@@ -11,4 +11,4 @@ fi
|
||||
set -x
|
||||
|
||||
# shellcheck disable=SC2046
|
||||
ruff check $(find .ci -name '*.py')
|
||||
ruff check --ignore E501,F401,E722,W605 $(find .ci -name '*.py')
|
||||
+2
-1
@@ -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
|
||||
@@ -38,6 +38,7 @@ sh_files="
|
||||
|
||||
$(find . -name '*.trigger')
|
||||
$(find . -path './main/devicepkg-dev/*.sh')
|
||||
$(find . -path './main/postmarketos-mvcfg/*.sh')
|
||||
|
||||
$(find . -path './.ci/**.sh')
|
||||
$(find . -path '**/tests/*.sh')
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright 2021 Oliver Smith
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import shutil
|
||||
import sys
|
||||
import os
|
||||
import importlib
|
||||
import importlib.util
|
||||
from site import getsitepackages
|
||||
|
||||
|
||||
def path_pmbootstrap():
|
||||
""" Find the pmbootstrap installation folder, so we can import the Python
|
||||
code from there.
|
||||
returns: pmbootstrap installation folder
|
||||
"""
|
||||
# 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)
|
||||
|
||||
# Resolve the symlink and verify the folder
|
||||
directory = os.path.dirname(os.path.realpath(bin))
|
||||
if os.path.exists(directory + "/pmb/__init__.py"):
|
||||
return directory
|
||||
|
||||
directories = getsitepackages()
|
||||
for directory in directories:
|
||||
if os.path.exists(directory + "/pmb/__init__.py"):
|
||||
return directory
|
||||
|
||||
# Symlink not set up properly
|
||||
print("ERROR: unable to find path to pmbootstrap.py. Try setting 'PMBOOTSTRAP_CMD'.")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
# Check if pmb module can be imported
|
||||
if importlib.util.find_spec("pmb") is None:
|
||||
# Add pmbootstrap dir to import path
|
||||
sys.path.append(os.path.realpath(path_pmbootstrap()))
|
||||
@@ -3,11 +3,14 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from pathlib import Path
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
from pmb.helpers.args import init as init_args
|
||||
from pmb.types import PmbArgs
|
||||
import pmb.config
|
||||
from pmb.core.pkgrepo import pkgrepo_default_path
|
||||
import pytest
|
||||
import sys
|
||||
import os
|
||||
|
||||
@pytest.fixture(scope="session", autouse=True)
|
||||
@@ -24,7 +27,6 @@ def args(request):
|
||||
args.offline = False
|
||||
args.action = "init"
|
||||
args.cross = False
|
||||
args.ccache = False
|
||||
args.log = None
|
||||
|
||||
init_args(args)
|
||||
|
||||
@@ -2,10 +2,16 @@
|
||||
# Copyright 2024 Oliver Smith
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import fnmatch
|
||||
import glob
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
import pmb.parse._apkbuild
|
||||
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob
|
||||
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob, pkgrepo_relative_path
|
||||
from pmb.core.arch import Arch
|
||||
|
||||
# Don't complain if these nicknames are the only maintainers of an APKBUILD,
|
||||
|
||||
@@ -2,8 +2,13 @@
|
||||
# Copyright 2021 Oliver Smith
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import glob
|
||||
import os
|
||||
import pytest
|
||||
import re
|
||||
import sys
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
from pmb.core.pkgrepo import pkgrepo_iglob
|
||||
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
# Copyright 2021 Johannes Marbach
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import glob
|
||||
import os
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
from pmb.core.pkgrepo import pkgrepo_iglob
|
||||
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob
|
||||
|
||||
|
||||
def test_aports_firmware():
|
||||
|
||||
@@ -6,8 +6,13 @@
|
||||
version in all packages. We scan all packages, categorize them by URL
|
||||
and then compare the versions of all packages in each category. """
|
||||
|
||||
import glob
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.config
|
||||
import pmb.parse
|
||||
from pmb.core.pkgrepo import pkgrepo_iter_package_dirs
|
||||
|
||||
@@ -2,9 +2,14 @@
|
||||
# Copyright 2021 Oliver Smith
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import glob
|
||||
import pytest
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
from pmb.core.pkgrepo import pkgrepo_iglob, pkgrepo_relative_path
|
||||
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright 2023 Oliver Smith
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
import glob
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
import re
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
import pmb.parse._apkbuild
|
||||
from pmb.core.pkgrepo import pkgrepo_iter_package_dirs, pkgrepo_relative_path
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
import glob
|
||||
import logging
|
||||
import os
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
import add_pmbootstrap_to_import_path
|
||||
import pmb.parse
|
||||
import pmb.parse._apkbuild
|
||||
import pmb.parse.apkindex
|
||||
@@ -98,9 +101,6 @@ def test_aports_unreferenced_files():
|
||||
# Skip APKBUILDs and directories
|
||||
if rel_file_path in ["APKBUILD", "gitlab-ci.yml.j2"] or os.path.isdir(file):
|
||||
continue
|
||||
# Skip kernel fragments in linux-* packages
|
||||
if os.path.basename(rel_file_path).endswith(".config") and apkbuild["pkgname"].startswith("linux-"):
|
||||
continue
|
||||
|
||||
if os.path.basename(rel_file_path) not in sources_chk \
|
||||
and rel_file_path not in apkbuild["install"] \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
+4
-10
@@ -16,9 +16,6 @@ variables:
|
||||
# seems like a reasonable balance. If this is too low, git merge-base (from ci/
|
||||
# common.py) can fail
|
||||
GIT_DEPTH: 100
|
||||
# So that anything that runs install_pmbootstrap and tries to import pmb module
|
||||
# can find it.
|
||||
PYTHONPATH: "/tmp/pmbootstrap"
|
||||
|
||||
# This defines the rules for when a pipeline should run.
|
||||
workflow:
|
||||
@@ -88,7 +85,7 @@ pytest-commits:
|
||||
script:
|
||||
- .ci/lib/gitlab_prepare_ci.sh
|
||||
- .ci/pytest.sh
|
||||
- .ci/check-changed-versions.sh
|
||||
- .ci/commits.sh
|
||||
artifacts:
|
||||
when: on_failure
|
||||
paths:
|
||||
@@ -156,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:
|
||||
@@ -175,13 +172,13 @@ 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
|
||||
- mkdir -p /root/.local/var/pmbootstrap/cache_git/ && ln -s $PWD /root/.local/var/pmbootstrap/cache_git/pmaports
|
||||
|
||||
- .ci/lib/generate_build_jobs.py
|
||||
- PYTHONPATH=/tmp/pmbootstrap/ .ci/lib/generate_build_jobs.py .ci/build-jobs.yaml.j2 .ci/build-jobs.yaml
|
||||
|
||||
artifacts:
|
||||
paths:
|
||||
@@ -211,8 +208,6 @@ build-docs:
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes:
|
||||
- .ci/build-docs.sh
|
||||
- deviceinfo_schema.toml
|
||||
- docs/**
|
||||
|
||||
deploy-docs:
|
||||
@@ -223,7 +218,6 @@ deploy-docs:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "postmarketOS"
|
||||
changes:
|
||||
- deviceinfo_schema.toml
|
||||
- docs/**
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule"
|
||||
when: never
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
Replace space inside `[ ]` with `x` to fill the checkbox
|
||||
-->
|
||||
* [ ] edge (`master` branch)
|
||||
* [ ] `v25.12`
|
||||
* [ ] `v25.06`
|
||||
|
||||
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
|
||||
|
||||
|
||||
@@ -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
@@ -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 (unsupported)
|
||||
description=Latest release / Recommended for best stability
|
||||
branch_pmaports=v25.06
|
||||
branch_aports=3.22-stable
|
||||
mirrordir_alpine=v3.22
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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.1
|
||||
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="
|
||||
7cbeca5dad6413a876809200583854ddc706b7a69deff958eb1ca1afb726cf4dec014006c10d1945c450b754811d4b95a80fe1778cb3136997f6d11b11c0560e systemd-259.1.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
|
||||
"
|
||||
-31
@@ -1,31 +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 }}
|
||||
|
||||
# NOTE: set the job to manually started and allow failure until HW CI is
|
||||
# stable
|
||||
allow_failure: true
|
||||
when: manual
|
||||
|
||||
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"
|
||||
+4
@@ -3,6 +3,7 @@
|
||||
# * only requires a single runner
|
||||
# * has its runner tags definition found in ci-common's ci-tron/common.yml
|
||||
# * uses CI-tron as a bootloader
|
||||
# * has kernel variants following the naming scheme `vmlinuz-$KERNEL_VARIANT`
|
||||
#
|
||||
# If this is not the case, feel free to copy the content of this file into
|
||||
# your package's folder
|
||||
@@ -14,3 +15,6 @@ test-{{ device.name }}:
|
||||
# Extended from build-jobs.yaml.j2
|
||||
- .device-boot-flow-separate-artifacts
|
||||
- .test-{{ device.name }}
|
||||
|
||||
variables:
|
||||
KERNEL_NAME: vmlinuz-$KERNEL_VARIANT
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-alcatel-idol347-downstream
|
||||
pkgdesc="Alcatel OneTouch Idol 3 (4.7) (Downstream)"
|
||||
pkgver=4
|
||||
pkgver=3
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -10,7 +10,7 @@ arch="armv7"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-alcatel-idol347-downstream mkbootimg msm-fb-refresher"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -21,6 +21,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
f2e7527ef3b498147c311df678cfed15d2ca3049ebba87b93dbfcfc1d05237daf8f7d0943c24347d4d5ea4283dd03f412cf11575735f0d7724c7f49066e52e8c deviceinfo
|
||||
928047af135afd6a3e76791628148eb7e5c8fe55465786655e47662b6baf07d251940357e278614b05de58898c03632dfcc7761f62c39765206b0cb70d054e9d kernel-cmdline.conf
|
||||
118b62d7ad6d9b62f0d63a1749005321fdf73417f95e8d70e761b6755f7c4e0164b2b476c8e1aad93dc42cd4df24384f660e21af6c62a9f8eda4d3e3bd8298e6 deviceinfo
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_screen_height="1280"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk androidboot.bootloader=L1BGC0C0BG00"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_base="0x80000000"
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.console=ttyHSL0
|
||||
androidboot.hardware=qcom
|
||||
msm_rtb.filter=0x237
|
||||
ehci-hcd.park=3
|
||||
androidboot.bootdevice=7824900.sdhci
|
||||
lpm_levels.sleep_disabled=1
|
||||
earlyprintk
|
||||
androidboot.bootloader=L1BGC0C0BG00
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -11,7 +11,7 @@ arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-amazon-suez mkbootimg"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -23,6 +23,5 @@ package() {
|
||||
|
||||
|
||||
sha512sums="
|
||||
2b75dba63b6522bafa78ec359bc5fe3f519520caedbca188e1510e75f26555ad964f9f9ee6e3128570f989e70081317d2ab64bfb9af0db1f3f3cdbf38c70a047 deviceinfo
|
||||
d89b08ef9888faae6cb96a378421669e6119023307a3b5a109e18b7f9e2c70e1f8b240ba8f9b9d22d319fa28e416565d06074d34382f482c9b037b7ab3f4861c kernel-cmdline.conf
|
||||
91b9a695bbf1bf322a072041bf02adc5b9d182fd381b27b5847f82d6b55189abec68281952072b7368491fc549e4f557a82db96942fc1d4b7977e256e0f38f83 deviceinfo
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_screen_height="1920"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="bootopt=64S3,32N2,64N2"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_base="0x40078000"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
bootopt=64S3,32N2,64N2
|
||||
@@ -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,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,9 +1,9 @@
|
||||
# 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=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -15,7 +15,7 @@ depends="
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -26,6 +26,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
2a51794b31e52f92a4d50e34f82656331338d646128f547d8e14c4e40c1e40f15f147270ab634a312742dcce3b4e5894a33e87b0e485c8046641285ecf9a5cb1 deviceinfo
|
||||
4b7f1842dbbd6ec2990d7ea259de3f801a33e38a82f747549249cedcb64aa37935e9452a5f50f6d0cc6ce38a1db8e9d6f77440a7c52f61cd353ea75b7f3e395a kernel-cmdline.conf
|
||||
64ad025793dbaca01bde6eefc446ab4f1f5a21b300cce8daba1851926c08f1bbac668fffebe8e5c492499205bae15b410bdc2741f366039bf20054f12c98f0bb deviceinfo
|
||||
"
|
||||
@@ -17,6 +17,7 @@ deviceinfo_screen_height="320"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sparrow user_debug=31 maxcpus=4 msm_rtb.filter=0x3F"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_generate_extlinux_config="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.console=ttyHSL0
|
||||
androidboot.hardware=sparrow
|
||||
user_debug=31
|
||||
maxcpus=4
|
||||
msm_rtb.filter=0x3F
|
||||
@@ -3,7 +3,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-asus-x00td-downstream
|
||||
pkgdesc="Asus Zenfone Max Pro M1 downstream"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="postmarketos.org"
|
||||
arch="aarch64"
|
||||
@@ -11,7 +11,7 @@ license="MIT"
|
||||
options="!check !archcheck"
|
||||
depends="linux-asus-x00td-downstream mkbootimg msm-fb-refresher postmarketos-base"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -22,6 +22,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
49572afe646d88e31e53b548912e588447e87de04834592210b191902e23401b3af5d968f6b90fb5c0ab29994605c6a95bdaeae85cd4a225a9e0a385c34986ad deviceinfo
|
||||
4b2ea9d473de336b68db736b2b2ae44e8f952a948c016fbbceb205512f73548b85cb00a488f600f1346e92dc839d2ee2419fbd5bf56f9cba9df843419b69ec74 kernel-cmdline.conf
|
||||
aacace112d10033fc2a0e1fa5705e2734961a6282833da0277e2fec6662eb4142eb797979b648466d5f1fa31c4d296c3b7f74df473dfbb9927cd3fb34b2491dd deviceinfo
|
||||
"
|
||||
@@ -18,6 +18,7 @@ deviceinfo_screen_height="2160"
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_flash_fastboot_partition_vbmeta="vbmeta"
|
||||
deviceinfo_kernel_cmdline="console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc170000 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=1 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=userdebug"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_base="0x00000000"
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
console=ttyMSM0,115200,n8
|
||||
androidboot.console=ttyMSM0
|
||||
earlycon=msm_serial_dm,0xc170000
|
||||
androidboot.hardware=qcom
|
||||
user_debug=31
|
||||
msm_rtb.filter=0x37
|
||||
ehci-hcd.park=3
|
||||
lpm_levels.sleep_disabled=1
|
||||
sched_enable_hmp=1
|
||||
sched_enable_power_aware=1
|
||||
service_locator.enable=1
|
||||
swiotlb=1
|
||||
firmware_class.path=/vendor/firmware_mnt/image
|
||||
loop.max_part=7
|
||||
buildvariant=userdebug
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-bq-paella-downstream
|
||||
pkgdesc="BQ Aquaris X5 (Downstream)"
|
||||
pkgver=4
|
||||
pkgver=3
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -10,7 +10,7 @@ arch="armv7"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-bq-paella-downstream mkbootimg msm-fb-refresher"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
|
||||
build() {
|
||||
@@ -29,6 +29,5 @@ nonfree_firmware() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b27ff683c57ee055aa076defb268dc2a49f186dbaa2f5c023803402a9e5a2d82a8c8e2c83dbdd63f990cac2b01a146ef07491d050772bfef9d3ec0e37fed8f80 deviceinfo
|
||||
7d218a308a421869faf6017a09cb9ed0a5fa56fb813c8ce582b6b85f4aaf5e1104761c86fdd7afa4ef0717c17bd18e2f9037661887bcac069af4d43431d8d129 kernel-cmdline.conf
|
||||
2759dceedaca6672489410f092db2b47d451cab7cb7706e942412eb957a1c2861d723a3938c79e1543be01e3d584c62408be9675b9533f5cc49ce50287b2d16f deviceinfo
|
||||
"
|
||||
@@ -17,6 +17,7 @@ deviceinfo_dev_touchscreen="/dev/input/event9"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk androidboot.bqdevice=picmt buildvariant=user"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_flash_offset_base="0x80000000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.console=ttyHSL0
|
||||
androidboot.hardware=qcom
|
||||
msm_rtb.filter=0x237
|
||||
ehci-hcd.park=3
|
||||
androidboot.bootdevice=7824900.sdhci
|
||||
lpm_levels.sleep_disabled=1
|
||||
earlyprintk
|
||||
androidboot.bqdevice=picmt
|
||||
buildvariant=user
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-bq-piccolo
|
||||
pkgdesc="BQ Aquaris M5"
|
||||
pkgver=10
|
||||
pkgver=9
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -11,7 +11,7 @@ options="!check !archcheck"
|
||||
depends="postmarketos-base mkbootimg linux-postmarketos-qcom-msm8916
|
||||
soc-qcom-msm8939 soc-qcom-msm8916-rproc"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf modules-initfs"
|
||||
source="deviceinfo modules-initfs"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
|
||||
build() {
|
||||
@@ -30,7 +30,6 @@ nonfree_firmware() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
3a04cb52841a214d58bba6cc639de636bfbad3c376608e94063e45cf6659031ef3e1f303e5553ea19d2062de41eea91240ece462f662ee8b31534ba4ac80a95a deviceinfo
|
||||
37e1e5f8839b624ab3eb850a24ed4daeb61a651257a1fb593f49cb869323e5d1b339c831a18eb26a9d7bd0a618ea9eb2bb9bf3882133af5f2606a878e6d39c67 kernel-cmdline.conf
|
||||
c5a40a6e8ccc6f079b558b47943454f1b8dacc71e32e027f3e32b6d8576a55a23586aecd90e33dc05799030a6a4be2b7e3ec79c7e14d6ea78432c5cc885df904 deviceinfo
|
||||
d7ba0b86dc573d0d57591399ec71c76169730b169546d1692910c3e04913100f8bfa534100dab8d5ad302d2a539fb64b040a6fb26979f41c8e7b76b596427afd modules-initfs
|
||||
"
|
||||
@@ -20,6 +20,7 @@ deviceinfo_getty="ttyMSM0;115200"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_generate_extlinux_config="true"
|
||||
deviceinfo_flash_offset_base="0x80000000"
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
earlycon
|
||||
console=ttyMSM0,115200
|
||||
@@ -1,10 +1,10 @@
|
||||
# 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=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -18,7 +18,6 @@ depends="
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
"
|
||||
|
||||
build() {
|
||||
@@ -30,6 +29,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
908c5002338a2aa70874ef2057d6bf917af9aabfd163af42c5507c266e9b5f6546933b3a893fbba42b63e71c9bd76a323f40253939732d0158b1824a112e47c6 deviceinfo
|
||||
cb07af75b15e2394d94df459d26b399371f18d24489763855388b1155dce4f6d17070716d8581fec178cd7848a7caea3431aad56e83b70e9f27287c4bccda2f2 kernel-cmdline.conf
|
||||
7e41e1c6de6c8a11b872b393c638b6c0253d7a1ac4dabef551ff8453228b1166bb1c29447a568b0f31ff347e252c17aa6c696bf01b74a0e931e0e81950090e83 deviceinfo
|
||||
"
|
||||
@@ -15,6 +15,7 @@ deviceinfo_external_storage="true"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlycon=msm_hsl_uart,0x78B0000 buildvariant=user buildvariant=eng"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_pagesize="2048"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.console=ttyHSL0
|
||||
androidboot.hardware=qcom
|
||||
user_debug=30
|
||||
msm_rtb.filter=0x237
|
||||
ehci-hcd.park=3
|
||||
androidboot.bootdevice=7824900.sdhci
|
||||
lpm_levels.sleep_disabled=1
|
||||
earlycon=msm_hsl_uart,0x78B0000
|
||||
buildvariant=user
|
||||
buildvariant=eng
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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=6
|
||||
pkgver=5
|
||||
_commit=2e8040ec92f85e3d43caf3e44557cb0659db4531
|
||||
_dtso_commit=c2204834e1d7d0acfd64e1b7874d432bc142f1a4
|
||||
pkgrel=0
|
||||
@@ -33,7 +33,6 @@ source="
|
||||
radxa-cm5-uconsole-$_dtso_commit.tar.gz::https://github.com/dev-null2019/radxa-cm5-uconsole/archive/$_dtso_commit.tar.gz
|
||||
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
modules-initfs
|
||||
modules-load.conf
|
||||
modprobe.conf
|
||||
@@ -136,8 +135,7 @@ openrc() {
|
||||
sha512sums="
|
||||
a9c48c3470d5641113e351456d6cfa1e2283e6577cf54eea9a2d49ba4f6269e46cba16039584b34e07c7d8006f6dec112e970148f155f2c3ff0670521568a5a7 clockworkradxa-linux-2e8040ec92f85e3d43caf3e44557cb0659db4531.tar.gz
|
||||
a15eb74d9db9114022e96ba04542d18350cf6d637c5efa49f4a5a65c33c5fd20a7997095a049a561fb7aac767a299f367489c5a342138a5259cc32ebb6152384 radxa-cm5-uconsole-c2204834e1d7d0acfd64e1b7874d432bc142f1a4.tar.gz
|
||||
0afdcebb4b42ab9d489bfeb32912f03de0ee30875eba760112b24def4bb04185eca5f827c737da4824081940ec998c2c26a99e9105267e90e9d852b0afa76539 deviceinfo
|
||||
fa6332b91b62572528b1f919370382d67f521b0a65c3c9f416df67545ebae7b01f31729340a42e656b5589cdbde676ec8fe0eb9537a34e02ec20f5309bf43b12 kernel-cmdline.conf
|
||||
8552698a2bfbfab71e2b00be9397ab2117aba646a5d4afd5a7e8f53a93bb1736ed81c260a6c863130c7f4cd8eb9a56518885ac4de01a6f67afa1b42d501a91a3 deviceinfo
|
||||
85d573bfd51ac4aa502336452b0384af77b6ec095f5c4760e8f287b8452b3ccb4521051bc01c53fa0856440d52231f535f3f0258d62ad578161ad464344413e9 modules-initfs
|
||||
642cdb1b4ac02b8c3ab7b72f4eeef615ac4911b42bcd845b54305f0ff64c07b86f4a807a97d395cb6c0cd0a5f5eed15e68d9e4ccb69db8e38fb65c8be4acaeeb modules-load.conf
|
||||
a5324ed5118168b846d359dc2c8e76ccdc624003d157a28e4c9728ddedd9b52c6deb95af9c3a9d94faf52413f2f830dc45ec6c0093458d27149ef17de5dceef5 modprobe.conf
|
||||
|
||||
@@ -20,6 +20,7 @@ deviceinfo_getty="ttyFIQ0;1500000"
|
||||
# Bootloader related
|
||||
deviceinfo_boot_filesystem="fat32"
|
||||
deviceinfo_dtb="rockchip/rk3588s-radxa-cm5-uconsole"
|
||||
deviceinfo_kernel_cmdline="console=tty1 console=ttyFIQ0,1500000n8 PMOS_FORCE_PARTITION_RESIZE earlycon consoleblank=0 coherent_pool=2M irqchip.gicv3_pseudo_nmi=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"
|
||||
deviceinfo_sd_embed_firmware="u-boot/radxa-cm5/rpi-cm4-io/idbloader.img:64,u-boot/radxa-cm5/rpi-cm4-io/u-boot.itb:16384"
|
||||
deviceinfo_sd_embed_firmware_step_size="512"
|
||||
deviceinfo_boot_part_start="32768"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
console=tty1
|
||||
console=ttyFIQ0,1500000n8
|
||||
pmos.force-partition-resize
|
||||
earlycon
|
||||
consoleblank=0
|
||||
coherent_pool=2M
|
||||
irqchip.gicv3_pseudo_nmi=0
|
||||
cgroup_enable=cpuset
|
||||
cgroup_memory=1
|
||||
cgroup_enable=memory
|
||||
swapaccount=1
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -25,7 +25,6 @@ depends="
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
FP2.conf
|
||||
hifi
|
||||
"
|
||||
@@ -43,8 +42,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
45103f8387940b8703c7fa2a2f340718aed9cd32335a13ef4fbae45ba5c357ab76ea9c15ea0d9000dc8bd83997588b93c128c8f2f2ddd712f786253a12ded271 deviceinfo
|
||||
09008fec33cc8c692d4e5fca1f2f4635985ad9b1d92085df3e15f2ee2555c8f7b78615298f9935cee03e3ba598a5326baf890333fa661f5b1833b4fb2d1a4328 kernel-cmdline.conf
|
||||
e9ca33701c6f42213ad91a9bce6f07a57dea2833098a12da361352ef1ca0663843709caaf0c7ded8bdc00d71ec90a678c327082ee573aa65e0815f37fcfb7fc2 deviceinfo
|
||||
55360b1ba4ddadea341c9edb13c32ba5f19aabf75ab28602f30cfb79b9df8834f115ef979c70569f23ec1293b1fcd408baf320d87803293ce7106bdc73a26c9f FP2.conf
|
||||
b834461c6866bb0c473dd089dd5da641dd42a00f610aad6503117aa50fe6e200db9ad0a264bb609f12350d59faee1f772907bacd75439f702ea7d52f6f85e2b1 hifi
|
||||
"
|
||||
@@ -17,6 +17,7 @@ deviceinfo_getty="ttyHSL0;115200"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3b7 ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_generate_extlinux_config="true"
|
||||
deviceinfo_bootimg_qcdt="true"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.hardware=qcom
|
||||
user_debug=31
|
||||
msm_rtb.filter=0x3b7
|
||||
ehci-hcd.park=3
|
||||
androidboot.bootdevice=msm_sdcc.1
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-google-crosshatch-downstream
|
||||
pkgdesc="Google Pixel 3 XL (Downstream)"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -14,7 +14,7 @@ depends="
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -25,6 +25,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
cc909a06b9015b4aa0d19c04c3cce3b886d78c125712f0ab4956049b464c6cceb9b4b8e141d78951dfce5782c6663e2a27e074a82f6058a84bb0775f14366b27 deviceinfo
|
||||
c2762af3b8268599d2edf37f1dca6284e85e7fd6222a701c7699b9baedb3312bad766100a6bafcd2b2660f04241429b19d5f641f2b0a3915dd4cb079d52b0680 kernel-cmdline.conf
|
||||
941eb2010c0fc853cab893b40207f309cc2cd566aaeeb1b32c1731b74fd9c69b63e87fc303ee175a81a76627e2634ea1ced985d0e1003d865d0439de3f776ba5 deviceinfo
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_screen_height="2960"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 cgroup.memory=nokmem lpm_levels.sleep_disabled=1 usbcore.autosuspend=7 buildvariant=user"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_flash_offset_base="0x00000000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
console=ttyMSM0,115200n8
|
||||
printk.devkmsg=on
|
||||
msm_rtb.filter=0x237
|
||||
ehci-hcd.park=3
|
||||
service_locator.enable=1
|
||||
cgroup.memory=nokmem
|
||||
lpm_levels.sleep_disabled=1
|
||||
usbcore.autosuspend=7
|
||||
buildvariant=user
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-hisense-m470bsa
|
||||
pkgdesc="Hisense Sero 7 Pro"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -10,7 +10,7 @@ arch="armv7"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-hisense-m470bsa mkbootimg"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf modules-load.conf pointercal"
|
||||
source="deviceinfo modules-load.conf pointercal"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
|
||||
|
||||
@@ -31,8 +31,7 @@ nonfree_firmware() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
12d3230b8185f466e6679e84c86d8cf9029989565f3f80c8666a54fbb1fc201fd731e940a3451d76ad1c81e34ec18f6ea9e4fc26f65bc7cee6071b1f5304f1a4 deviceinfo
|
||||
c2ddf5b681d5f26cf9887f83d2202ff1f1ab415479d5d627966759ba19376a6d368e3fce2ebae02d2cbcf7abf06155ce774643cb0c6dd3b7af3a5748ea36ae8f kernel-cmdline.conf
|
||||
131c99e89e66ae8a10d933574e8fc0b326caec84c260496cac92738c3fa81f32d083dbdc58116804d53c68562c967fdc0b1ffb25d74bb076369d5a3b0f7dee74 deviceinfo
|
||||
6a53747e22b530dcd52ca523017edf422b36bcd6616d7b0df0ba23f50de0f91dff63913ec6aab5051eebc131879c235cfb724aacefc90a10b94a1790985144ec modules-load.conf
|
||||
8fcb7330a660995bb1aabf3fd2f3a3536fed79e9369bda115874151e84651839c59d134ac3ca0919eff0770ac51c934b252e7d544a26c076614f7f1d10bfd016 pointercal
|
||||
"
|
||||
@@ -18,6 +18,7 @@ deviceinfo_dev_touchscreen_calibration="/etc/pointercal"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="androidboot.selinux=enforcing"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
androidboot.selinux=enforcing
|
||||
@@ -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
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-htc-flounder-downstream
|
||||
pkgdesc="Google Nexus 9"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="gpl-v3"
|
||||
@@ -11,7 +11,7 @@ options="!check !archcheck"
|
||||
depends="postmarketos-base linux-htc-flounder-downstream mkbootimg"
|
||||
makedepends="devicepkg-dev"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -26,6 +26,5 @@ nonfree_firmware() {
|
||||
mkdir "$subpkgdir"
|
||||
}
|
||||
sha512sums="
|
||||
0625d17eec68504244885a0f746f23c4877cb96acbeb8e198b3aa9f93c5c061c8b2ccdb5ed8b42dc2e2d082a1eed2fa4917a3397aef9688b1ffe68a719b5511d deviceinfo
|
||||
1cf6aa0cadb5032ed15ae0f0bbf4ff5d8848e01e10b87e803db82efa3a86edf0a97e01bef376178fc3414791a88a8a0dbde823aa515937edfe762ad375266eea kernel-cmdline.conf
|
||||
459f06b48d516c09ee8a1d03e6a2058354bcbf2b137040b58b77e29d29838c4e1586ccf972989dddbc4035c1d171c328d16e3a2ff4e26ae07f9d804a5aa58924 deviceinfo
|
||||
"
|
||||
@@ -17,6 +17,7 @@ deviceinfo_dev_touchscreen="/dev/input/event2"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="no_console_suspend=1 tegra_wdt.enable_on_probe=1 tegra_wdt.heartbeat=120 androidboot.hardware=flounder androidboot.selinux=permissive selinux=0"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
no_console_suspend=1
|
||||
tegra_wdt.enable_on_probe=1
|
||||
tegra_wdt.heartbeat=120
|
||||
androidboot.hardware=flounder
|
||||
androidboot.selinux=permissive
|
||||
selinux=0
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-htc-m8-downstream
|
||||
pkgdesc="HTC One M8 (Downstream)"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -18,7 +18,6 @@ depends="
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
initfs-hook.sh
|
||||
90-android-touch-dev.rules
|
||||
"
|
||||
@@ -34,8 +33,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
60949a859a93ca4be67f5d02fca10aa2a8a329e2b1839219934a9ea33d4d9b1ab9641d46a00dedef3d8030f4fe8f3b601cc00956f1d4958de4c1468e7e6fb008 deviceinfo
|
||||
ccf2a8dacec72732919f2bb6135b0a682bb54acc209f00287a36283c49341467b59dc2a4aad4ba43ead4874a5807ecb41b16578092d1a1069d3fd320b6d9b8a6 kernel-cmdline.conf
|
||||
f46238ef93ae77fed95f04bd325d3dab562190842089939116850d2898c8e62c30b5a80ffceb7c2da431b106f6f7b53892027a1e046ba68c534da89eade9531c deviceinfo
|
||||
765abaad5fda0dfda5e62e1e48414d3eea822198f39d0792171a04d73f86f6273a6e562afab430cbfcdd084412568a0ad03d012e9c40c5564f5cd1b9c0f181eb initfs-hook.sh
|
||||
f0f69ab3b5b3fed11ec5049f37c71c4e9dcf87dc1f238199a3917dd61957d46783a8798d63d400cc5d3983987e750e3fec6d7117561ad5005f28131ae4821d66 90-android-touch-dev.rules
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_create_initfs_extra="true"
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_flash_fastboot_partition_rootfs="system"
|
||||
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 zcache androidboot.selinux=permissive"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="true"
|
||||
deviceinfo_flash_offset_base="0x00000000"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
console=ttyHSL0,115200,n8
|
||||
androidboot.hardware=qcom
|
||||
user_debug=31
|
||||
ehci-hcd.park=3
|
||||
zcache
|
||||
androidboot.selinux=permissive
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -17,7 +17,6 @@ depends="
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
initfs-hook.sh
|
||||
"
|
||||
|
||||
@@ -30,7 +29,6 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
32174076a7217183625741cc4a53ac0bbe1dbf9fd35528b1b2787aff237aae10c6ac0846756b80c21ceac1bbc0d664f4a6cbd33483e959f7fc2973f8b319c2ca deviceinfo
|
||||
5699b02db81ffbe7f464186f33c6d08571e65fda1d290f5029147f530ced737ed1720c9a5e806d7e211781cf46f66684352acf493900b3bb0643db30fbe111bb kernel-cmdline.conf
|
||||
e0f730aeb956d9e6ff0c7cbc420351f66386473c7779ea6aba7429407597878e4f30bdbbb2f56052155030d7d5b7b36ba4572f41340b2e2fa626404985814de1 deviceinfo
|
||||
765abaad5fda0dfda5e62e1e48414d3eea822198f39d0792171a04d73f86f6273a6e562afab430cbfcdd084412568a0ad03d012e9c40c5564f5cd1b9c0f181eb initfs-hook.sh
|
||||
"
|
||||
@@ -17,6 +17,7 @@ deviceinfo_dev_touchscreen="/dev/input/event6"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=none androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 zcache buildvariant=userdebug"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_generate_extlinux_config="true"
|
||||
deviceinfo_bootimg_qcdt="true"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
console=none
|
||||
androidboot.hardware=qcom
|
||||
user_debug=31
|
||||
ehci-hcd.park=3
|
||||
zcache
|
||||
buildvariant=userdebug
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-huawei-alice
|
||||
pkgdesc="Huawei P8 Lite"
|
||||
pkgver=4
|
||||
pkgver=3
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -10,7 +10,7 @@ arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-huawei-alice mkbootimg msm-fb-refresher postmarketos-base-downstream"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
|
||||
@@ -29,6 +29,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b10e17152371dde14c394f51658c7a1fab6c0306e3270bec56487f325836ca51e9e3fc0627170dacdbb4348d8c12ed34fd7dfd5f5d250caf3a238b6fee6308ea deviceinfo
|
||||
51f03864080afd57a9d8e990c15f92f27ed8159d642d2c7e575a3e91f34a866388154ddd04f4e506ba9f078e56c9f19ad2abc2def71d7d4a1d5b5b43269db03d kernel-cmdline.conf
|
||||
0f3c10a89b310664b66b991c8934896f618af87ce800cd8a5aa6762058ba4f6c553d52bf8f86d6ccd38d61350edff41ceffd48b87138dcf803d6fb49ba0508a1 deviceinfo
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_screen_height="1280"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=tty1 enforcing=0 hisi_dma_print=0 vmalloc=384M maxcpus=8 coherent_pool=512K no_irq_affinity ate_enable=true androidboot.selinux=permissive buildvariant=userdebug"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_base="0x07478000"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
console=tty1
|
||||
enforcing=0
|
||||
hisi_dma_print=0
|
||||
vmalloc=384M
|
||||
maxcpus=8
|
||||
coherent_pool=512K
|
||||
no_irq_affinity
|
||||
ate_enable=true
|
||||
androidboot.selinux=permissive
|
||||
buildvariant=userdebug
|
||||
@@ -1,7 +1,7 @@
|
||||
# Archived: Downstream port, only for testing. Use mainline port!
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-huawei-angler-downstream
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
pkgdesc="Huawei Nexus 6P (Downstream)"
|
||||
url="https://postmarketos.org"
|
||||
@@ -19,7 +19,6 @@ source="
|
||||
90-android-touch-dev.rules
|
||||
bcmdhd.cal
|
||||
deviceinfo
|
||||
kernel-cmdline.conf
|
||||
"
|
||||
|
||||
# Note: bcmdhd.cal is from https://github.com/LineageOS/android_device_huawei_angler/blob/752aaf664ab079f4ce9cbdeae6978f615d39b783/bcmdhd.cal
|
||||
@@ -42,6 +41,5 @@ package() {
|
||||
sha512sums="
|
||||
262f9f3e28cbb28d236cf6edce4919766baabb18e5b0cf35d672d306efeaf12fd66ffba57e6d9bef0eee90203dc98f95aab17145e4c12383055afb58b922ae58 90-android-touch-dev.rules
|
||||
61fe1f91d7b0b570b77fcca76503373cbac2515ca3dcc2f2543b910dfaeb1e935a11975f824f6a72001df4e63329356a6aff2d016e9b4f5d8f7b739fee065c4e bcmdhd.cal
|
||||
dabdcb045c65ec477a01d0c1c1cb2d24d0a7feebcacba5e666b82ad12bbde1d3752c660cc49e0ed4283c9634571781ed718e7fe4ea4990c0c1d90eb6c0a8aa26 deviceinfo
|
||||
8b09f1c662be6c43069de23dcafdacd57a9a9a6f21dc51f79454647b5844695f3389c0efed0b0e216437fd1af48134ef16e0d8eba02e5dd80af6794b75dc1e16 kernel-cmdline.conf
|
||||
a642b851495f68bfdd9788e911623bc0c655e0e3869cdcb03e40686e36a2b17d4c2a9c3402f30c26272ef579cb53fc12f9477caa8f4c73a39079ee78e6d965a0 deviceinfo
|
||||
"
|
||||
@@ -25,3 +25,4 @@ deviceinfo_flash_offset_second="0x00000000"
|
||||
deviceinfo_flash_offset_tags="0x01e00000"
|
||||
deviceinfo_flash_pagesize="4096"
|
||||
|
||||
deviceinfo_kernel_cmdline="androidboot.hardware=angler androidboot.console=ttyHSL0 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 boot_cpus=0-3"
|
||||
@@ -1,6 +0,0 @@
|
||||
androidboot.hardware=angler
|
||||
androidboot.console=ttyHSL0
|
||||
msm_rtb.filter=0x37
|
||||
ehci-hcd.park=3
|
||||
lpm_levels.sleep_disabled=1
|
||||
boot_cpus=0-3
|
||||
@@ -2,7 +2,7 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-huawei-kiwi-downstream
|
||||
pkgdesc="Huawei Honor 5X (Downstream)"
|
||||
pkgver=3
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -10,7 +10,7 @@ arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-huawei-kiwi-downstream mkbootimg msm-fb-refresher"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
|
||||
build() {
|
||||
@@ -28,6 +28,5 @@ nonfree_firmware() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
fa560fcd95067230b09856709684d20bbac78fe3953f6e2e064a8831dd31430c69be3a66a9585c81c0b5726395adf268ed08e59c591edb6cdd39dedf693c08be deviceinfo
|
||||
232042dfbd16031d4f859cf45f8105054bf395d5121b661390b15623eb25dfda750545811c74c635c7f79129588ed6f0ccfd92e360550f8bd1c4c0784bf27e5e kernel-cmdline.conf
|
||||
12ad849642a8548a5d17c24ee4a5a2c0b2d7d2c2f15528e4fff52ce03b17cdc9c898dcc5dc20949b9cc6157613dbc2b180ede47a532b30b621c75002e2a33711 deviceinfo
|
||||
"
|
||||
@@ -16,6 +16,7 @@ deviceinfo_screen_height="1920"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="androidboot.hardware=qcom ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 buildvariant=userdebug"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="true"
|
||||
deviceinfo_flash_offset_base="0x80000000"
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
androidboot.hardware=qcom
|
||||
ehci-hcd.park=3
|
||||
androidboot.bootdevice=7824900.sdhci
|
||||
lpm_levels.sleep_disabled=1
|
||||
buildvariant=userdebug
|
||||
@@ -1,9 +1,9 @@
|
||||
# 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=4
|
||||
pkgver=3
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -15,7 +15,7 @@ depends="
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
source="deviceinfo kernel-cmdline.conf"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
@@ -26,6 +26,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b4aab47dea2a8b682fa1a61ae3ad4cf9d9f876cb2db85beefe18ab079f37b41957de7f5fd974133e26a93d883a6055d1ccd5cd3fdefcac4201a424c3d169b68b deviceinfo
|
||||
96aef56c34b780c1fc52bddfe19680485cf02aa6af17d9cd8b74980912887bac7693f757309ade7a72c365241e4ba7a041096cf3c8708c67d5ef55b370f45652 kernel-cmdline.conf
|
||||
92ebb3f14228b9163a20c712ee86c3d0b384601bfaa8f50d464ab1a307555c567a5bee12868aa51f4001b5d68e33288008de33324a21962d30d3e20c540c16a6 deviceinfo
|
||||
"
|
||||
Loaded 100 of 2799 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user