Compare commits

..
Author SHA1 Message Date
Caleb Connolly 8c8947b099 systemd/abuild: drop
we have abuild in both the systemd and edge repos due to #3452

it seems like just adding an explicit bootstrap step is enough to get
things going properly. That probably isn't even needed since it seems
like the bootstrap failure we saw was specific to that scenario and
probably wouldn't show up again. but better safe than sorry.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-13 17:15:13 +01:00
1099 changed files with 25342 additions and 73293 deletions

No files matched your search

+8
View File
@@ -11,4 +11,12 @@ if [ "$(id -u)" = 0 ]; then
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
# Wrap pmbootstrap to use this repository for --aports
pmaports="$(cd "$(dirname "$0")"/..; pwd -P)"
_pmbootstrap="$(command -v pmbootstrap)"
pmbootstrap() {
"$_pmbootstrap" --aports="$pmaports" "$@"
}
.ci/lib/apkbuild_linting.py
+1 -2
View File
@@ -43,7 +43,7 @@ update_linux_next() {
# shellcheck source=/dev/null
pkgver=$(. device/testing/linux-next/APKBUILD; echo "$pkgver")
curl -s https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/refs/tags/ | grep -oE "<a href='.*'>(.*)</a>.*\.tar\.gz</a>" | awk -F'[<>]' '{print $3}' > /tmp/tags
curl -s "https://gitlab.com/linux-kernel/linux-next/-/tags?format=atom" | grep -oP "(?<=<title>)[^<]+" | tail -n +2 > /tmp/tags
latest=$(grep -v "v" < /tmp/tags | head -n1)
if [ -z "$latest" ]; then
@@ -71,7 +71,6 @@ update_linux_next() {
echo "Updating linux-next from $pkgver to $new_pkgver..."
sed -i -e "s/pkgver=$pkgver/pkgver=$new_pkgver/" device/testing/linux-next/APKBUILD
sed -i -e "s/^pkgrel=.*/pkgrel=0/" device/testing/linux-next/APKBUILD
# Update the checksums
pmbootstrap checksum linux-next
-80
View File
@@ -1,80 +0,0 @@
image: alpine:latest
stages:
- build
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "parent_pipeline"
{% if archs|length == 0 %}
# Needed because gitlab fails if no jobs are created, e.g: nothing should be
# built: https://gitlab.com/gitlab-org/gitlab/-/issues/368248
placeholder:
stage: build
script:
- 'true'
{% endif %}
.build:
stage: build
interruptible: true
before_script:
# upgrade is mostly needed for "qemu" runners that run edge based on a VM
# The other build jobs run natively in docker on latest alpine stable and
# those should always have whatever we need
- apk upgrade -U
- .ci/lib/gitlab_prepare_ci.sh
after_script:
- cp -r /home/pmos/.local/var/pmbootstrap/packages/ packages/ || true
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
artifacts:
expire_in: 1 week
paths:
- packages/
timeout: 10 h
{% if ('x86_64' in archs) %}
build-x86_64:
extends: .build
script:
- .ci/build-x86_64.sh
{% endif %}
{% if ('x86' in archs) %}
build-x86:
extends: .build
script:
- .ci/build-x86.sh
{% endif %}
{% if ('aarch64' in archs) %}
build-aarch64:
extends: .build
tags: [arm64]
script:
- .ci/build-aarch64.sh
{% endif %}
{% if ('armv7' in archs) %}
build-armv7:
extends: .build
tags: [qemu]
script:
- .ci/build-armv7.sh
{% endif %}
{% if ('armhf' in archs) %}
build-armhf:
extends: .build
tags: [qemu]
script:
- .ci/build-armhf.sh
{% endif %}
{% if ('riscv64' in archs) %}
build-riscv64:
extends: .build
tags: [qemu]
script:
- .ci/build-riscv64.sh
{% endif %}
+43
View File
@@ -0,0 +1,43 @@
#!/bin/sh -e
# Description: verify CODEOWNERS file is sane
# https://postmarketos.org/pmb-ci
# TODO Future improvements:
# * Check that all devices in main/community have someone in CODEOWNERS
# * Check that GitLab user actually exists (e.g. deleted account, account with
# changed user name)
if grep -q " " CODEOWNERS; then
echo
echo "ERROR: Found space indentation in CODEOWNERS."
echo "ERROR: Please indent with tab characters."
grep " " CODEOWNERS
echo
exit 1
fi
fail=0
tmppipe=$(mktemp -u)
mkfifo "$tmppipe"
grep -v "^#" CODEOWNERS | cut -d' ' -f1 > "$tmppipe" &
while IFS= read -r line; do
[ -z "$line" ] && continue
# Check if entry generally exists
# shellcheck disable=SC2086
ls $line >/dev/null 2>&1 || { fail=1; echo "Non-existing: $line"; }
# Check that directories end with a slash
# shellcheck disable=SC2086
if test -d "$(ls -d $line)"; then
echo "$line" | grep -q '/$' || { fail=1; echo "Missing trailing slash: $line"; }
fi
done < "$tmppipe"
rm "$tmppipe"
if [ "$fail" = 1 ]; then
echo
echo "ERROR: Invalid CODEOWNERS entries, see above."
echo
exit 1
fi
+38 -21
View File
@@ -24,6 +24,23 @@ def build_strict(packages, arch):
"--arch", arch, ] + list(packages))
def verify_checksums(packages, arch):
# Only do this with one build-{arch} job
arch_verify = "x86_64"
if arch != arch_verify:
print(f"NOTE: doing checksum verification in build-{arch_verify} job,"
" not here.")
return
if len(packages) == 0:
print("no packages changed, not doing any checksums verification")
return
common.run_pmbootstrap(["build_init"])
common.run_pmbootstrap(["--details-to-stdout", "checksum", "--verify"] +
list(packages))
if __name__ == "__main__":
# Architecture to build for (as in build-{arch})
if len(sys.argv) != 2:
@@ -76,31 +93,31 @@ if __name__ == "__main__":
# No packages: skip build
if len(packages) == 0:
print(f"no packages changed, which can be built for {arch}")
sys.exit(0)
build_strict(packages, arch)
else:
verify_only = common.commit_message_has_string("[ci:skip-build]")
if verify_only:
# [ci:skip-build]: verify checksums and stop
print("WARNING: not building changed packages ([ci:skip-build])!")
print("verifying checksums: " + ", ".join(packages))
verify_checksums(packages, arch)
else:
# Build packages
print(f"building in strict mode for {arch}: {', '.join(packages)}")
build_strict(packages, arch)
# Build packages in extra-repos/systemd
# FIXME: this should probably be more generic, if other repos are added later?
if systemd_pkgs:
common.run_pmbootstrap(["config", "systemd", "always"])
# To fix the ERROR: Chroot 'native' is for the 'edge' channel, but you are on the
# 'systemd-edge' channel. Run 'pmbootstrap zap' to delete your chroots and try again.
# To do this automatically, run 'pmbootstrap config auto_zap_misconfigured_chroots yes'.
common.run_pmbootstrap(["config", "auto_zap_misconfigured_chroots", "yes"])
# filter out packages that can't be built for arch
# (Iterate over copy of `systemd_pkgs`, because we modify it in this loop)
for package in systemd_pkgs.copy():
apkbuild_path = pmb.helpers.pmaports.find(package, True, True, with_extra_repos="enabled")
apkbuild = pmb.parse._apkbuild.apkbuild(pathlib.Path(apkbuild_path, "APKBUILD"))
if not pmb.helpers.pmaports.check_arches(apkbuild["arch"], arch):
print(f"(extra-repos/systemd) {package}: not enabled for {arch}, skipping")
systemd_pkgs.remove(package)
# No packages: skip build
if len(systemd_pkgs) == 0:
print(f"no packages changed, which can be built for {arch}")
sys.exit(0)
build_strict(systemd_pkgs, arch)
verify_only = common.commit_message_has_string("[ci:skip-build]")
if verify_only:
# [ci:skip-build]: verify checksums
print("WARNING: not building changed packages for extra-repos/systemd: ([ci:skip-build])!")
print("verifying checksums: " + ", ".join(systemd_pkgs))
verify_checksums(systemd_pkgs, arch)
else:
# Build packages
print(f"building in strict mode for {arch}, from extra-repos/systemd: {', '.join(systemd_pkgs)}")
build_strict(systemd_pkgs, arch)
+7 -18
View File
@@ -41,9 +41,7 @@ def add_upstream_git_remote():
def commit_message_has_string(needle):
base_commit = get_base_commit()
return needle in run_git(["log", "--pretty=format:%B", f"{base_commit}..HEAD"])
return needle in run_git(["show", "-s", "--format=full", "HEAD"])
def run_pmbootstrap(parameters):
@@ -88,10 +86,12 @@ def get_upstream_branch():
return ret
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."""
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)
:returns: set of changed files
"""
branch_upstream = f"upstream/{get_upstream_branch()}"
commit_head = run_git(["rev-parse", "HEAD"])[:-1]
commit_upstream = run_git(["rev-parse", branch_upstream])[:-1]
@@ -107,17 +107,6 @@ def get_base_commit() -> str:
commit = run_git(["merge-base", branch_upstream, "HEAD"])[:-1]
print("comparing HEAD with: " + commit)
return commit
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)
:returns: set of changed files
"""
commit = get_base_commit()
# Changed files
ret = set()
print("changed file(s):")
-56
View File
@@ -1,56 +0,0 @@
#!/usr/bin/env python3
# Copyright 2025 Pablo Correa Gomez
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
import shutil
import sys
from jinja2 import Template
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.helpers.logging
from pmb.core.arch import Arch
# Same dir
import common
if __name__ == "__main__":
# 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
# be changed to a file and added as a CI artifact if we need to debug
# something.
pmb.logging.init(Path("/dev/null"), False)
archs = set()
# Get and print modified packages
common.add_upstream_git_remote()
for file in common.get_changed_files():
path = Path(file)
if path.name != "APKBUILD":
continue
elif not path.exists():
continue # APKBUILD was deleted
apkbuild = pmb.parse.apkbuild(path)
archs.update(apkbuild["arch"])
if common.commit_message_has_string("[ci:skip-build]"):
print("User requested skipping build, not creating child pipeline file")
archs = set()
# This ignores things like !armv7, that could be a follow-up optimization
if 'noarch' in archs or 'all' in archs:
archs = set([str(arch) for arch in Arch.supported()])
print(archs)
with open(template) as f:
rendered = Template(f.read()).render(archs=archs)
with open(child_pipeline, "w") as fw:
fw.write(rendered)
-199
View File
@@ -1,199 +0,0 @@
#!/bin/sh
# Unit testing framework for shell scripts
# Invoke with the path to a tests/ subdir of a package and the
# package name as arguments. Or source it with the following
# variables set:
# * results_dir - second argument to the test script
set -e
# Colors :D
RED="\e[31m"
GREEN="\e[32m"
YELLOW="\e[33m"
BLUE="\e[34m"
BOLDBLUE="\e[1;34m"
RESET="\e[0m"
testlib_path="$(realpath "$0")"
_test_assert_failed=""
_test_testn=1
_test_passedn=0
_test_failedn=0
_test_current_test=""
_test_statefile="$(mktemp)"
# Set by each test
results_dir="${results_dir:-}"
test_log() {
# ash supports echo -e
# shellcheck disable=SC3037
echo -e "$*" >&2
}
test_info() {
# shellcheck disable=SC3037
echo -e "${BLUE}$*${RESET}" >&2
}
test_debug() {
# shellcheck disable=SC3037
echo -e "${YELLOW}$*${RESET}" >&2
}
assert_strequal() {
# $1: first string
# $2: second string
if [ -z "$1" ] || [ -z "$2" ]; then
test_log "ERROR: assert_equal: not enough arguments given"
exit 1
fi
if [ "$1" != "$2" ]; then
_test_assert_failed="$1 != $2"
test_log " ❌ $_test_assert_failed"
return
fi
test_log " ✅ $1 == $2"
}
assert_equal() {
# $1: name of variable
# $2: value to compare
if [ -z "$1" ] || [ -z "$2" ]; then
test_log "ERROR: assert_equal: not enough arguments given"
exit 1
fi
val="$(eval echo "\$$1")"
if [ "$val" != "$2" ]; then
_test_assert_failed="\$$1 != $2 (got $val)"
test_log " ❌ $_test_assert_failed"
return
fi
test_log " ✅ \$$1 == $2"
}
assert_unset() {
if [ -z "$1" ]; then
test_log "ERROR: assert_unset: not enough arguments given"
exit 1
fi
val="$(eval echo \$"$1")"
if [ -n "$val" ]; then
_test_assert_failed="\$$1 should be unset (has value '$val')"
test_log " ❌ $_test_assert_failed"
return
fi
test_log " ✅ \$$1 is unset"
}
# Log some expression and evaluate it
logeval() {
eval "$*"
test_log "${YELLOW}+ $*${RESET}"
}
# Start a test. Shell scripts involved in the test should be sourced AFTER calling this function!
start_test() {
if [ -n "$_test_current_test" ]; then
test_log "ERROR: multiple calls to start_test without calling end_test first!"
test_log "Current test: $_test_current_test"
exit 1
fi
test_log "==> Test $_test_testn: $1"
_test_current_test="$1"
set > "$_test_statefile"
}
# End a test and reset the environment.
end_test() {
local msg
local save_assert_failed
# Restore environment
save_assert_failed="$_test_assert_failed"
# Splitting is intentional
# shellcheck disable=SC2046
unset $(set | grep "='" | cut -d= -f1 | grep -vE "(PATH|IFS|TERM|LANG|HOME|PWD|SHELL|USER|save_assert_failed|_test_statefile)" )
# shellcheck disable=SC1090
. "$_test_statefile"
_test_assert_failed="$save_assert_failed"
if [ -n "$_test_assert_failed" ]; then
msg="${RED}Failed! ❌ ${_test_assert_failed}${RESET}"
echo "Test $_test_testn: $_test_assert_failed" >> "$results_dir/failed"
_test_failedn=$((_test_failedn+1))
echo "$_test_failedn" > "$results_dir/failedn"
unset _test_assert_failed
else
msg="${GREEN}Passed!${RESET}"
_test_passedn=$((_test_passedn+1))
echo "$_test_passedn" > "$results_dir/passedn"
fi
test_log "<== Test $_test_testn: $msg $_test_current_test\n"
_test_testn=$((_test_testn+1))
_test_current_test=""
}
# Call at the end of each testsuite shell script
end_testsuite() {
if [ -n "$_test_current_test" ]; then
test_log "${RED}ERROR: end_testsuite called without calling end_test first!${RESET}"
test_log "${RED}Current test: $_test_current_test${RESET}"
exit 1
fi
if [ -f "$results_dir/failed" ]; then
exit 1
fi
exit 0
}
run_tests() {
local failed test_results_base
local test name total passedn failedn t_passed t_failed
test_results_base="$(mktemp -d)"
test_log "Running tests for $2"
# FIXME: yeah this isn't quite the best way to iterate the files
# shellcheck disable=SC2010
for name in $(ls "$1" | grep "\.sh$"); do
test="$1/$name"
mkdir "$test_results_base/$name"
echo 0 > "$test_results_base/$name/passedn"
echo 0 > "$test_results_base/$name/failedn"
test_log
test_log "${BOLDBLUE}# Test suite ${name}${RESET}"
$test "$testlib_path" "$test_results_base/$name" || failed="$failed $name"
t_passed=$(cat "$test_results_base/$name/passedn")
t_failed=$(cat "$test_results_base/$name/failedn")
passedn=$((passedn+t_passed))
failedn=$((failedn+t_failed))
total=$((total+t_passed+t_failed))
done
if [ -n "$failed" ]; then
test_log
test_log "Some tests failed:"
for test in $failed; do
test_log "❌ $test"
test_log " ${RED}$(cat "$test_results_base/$test/failed")${RESET}"
done
fi
if [ $passedn -lt $total ]; then
test_log "[${RED}$passedn/$total tests passed${RESET}]"
else
test_log "[${GREEN}$passedn/$total tests passed!${RESET}]"
fi
test_log
if [ -n "$failed" ]; then exit 1; else exit 0; fi
}
# FIXME: probably not the best way to determine if this was sourced
if [ $# -gt 0 ]; then
run_tests "$1" "$2"
fi
-82
View File
@@ -1,82 +0,0 @@
#!/usr/bin/env python3
# Copyright 2025 Pablo Correa Gomez
# SPDX-License-Identifier: GPL-3.0-or-later
import os
import sys
# Same dir
import common
# pmbootstrap
import add_pmbootstrap_to_import_path
import pmb.core
from pmb.core.context import get_context
def verify_checksums(packages):
if len(packages) == 0:
print("no packages changed, not doing any checksums verification")
return
print("verifying checksums: " + ", ".join(packages))
common.run_pmbootstrap(["build_init"])
common.run_pmbootstrap(["--details-to-stdout", "checksum", "--verify"] +
list(packages))
if __name__ == "__main__":
# Get and print modified packages
common.add_upstream_git_remote()
packages = common.get_changed_packages()
# Load context
sys.argv = ["pmbootstrap.py", "chroot"]
args = pmb.parse.arguments()
context = get_context()
# Get set of all buildable packages for the enabled repos, for skipping unbuildable
# aports later. We might be given a changed aport from e.g. extra-repos/systemd when
# that repo is not enabled
buildable_pkgs = set()
for path in pmb.core.pkgrepo.pkgrepo_iter_package_dirs():
buildable_pkgs.add(os.path.basename(path))
# To store a list of packages from extra-repos/systemd for special handling
# later:
systemd_pkgs = list()
# Filter out packages are not found in enabled repos
# (Iterate over copy of packages, because we modify it in this loop)
for package in packages.copy():
if package not in buildable_pkgs:
print(f"{package}: not in current repo, skipping")
packages.remove(package)
# FIXME: this should probably be more generic, if other repos are added
# later?
# This just tosses the package into the list of packages to try
# building later w/ systemd enabled, and assumes it'll be found
# there.
print(f"{package}: adding to list of packages to check in systemd repo")
systemd_pkgs.append(package)
continue
# No packages: skip build
if len(packages) == 0:
print("no packages to check for the current repo")
else:
verify_checksums(packages)
# FIXME: this should probably be more generic, if other repos are added later?
if systemd_pkgs:
common.run_pmbootstrap(["config", "systemd", "always"])
# To fix the ERROR: Chroot 'native' is for the 'edge' channel, but you are on the
# 'systemd-edge' channel. Run 'pmbootstrap zap' to delete your chroots and try again.
# To do this automatically, run 'pmbootstrap config auto_zap_misconfigured_chroots yes'.
common.run_pmbootstrap(["config", "auto_zap_misconfigured_chroots", "yes"])
# No packages: skip build
if len(systemd_pkgs) == 0:
print("no packages to check for the systemd repo")
else:
verify_checksums(systemd_pkgs)
+3 -3
View File
@@ -15,6 +15,7 @@ fi
# Shell: shellcheck
sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/postmarketos-base/rootfs-usr-lib-firmwareload.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
@@ -23,7 +24,7 @@ sh_files="
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./device/community/soc-qcom/call_audio_idle_suspend_workaround.sh
./device/community/soc-qcom-sdm845/call_audio_idle_suspend_workaround.sh
$(find . -path './main/postmarketos-ui-*/*.sh')
$(find . -path './main/postmarketos-ui-*/*.pre-install')
@@ -38,11 +39,10 @@ sh_files="
$(find . -path './main/postmarketos-mvcfg/*.sh')
$(find . -path './.ci/**.sh')
$(find . -path '**/tests/*.sh')
"
for file in $sh_files; do
echo "Test with shellcheck: $file"
cd "$DIR/$(dirname "$file")"
shellcheck -S warning -e SC1008 -e SC3043 -x "$(basename "$file")"
shellcheck -e SC1008 -e SC3043 -x "$(basename "$file")"
done
+73 -8
View File
@@ -14,6 +14,9 @@ import pmb.parse._apkbuild
from pmb.core.pkgrepo import pkgrepo_default_path, pkgrepo_iglob, pkgrepo_relative_path
from pmb.core.arch import Arch
# Cache for codeowners_parse
codeowners_parsed = {}
# Don't complain if these nicknames are the only maintainers of an APKBUILD,
# because they are actually a group of people
gitlab_groups = [
@@ -99,12 +102,72 @@ def test_aports_device_kernel():
f" <https://postmarketos.org/devicepkg>): {path}")
def codeowners_parse():
global codeowners_parsed
pattern_prev = None
aports = pkgrepo_default_path()
with open(aports / "CODEOWNERS") as h:
for line in h:
line = line.rstrip()
if not line or line.startswith("#"):
continue
pattern_nicks = line.split()
assert len(pattern_nicks) > 1, f"CODEOWNERS line without nicks: {line}"
pattern = pattern_nicks[0]
if pattern.endswith("/"):
pattern += "*"
nicks = []
for word in pattern_nicks[1:]:
if word.startswith("@"):
nicks += [word]
codeowners_parsed[pattern] = nicks
if pattern_prev:
assert pattern_prev <= pattern, "CODEOWNERS: please order entries alphabetically"
pattern_prev = pattern
def require_enough_codeowners_entries(path, maintainers):
"""
:param path: full path to an APKBUILD (e.g. /home/user/…/APKBUILD)
:param maintainers: list of one or more maintainers
"""
_, path = pkgrepo_relative_path(path)
nicks = set()
for pattern, pattern_nicks in codeowners_parsed.items():
if fnmatch.fnmatch(path, pattern):
for nick in pattern_nicks:
nicks.add(nick)
print(f"{path}:")
print(f" APKBUILD: {maintainers}")
print(f" CODEOWNERS: {nicks}")
if len(nicks) < len(maintainers):
for nick in nicks:
if nick in gitlab_groups:
print(f" -> {nick} is a group")
return
assert len(nicks) >= len(maintainers), \
f"{path}: make sure that each maintainer is listed in CODEOWNERS!"
# @pytest.mark.xfail # Not all aports have been updated yet
def test_aports_maintained():
"""
Ensure that aports in /device/{main,community} have "Maintainer:" and
"Co-Maintainer:" (only required for main) listed in their APKBUILDs.
"Co-Maintainer:" (only required for main) listed in their APKBUILDs. Also
check that at least as many are listed in CODEOWNERS.
"""
codeowners_parse()
for path in pkgrepo_iglob("device/main/*/APKBUILD"):
if 'firmware-' in path.parent.name:
@@ -112,21 +175,23 @@ def test_aports_maintained():
maintainers = pmb.parse._apkbuild.maintainers(path)
assert maintainers and len(maintainers) >= 2, \
f"{path} in main needs at least 1 Maintainer and 1 Co-Maintainer"
require_enough_codeowners_entries(path, maintainers)
for path in pkgrepo_iglob("device/community/*/APKBUILD"):
if 'firmware-' in path.parent.name:
continue
maintainers = pmb.parse._apkbuild.maintainers(path)
assert maintainers, f"{path} in community needs at least 1 Maintainer"
require_enough_codeowners_entries(path, maintainers)
def test_aports_archived():
def test_aports_unmaintained():
"""
Ensure that aports in /device/archived have an "Archived:" comment
that describes why the aport is archived.
Ensure that aports in /device/unmaintained have an "Unmaintained:" comment
that describes why the aport is unmaintained.
"""
for path in pkgrepo_iglob("device/archived/*/APKBUILD"):
archived = pmb.parse._apkbuild.archived(path)
assert archived, f"{path} should have an Archived: " +\
"comment that describes why the package is archived"
for path in pkgrepo_iglob("device/unmaintained/*/APKBUILD"):
unmaintained = pmb.parse._apkbuild.unmaintained(path)
assert unmaintained, f"{path} should have an Unmaintained: " +\
"comment that describes why the package is unmaintained"
+1 -2
View File
@@ -74,8 +74,7 @@ def test_deviceinfo():
name = info.name
manufacturer = info.manufacturer
if not name.startswith(manufacturer) and \
not name.startswith("Google") and \
not name.startswith("Jolla"):
not name.startswith("Google"):
raise RuntimeError("Please add the manufacturer in front of"
" the deviceinfo_name, e.g.: '" +
manufacturer + " " + name + "'")
-1
View File
@@ -25,7 +25,6 @@ def test_aports_firmware():
"firmware-samsung-maguro", # Depends on firmware-aosp-broadcom-wlan
"firmware-xiaomi-ferrari", # Depends on soc-qcom-msm8916
"firmware-xiaomi-willow", # Doesn't build, source link is dead (pma#1212)
"firmware-samsung-i9105p", # Depends on firmware-aosp-broadcom-wlan
]
for path in pkgrepo_iglob("**/firmware-*/APKBUILD", recursive=True):
+1 -1
View File
@@ -23,7 +23,7 @@ def test_aports_kernel():
apkbuild = pmb.parse.apkbuild(path)
aport_name = os.path.basename(os.path.dirname(path))
if aport_name == "linux-pam-pmos":
if aport_name == "linux-pam":
continue # This package isn't a linux kernel!
if "pmb:cross-native" not in apkbuild["options"]:
+1 -2
View File
@@ -105,8 +105,7 @@ def test_aports_unreferenced_files():
if os.path.basename(rel_file_path) not in sources_chk \
and rel_file_path not in apkbuild["install"] \
and rel_file_path not in subpackage_installs \
and rel_file_path not in trigger_sources \
and not rel_file_path.startswith("tests/"):
and rel_file_path not in trigger_sources:
raise RuntimeError(f"{apkbuild_path}: found unreferenced file: {rel_file_path}")
-19
View File
@@ -1,19 +0,0 @@
#!/bin/sh -e
# Description: run unit-tests for packages
# https://postmarketos.org/pmb-ci
#
# This script only exists to allow running unit-tests locally.
# In actual CI the package tests/ subdir has it's own YAML
# fine defining a job which calls testlib for that package.
# This way we can run all the package unit-tests locally but
# have them be individual jobs in GitLab.
if [ "$(id -u)" = 0 ]; then
set -x
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
find . -type d -name "tests" | while read -r testdir; do
pkg="$(basename "$(dirname "$testdir")")"
.ci/lib/testlib.sh "$testdir" "$pkg"
done
-16
View File
@@ -1,16 +0,0 @@
#!/bin/sh -e
# Description: verify checksums of modified packages
# Options: native
# 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/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
export PYTHONUNBUFFERED=1
.ci/lib/verify_checksums.py
+5 -22
View File
@@ -37,30 +37,13 @@ prepend_msg() {
[ -z "$SOURCE" ] || exit 0
lcp=$(git diff-index --name-only --cached HEAD | longest_common_prefix)
prefix=""
case "$lcp" in
extra-repos/systemd/systemd/*)
prefix="systemd"
;;
extra-repos/systemd/*)
prefix="systemd/$(echo "$lcp" | cut -d/ -f3)"
;;
device/*/*)
prefix="$(echo "$lcp" | cut -d/ -f3)"
;;
device/*)
# Multiple packages touched for same device category. More
# logic could be added to detect if they all belong to same
# device.
;;
[^.]*/*)
prefix="$(echo "$lcp" | cut -d/ -f1-2)"
;;
device/*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f3): ";;
# Multiple packages touched for same device category
# More logic could be added to detect if they all belong to same device
device/*) ;;
[^.]*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f1-2): ";;
esac
if [ -n "$prefix" ]; then
prepend_msg "$prefix: "
fi
exit 0
-3
View File
@@ -118,6 +118,3 @@ ENV/
# Allow having untracked packages in aports using a custom-something directory
/custom-*/
# child pipeline
.ci/build-jobs.yaml
+44 -59
View File
@@ -8,16 +8,14 @@ after_script:
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
stages:
- lint
- prepare
- build
- autoupdate
- test
variables:
# Default of 20 is pretty small, sometimes MRs have >20 commits in them. 100
# seems like a reasonable balance. If this is too low, git merge-base (from ci/
# common.py) can fail
GIT_DEPTH: 100
# This defines the rules for when a pipeline should run.
workflow:
rules:
@@ -29,10 +27,6 @@ workflow:
# Run scheduled pipeline for autoupdate or manually triggered pipeline
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
# Some packages have their own yaml files defining tests. All of these should contain
# only jobs which extend the .package-test job!
include: "**/.gitlab-ci.yml"
# device documentation
wiki:
stage: lint
@@ -69,6 +63,7 @@ shellcheck-grep:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/shellcheck.sh
- .ci/grep.sh
- .ci/codeowners.sh
editor-config:
stage: lint
@@ -121,15 +116,6 @@ kernel-kconfig:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/kconfig.sh
# Verify checksums
verify-checksums:
stage: lint
rules:
- if: *mr_rule
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/verify-checksums.sh
# MR settings
# (Checks for "Allow commits from members who can merge to the target branch")
mr-settings:
@@ -143,44 +129,51 @@ mr-settings:
- 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:
# https://docs.gitlab.com/ci/pipelines/downstream_pipelines/#dynamic-child-pipelines
# For those to work, we need two jobs:
# * First one (this one) that generates a valid yaml file with the job yaml as
# an artifact
# * Second one (build-jobs) that has a "trigger" key with the yaml file from
# which to trigger pipelines
# To avoid reworking the whole CI file, for now we are re-using this same file
# to trigger the downstream pipeline. In that case, $CI_PIPELINE_SOURCE will
# be set to "parent_pipeline", and only the jobs that extend .build will run
generate-build-jobs:
stage: prepare
before_script:
- .ci/lib/gitlab_prepare_ci.sh
needs: []
script:
- wget "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh py3-jinja2
- .ci/lib/generate_build_jobs.py .ci/build-jobs.yaml.j2 .ci/build-jobs.yaml
artifacts:
paths:
- .ci/build-jobs.yaml
rules:
- if: *mr_rule
build-jobs:
# build changed aports
.build:
stage: build
trigger:
include:
- artifact: .ci/build-jobs.yaml
job: generate-build-jobs
strategy: depend
forward:
# So that we don't have to duplicate GIT_DEPTH
pipeline_variables: true
rules:
- if: *mr_rule
before_script:
- *global_before_scripts
- .ci/lib/gitlab_prepare_ci.sh
after_script:
- cp -r /home/pmos/.local/var/pmbootstrap/packages/ packages/ || true
artifacts:
expire_in: 1 week
paths:
- packages/
timeout: 10 h
build-x86_64:
extends: .build
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
- .ci/build-aarch64.sh
build-armv7:
extends: .build
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
auto-update:
stage: autoupdate
@@ -200,11 +193,3 @@ auto-update:
- log.txt
- log_testsuite_pmaports.txt
- pmbootstrap.cfg
# Template for package test jobs defined per-package
.package-test:
stage: test
rules:
- if: *mr_rule
before_script:
- .ci/lib/gitlab_prepare_ci.sh
-1
View File
@@ -34,7 +34,6 @@
### On what environment did you encounter the issue?
#### Environments
* [ ] COSMIC
* [ ] GNOME Shell on Mobile
* [ ] Phosh
* [ ] Plasma Mobile
+14
View File
@@ -0,0 +1,14 @@
{
"subject_format": {
"pass": [
"^(([a-z]+\\/[a-z\\-0-9*{}]+),?)+: [A-Za-z\\/\\-0-9*{}\\(\\)\\.,_&:=' ]+( \\(MR \\d+\\)|)$",
"^CI: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^mrhlpr.json: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^pmaports.cfg: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$"
],
"unknown": [
"^[a-z-0-9_.*{}\\/]+: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$"
]
}
}
-1
View File
@@ -1 +0,0 @@
https://postmarketos.org/funding.json
+156
View File
@@ -0,0 +1,156 @@
# https://docs.gitlab.com/ee/user/project/code_owners.html
# Put groups like @sdm845-mainline into test_device.py:gitlab_groups.
# Order lines alphabetically!
device/*/*-amlogic-s905*/ @funderscore
device/*/*-arrow-db410c/ @Minecrell
device/*/*-asus-me176c/ @Minecrell
device/*/*-ayn-odin/ @jenneron
device/*/*-bq-paella/ @Minecrell
device/*/*-bq-tenshi/ @fossdd
device/*/*-google-gru/ @jenneron
device/*/*-google-kukui/ @jenneron @binarycraft
device/*/*-google-oak/ @jenneron @adamthiede
device/*/*-google-trogdor/ @jenneron
device/*/*-google-veyron/ @jenneron
device/*/*-google-x64cros/ @jenneron @JustSoup321 @alpernebbi
device/*/*-htc-golfu/ @Newbyte
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-kobo-clara/ @akemnade
device/*/*-lenovo-21bx/ @craftyguy @jane400
device/*/*-lenovo-a6000/ @jenneron @Minecrell
device/*/*-lenovo-a6010/ @jenneron @Minecrell
device/*/*-librecomputer-lafrite/ @funderscore
device/*/*-librecomputer-lepotato/ @funderscore
device/*/*-librecomputer-solitude/ @Newbyte @funderscore
device/*/*-motorola-harpia/ @Minecrell
device/*/*-nokia-n900/ @sicelo @Danct12
device/*/*-pine64-pinebookpro/ @QC8086
device/*/*-pine64-pinephone/ @craftyguy @milesalan @proycon @anjandev @StacyHarper @Arnavion @PsychoGame
device/*/*-pine64-pinephonepro/ @PsychoGame
device/*/*-pine64-rockpro64/ @PureTryOut
device/*/*-purism-librem5/ @craftyguy @alistair23 @Newbyte
device/*/*-qcom-msm8916/ @Minecrell @TravMurav
device/*/*-qcom-msm8953/ @barni2000 @alikates @vipaoL @jiaxyga
device/*/*-qcom-sdm670/ @flamingradian
device/*/*-qcom-sdm845/ @sdm845-mainline
device/*/*-qcom-sm6350/ @z3ntu
device/*/*-qcom-sm8250/ @jianhua
device/*/*-samsung-a3/ @Mis012 @TravMurav @Minecrell
device/*/*-samsung-a5/ @Minecrell @minlexx
device/*/*-samsung-a51/ @manoedinata
device/*/*-samsung-e7/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-espresso10/ @MightyM17
device/*/*-samsung-espresso7/ @MightyM17 @antoni.aloytorrens
device/*/*-samsung-fortuna/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-fortunaltezt/ @bolilingmeng89006
device/*/*-samsung-grandmax/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-gt510/ @TravMurav
device/*/*-samsung-gt58/ @TravMurav
device/*/*-samsung-j3ltetw/ @bolilingmeng89006
device/*/*-samsung-j4lte/ @manoedinata
device/*/*-samsung-j5/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-j5x/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-rossa/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-serranove/ @Minecrell
device/*/*-tolino-shine2hd/ @akemnade
device/*/*-videostrong-kii-pro/ @funderscore
device/*/*-wileyfox-crackling/ @TravMurav @Minecrell
device/*/*-xiaomi-beryllium/ @joelselvaraj
device/*/*-xiaomi-daisy/ @joelselvaraj @alikates
device/*/*-xiaomi-elish/ @jianhua
device/*/*-xiaomi-markw/ @vipaoL
device/*/*-xiaomi-mido/ @barni2000
device/*/*-xiaomi-scorpio/ @Tooniis
device/*/*-xiaomi-tissot/ @jiaxyga @barni2000
device/*/*-xiaomi-vince/ @M0Rf30
device/*/*-xiaomi-wt88047/ @Minecrell
device/*/*-xiaomi-ysl/ @barni2000
device/*/alsa-ucm-conf-cros/ @WeirdTreeThing
device/*/alsa-ucm-conf-qcom-sdm670/ @flamingradian
device/*/device-apple-n61/ @JustSoup321
device/*/device-fairphone-*/ @z3ntu
device/*/device-generic-x86_64/ @craftyguy @ollieparanoid
device/*/device-google-nyan-big/ @jenneron
device/*/device-google-nyan-blaze/ @jenneron
device/*/device-google-peach-pi/ @jenneron
device/*/device-google-peach-pit/ @jenneron
device/*/device-google-sargo/ @flamingradian
device/*/device-google-snow/ @jenneron
device/*/device-huawei-plank/ @gtrxAC
device/*/device-lg-judyln/ @Newbyte
device/*/device-lg-judyp/ @jenneron
device/*/device-microsoft-surface-rt/ @jenneron @jethrob
device/*/device-nvidia-tegra-armv7/ @clamor-s @okias @mschwalm @nokun
device/*/device-odroid-xu4/ @Grimler
device/*/device-oneplus-enchilada/ @calebccff
device/*/device-oneplus-fajita/ @calebccff
device/*/device-postmarketos-trailblazer/ @calebccff
device/*/device-qcom-msm8909/ @wonderfulShrineMaidenOfParadise
device/*/device-qemu-aarch64/ @Minecrell @ollieparanoid
device/*/device-qemu-amd64/ @Minecrell @ollieparanoid
device/*/device-qemu-riscv64/ @Minecrell @z3ntu
device/*/device-qualcomm-sdm845/ @calebccff
device/*/device-raspberry-pi3/ @fossdd
device/*/device-samsung-chagallwifi/ @Grimler
device/*/device-samsung-coreprimevelte/ @legolivesmatter @balejk
device/*/device-samsung-j5y17lte/ @andrisas
device/*/device-samsung-klimtlte/ @Grimler
device/*/device-samsung-lt01/ @knuxify
device/*/device-samsung-m0/ @Newbyte
device/*/device-samsung-manta/ @jenneron @alexmrqt
device/*/device-shift-axolotl/ @amartinz @calebccff @dylanvanassche
device/*/device-solidrun-cubox/ @longnoserob
device/*/firmware-google-sargo/ @flamingradian
device/*/firmware-google-veyron-brcm/ @jenneron
device/*/firmware-motorola-osprey/ @Minecrell
device/*/firmware-odroid-xu4/ @Grimler
device/*/firmware-oneplus-sdm845/ @calebccff
device/*/firmware-powervr-gx6250/ @jenneron
device/*/kobo-epdc-extractor/ @akemnade
device/*/linux-google-nyan/ @jenneron
device/*/linux-google-veyron/ @jenneron
device/*/linux-huawei-plank/ @gtrxAC
device/*/linux-next/ @calebccff
device/*/linux-postmarketos-allwinner/ @Arnavion @PsychoGame
device/*/linux-postmarketos-amlogic/ @funderscore @exkc
device/*/linux-postmarketos-apple/ @JustSoup321
device/*/linux-postmarketos-exynos4/ @Newbyte @Grimler @knuxify
device/*/linux-postmarketos-exynos5/ @jenneron @Grimler
device/*/linux-postmarketos-grate/ @clamor-s @jenneron @jethrob
device/*/linux-postmarketos-imx-ereader/ @akemnade
device/*/linux-postmarketos-marvell/ @longnoserob @exkc
device/*/linux-postmarketos-mediatek-mt8173/ @jenneron @adamthiede
device/*/linux-postmarketos-mediatek-mt8183/ @jenneron @binarycraft
device/*/linux-postmarketos-omap/ @MightyM17 @Sicelo
device/*/linux-postmarketos-qcom-laptop/ @craftyguy @calebccff
device/*/linux-postmarketos-qcom-msm8939/ @Newbyte
device/*/linux-postmarketos-qcom-msm8953/ @M0Rf30 @Ultra-azu @barni2000
device/*/linux-postmarketos-qcom-msm8996/ @Tooniis
device/*/linux-postmarketos-qcom-sc7180/ @jenneron
device/*/linux-postmarketos-rockchip/ @QC8086
device/*/linux-postmarketos-stericsson/ @Newbyte
device/*/linux-samsung-chagallwifi/ @Grimler
device/*/linux-samsung-coreprimevelte/ @legolivesmatter @balejk
device/*/linux-samsung-j5y17lte/ @andrisas
device/*/linux-samsung-klimtlte/ @Grimler
device/*/oem-amd/ @craftyguy
device/*/oem-intel/ @craftyguy
device/*/oem-nvidia/ @craftyguy
device/*/soc-mediatek-mt8183/ @jenneron
device/*/soc-qcom-msm8953/ @barni2000
device/*/soc-qcom-msm8996/ @Tooniis
device/*/soc-qcom-sc7180/ @jenneron
device/*/soc-rockchip-rk3399/ @jenneron
device/*/soc-samsung-exynos4412/ @Newbyte
device/*/u-boot-librem5/ @craftyguy @alistair23 @Newbyte
device/*/u-boot-pinebookpro/ @QC8086
device/*/u-boot-pinephone/ @Arnavion @PsychoGame
device/*/wl1251-cal/ @Danct12
main/postmarketos*gnome*/ @pabloyoyoista @Newbyte @fossdd
main/postmarketos-initramfs/ @calebccff @craftyguy
main/postmarketos-ui-i3wm/ @fossdd
main/postmarketos-ui-phosh/ @pabloyoyoista @Newbyte @fossdd
main/postmarketos-ui-plasma-mobile/ @PureTryOut
main/shutdown-clear-rtc-wakealarm/ @Arnavion
main/ttyescape/ @calebccff
-13
View File
@@ -42,19 +42,6 @@ commit title can opt to use the following format:
manufacturer-codename: description of change
### Changes to packages inside of the systemd directory
We also shorten the prefixes for packages in `extra-repos/systemd`.
When the `systemd` package itself gets changed, use `systemd: ` as
prefix. For example:
systemd: add triggers for reloading/restarting services
When another package inside the systemd directory gets changed, use
`systemd/$pkgname: ` as prefix. For example:
systemd/cups: restart on upgrade
### Moving devices between categories
As we do not include directory prefixes in device-related commits,
+1 -1
View File
@@ -15,7 +15,7 @@ branch_aports=3.21-stable
mirrordir_alpine=v3.21
[v24.06]
description=Old release (unsupported)
description=Old release (supported until 2025-01-23)
branch_pmaports=v24.06
branch_aports=3.20-stable
mirrordir_alpine=v3.20
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-aarch64
pkgver=1.37.0
pkgrel=16
pkgrel=10
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
6ff297733e1c89429cb0b667a5cda1cad1e2085b4ea071d6247034313c2e0a0963d44158ef5b651f212ea3fa99e16fdc7901152317cd5a07b1e76c2ed5aa47b2 busybox-static-1.37.0-r16-aarch64-edge.apk
b71a091d7ae6ee459dd0c51409793214a2285ee83c2621e289e198187ed642222d6f842f08661a8c72f96c9a0dc7271d5a47ab6794e2551f185d68f515bde598 busybox-static-1.37.0-r10-aarch64-edge.apk
"
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armhf
pkgver=1.37.0
pkgrel=16
pkgrel=10
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
ea3b5afb3b1d73835fec42960fca06c144e84d926beec7774fcd873a701fca22f31fc03417ac0cdef0533f8948cbf971484bbd9a5d00f4dae0ade386a7027739 busybox-static-1.37.0-r16-armhf-edge.apk
88abaead7eace4910199e0cc76bc16bce762d61b2e10e1bc2a631d38e56458f5cb95f98f09d09f346229f9c6c982d3b0b3f907315f54e0e92b83dcc3b839d8bf busybox-static-1.37.0-r10-armhf-edge.apk
"
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armv7
pkgver=1.37.0
pkgrel=16
pkgrel=10
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
f3c12760357b4a702a97393ba54a22b34eeb874d7442c6ef1f45eeb954786daefcfc8565992f30f4d417203e2aa9a4df6d7862ccccef1101064ce23e6fef7366 busybox-static-1.37.0-r16-armv7-edge.apk
5bbeb8a0331f25569acc32d574290ec430f0a2a74190550b3913f3e7366082a76b9755c0d52bec57659a2bbd1af3f4fe5928ec988b283a2e731c902cd5e7aa85 busybox-static-1.37.0-r10-armv7-edge.apk
"
+2 -2
View File
@@ -5,7 +5,7 @@
pkgname=ccache-cross-symlinks
pkgver=3
pkgrel=1
pkgrel=0
pkgdesc="Enable ccache for cross-compilers with symlinks"
url="https://ccache.samba.org/"
arch="noarch"
@@ -15,7 +15,7 @@ options="!check"
package() {
# Keep in sync with pmb.config.build_device_architectures
local _archs="armhf armv7 aarch64 x86_64 x86 riscv64"
local _archs="armhf armv7 aarch64 x86_64 x86"
local _bins="c++ cc cpp g++ gcc clang clang++"
mkdir -p "$pkgdir/usr/lib/ccache/bin"
+3 -3
View File
@@ -20,7 +20,7 @@
pkgname=crossdirect
pkgver=5.2.0
pkgrel=1
pkgrel=0
pkgdesc="Wrappers to launch native cross compilers in foreign chroots"
url="https://postmarketOS.org"
arch="all"
@@ -31,7 +31,7 @@ source="cargo.sh crossdirect.c rustc.sh rust-qemu-linker.sh"
build() {
cd "$srcdir"
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64 riscv64"
_archs="x86_64 armhf armv7 aarch64"
for _arch in $_archs; do
[ "$_arch" == "$CARCH" ] && continue
_hostspec="$(arch_to_hostspec $_arch)"
@@ -48,7 +48,7 @@ build() {
package() {
# Architectures and binaries
_archs="x86_64 armhf armv7 aarch64 riscv64"
_archs="x86_64 armhf armv7 aarch64"
_bins="c++ cc cpp g++ gcc clang clang++"
# Rust wrappers
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-aarch64
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="x86_64"
subpackages="musl-dev-aarch64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
8276aa0ce7368b87bf97f37d600639d475c059b984061125c6b648d2fecb838d87c8de9f19af32bad5862845c05368ccec0b328af3beb0fedc89a7ec0fb3babb musl-1.2.5-r10-aarch64-edge.apk
2da7a285fee8a1f2386d4a75cbf3c75cfbbaf88c617d50af0e0440fcd5d9825183772bb13f55f885137d6519c606791d3a8c576c5202818b2289f0db4c98720d musl-dev-1.2.5-r10-aarch64-edge.apk
0f874d6c7be3a69a69553d99c4b50ede6e3b92811052c13a36d8dd35955817f437f77e185d624804526d36e8cc6e99be4eedf8c2d3bcf09340068b1e41da5a49 musl-1.2.5-r9-aarch64-edge.apk
2b85e131b5b8829a02ca5d6ab9bf3e897468834e6db9e5d54127037b5951f5c3ca06964d225d7d4376637ae77467c4001cbcc7f179705a6a206587ac8d7cd266 musl-dev-1.2.5-r9-aarch64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armhf
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="x86_64"
subpackages="musl-dev-armhf:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
18e90cbe16c8084cbf8d91b36decde0d520778946258d4c84908e639741843d21b7e9e610f007e5126dcc6a3ba2289a862bc18cfd9b21d3bc64161483a5704cf musl-1.2.5-r10-armhf-edge.apk
7b46a6eb791beb511d9d40c5de3fc08d9b2fbf82b0538dfb171cdafd16d719687d3bb55e718a0f1eefcd0a8342d81fcb258928a3209ab1a874015054f5ffe501 musl-dev-1.2.5-r10-armhf-edge.apk
10f462174d0fa0caaa4e4b767848b2d3a89c70617aca562cf0cd310ee2119eee8638b9eb2909a0756ee8e8952236624c1bacaac314b2d1146cf1c47b4c9b409d musl-1.2.5-r9-armhf-edge.apk
b9305bbe13d94de869d354f3657f59f1e08e897c2b6b0d0419a1dc384f00160dbf56df52b75196f238bcee62dd2e7e613755a91ee6e28776f6df38e5e9203de1 musl-dev-1.2.5-r9-armhf-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armv7
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="x86_64"
subpackages="musl-dev-armv7:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
cfd51c4655b612815af1e888228244640a4516dd8edd7a75131d6634c96d8ea6028e780b3c3e870dd22c4f89788f9f12594b4900a8df287161059687f1630857 musl-1.2.5-r10-armv7-edge.apk
88f482c389479817700a5b2c8609bae9d152303b92b1a9c7bd464aa990975b7bd0990c7b185d6c66ecd0c3c0c5f7579fc52a618d4393e511e112c8992d682693 musl-dev-1.2.5-r10-armv7-edge.apk
874994ef577a9651b444ddab90f8ac248b7b2ef8c4b0b7dda38d4ff2200e76a737e9dc27b63da5e7fd4022d18829badcdf99969cc52752d710ec598460cbe03d musl-1.2.5-r9-armv7-edge.apk
945a53e8ac24889bcc1bee2b9235fa743c6f653ca0f1611176797ae242eb26c19d3521ead290e9a759ffff38135073c6d2677879c891499c3a50f7f23ab0cead musl-dev-1.2.5-r9-armv7-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-riscv64
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="x86_64"
subpackages="musl-dev-riscv64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
4c76e3c4e94ab96d49c51ad01205e846280f851cff06b8c6ab8269d2ac99bbede29da9600fa60130c266d95da21bccdb00ad4b18123964774835e8014611e53e musl-1.2.5-r10-riscv64-edge.apk
27e6923fb43b1cd87b15e42edec6c658b7983b4e8c001bb67f5fc79cb124a46af92440e75676460eb3bed3a7acdd5ad142f03ba7dd040aae056431b8cc56818d musl-dev-1.2.5-r10-riscv64-edge.apk
eb1e36d35decc8df6c383845e73a703bb5e0f322ca4ba8c346a54652f6d3c9c46d1eef901031ccfaa3a52a132963a67f35f791480f5918c091f3141775e1b1b9 musl-1.2.5-r9-riscv64-edge.apk
0cfa1711bc803674fb6504ed7466d73c2e35b735cbd78a5348bafd48973ed89afb877d966202d822f5e7d1064e99c1cc8452672478e3c6f30bac611328462c57 musl-dev-1.2.5-r9-riscv64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="x86_64"
subpackages="musl-dev-x86:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
7d53c9b8d328860e09e5e5835be9632e9ee6effb6ce4203817b12139a1c4c69ac71495bb575e696b16e9a1dde830729af1b5b4d9308bf2e4be0995f2d7e2843b musl-1.2.5-r10-x86-edge.apk
5d048109d3360c526216a6f47446c5e9315fed76ae24bc8238d08dcac80edd22ac3de9ae4fda8fc42fd2c70c676e8673811eddb991bf08ea500bf4ccd10e2a3e musl-dev-1.2.5-r10-x86-edge.apk
809a21a20c1c0558c717b566c2fa53af05bb5eab0ca44bc1616b746f89fb4bf9ea05a733a6f4d6b674cd8d531c2734d3d44e38460c4939ac8e24423c91ad8e57 musl-1.2.5-r9-x86-edge.apk
be193ac93468095cbecd9fbc84ee16b9fc2f5e7f5181b6759669cb180cdd31daf1b094eb9585e1ddc9b27be7cedc931a51eaca09c1dce191826f8b6f1c15587d musl-dev-1.2.5-r9-x86-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86_64
pkgver=1.2.5
pkgrel=10
pkgrel=9
arch="aarch64"
subpackages="musl-dev-x86_64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
5d8ee4ca49019bf728f855cd296e36ac8ba9c16dc85f56c7b8bb6804788656584464ed9828f1eb5a14c1da1ca77906fae9d93174c44d03e003b6e1c2d1f445a6 musl-1.2.5-r10-x86_64-edge.apk
788290a474910e15611f8a9165470fd5a633a579ca3a6f89f5f550864303949dedb286c6f0108db5490e8e05d0ce0dcfd749555b63b624ea8fcaffd9a0b201b9 musl-dev-1.2.5-r10-x86_64-edge.apk
b762a06e161cfbdf3a62c155dd6b0d11d81b81543a2381b7ea0ccd56320f9ed14c52a19dd76033594cfefd3b5da20517a2fda3a7c94d7e43c0f378912237b62f musl-1.2.5-r9-x86_64-edge.apk
396a982f454b377df901bc465ec5e5ba8b91c2e9e9b6cd52ae28f83f4b5fbd673e7c79657ffa94d0d164e80d77dac813c5b7c51914fabcae3167d0bbc182b01a musl-dev-1.2.5-r9-x86_64-edge.apk
"
@@ -1,26 +0,0 @@
# Archived: Downstream port, only for testing. Use mainline port (asus-x00td)!
# This kernel is mostly used for bringing up new features on mainline, thus unmaintained
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-asus-x00td-downstream
pkgdesc="Asus Zenfone Max Pro M1 downstream"
pkgver=0.1
pkgrel=0
url="postmarketos.org"
arch="aarch64"
license="MIT"
options="!check !archcheck"
depends="linux-asus-x00td-downstream mkbootimg msm-fb-refresher postmarketos-base"
makedepends="devicepkg-dev"
source="deviceinfo"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
dee8129a078693d5c5b13da6247615f1b9720d7268e16280ef5d5111b07cd96f534eee91893a20935d182cf6205598d283308f91bc1d7cc7b701907b33090ae8 deviceinfo
"
@@ -1,32 +0,0 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="Asus ZenFone Max Pro M1"
deviceinfo_manufacturer="Asus"
deviceinfo_codename="asus-x00td-downstream"
deviceinfo_year="2018"
deviceinfo_append_dtb="false"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1080"
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"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_sparse="true"
deviceinfo_usb_network_function="rndis_bam.rndis"
@@ -1,5 +1,4 @@
# Reference: <https://postmarketos.org/devicepkg>
# Archived: Downstream port, only for testing. Use mainline port (samsung-j6lte)!
pkgname=device-samsung-j6lte-downstream
pkgdesc="Samsung Galaxy J6 (2018)"
pkgver=1
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Alejandro Tafalla <alikates@dnyon.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-daisy
pkgdesc="Xiaomi Mi A2 Lite"
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Victor Pavlov (vipaoL) <vipaolmail@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-markw
pkgdesc="Xiaomi Redmi 4 Prime"
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=device-xiaomi-mido
pkgdesc="Xiaomi Redmi Note 4X"
pkgver=9
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-onclite
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-rosy
@@ -1,4 +1,5 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Danila Tikhonov (JIaxyga) <danila@jiaxyga.com>
# Co-Maintainer: Barnabas Czeman <trabarni@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-tissot
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: m0rf30 <morf3089@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-vince
pkgdesc="Xiaomi Redmi 5 Plus"
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-ysl
pkgdesc="Xiaomi Redmi S2/Y2"
@@ -1,4 +1,3 @@
# Archived: Downstream port, only for testing. Use mainline port (samsung-j6lte)!
pkgname=firmware-samsung-j6lte-downstream
pkgver=1
pkgrel=0
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Alejandro Tafalla <alikates@dnyon.com>
pkgname=firmware-xiaomi-daisy
pkgver=2
pkgrel=2
@@ -1,4 +1,5 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: vipaoL <vipaolmail@gmail.com>
pkgname=firmware-xiaomi-markw
pkgver=2
pkgrel=2
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=firmware-xiaomi-mido
pkgver=3
pkgrel=1
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=firmware-xiaomi-onclite
pkgver=2
pkgrel=2
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=firmware-xiaomi-rosy
pkgver=1
pkgrel=1
@@ -1,4 +1,6 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Danila Tikhonov (JIaxyga) <danila@jiaxyga.com>
# Co-Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=firmware-xiaomi-tissot
pkgver=2
pkgrel=2
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: m0rf30 <morf3089@gmail.com>
pkgname=firmware-xiaomi-vince
pkgver=4
pkgrel=2
+1 -1
View File
@@ -1,4 +1,4 @@
# Archived: unmaintained port, only for testing. Use generic/mainline port (qcom-msm8953)
# Maintainer: Barnabas Czeman <trabarni@gmail.com>
pkgname=firmware-xiaomi-ysl
pkgver=3
pkgrel=2
@@ -1,5 +1,4 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Archived: Downstream port, only for testing. Use mainline port (linux-postmarketos-exynos7870)!
# Kernel config based on: arch/arm64/configs/j5y17lte_defconfig
# Maintainer: andrisas <sebokandris2009@gmail.com>
@@ -1,5 +1,4 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Archived: Downstream port, only for testing. Use mainline port (linux-postmarketos-exynos7870)!
pkgname=linux-samsung-j6lte-downstream
pkgver=3.18.14
@@ -1,26 +0,0 @@
# Maintainer: Danila Tikhonov <danila@jiaxyga.com>
# Co-Maintainer: Jens Reidel <adrian@travitia.xyz>
# Co-Maintainer: David Wronek <david@mainlining.org>
pkgname=alsa-ucm-conf-qcom-sm7150
pkgver=1.2.11_git20240810
pkgrel=1
pkgdesc="ALSA UCM configuration for SM7150 devices"
url="https://github.com/sm7150-mainline/alsa-ucm-conf"
arch="aarch64"
license="BSD-3-Clause"
provides="alsa-ucm-conf"
provider_priority=1
_commit="30ff4bed580e0c24f235409069c5f798866897e0"
source="$pkgname-$_commit.tar.gz::https://github.com/sm7150-mainline/alsa-ucm-conf/archive/$_commit.tar.gz"
options="!check"
builddir="$srcdir/alsa-ucm-conf-$_commit"
package() {
# install audio config files
mkdir -p "$pkgdir"/usr/share/alsa
cp -r ucm2 "$pkgdir"/usr/share/alsa/
}
sha512sums="
9a722c6c8090242ac3914e270931a27f241bb616d25b0964e9402805577362939c4dfd973da20df8d9fab75ae9e77656987c6c9b3cd9e59a74d5cb10b1eae052 alsa-ucm-conf-qcom-sm7150-30ff4bed580e0c24f235409069c5f798866897e0.tar.gz
"
@@ -1,27 +0,0 @@
# Maintainer: Caleb Connolly (kalube) <caleb@connolly.tech>
# Co-Maintainer: Joel Selvaraj <joelselvaraj.oss@gmail.com>
pkgname=alsa-ucm-conf-sdm845
pkgver=1
pkgrel=0
pkgdesc="ALSA UCM configuration for Qualcomm SDM845 devices"
url="https://postmarketos.org"
arch="aarch64"
license="BSD-3-Clause"
provides="alsa-ucm-conf"
provider_priority=1
replaces="soc-qcom-sdm845-ucm"
_commit="70d89261a7d30273fba9c6e67a072699f9f88151"
source="$pkgname-$_commit.tar.gz::https://gitlab.com/sdm845-mainline/alsa-ucm-conf/-/archive/$_commit/alsa-ucm-conf-$_commit.tar.gz"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
package() {
# install audio config files
mkdir -p "$pkgdir"/usr/share/alsa
cp -r "$srcdir/alsa-ucm-conf-$_commit"/ucm2 \
"$pkgdir"/usr/share/alsa/
}
sha512sums="
f6d03f3b03f944b29b588464e2e26f4f4cc185368714f9e623c1211174ea172efb81a765980c9a289112f5bf8c5c4aafdfd87c0094890069fc3d7c73b29456bc alsa-ucm-conf-sdm845-70d89261a7d30273fba9c6e67a072699f9f88151.tar.gz
"
@@ -3,7 +3,7 @@
pkgname=device-fairphone-fp4
pkgdesc="Fairphone 4"
pkgver=4
pkgrel=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -19,7 +19,7 @@ depends="
firmware-fairphone-fp4-modem
firmware-fairphone-fp4-wlan
firmware-qcom-adreno-a630
hexagonrpcd>=0.3.2-r3
hexagonrpcd
hexagonrpcd-openrc
linux-firmware-ath10k
linux-postmarketos-qcom-sm6350
@@ -38,6 +38,7 @@ depends="
tqftpserv-openrc
"
makedepends="devicepkg-dev"
replaces="hexagonrpcd-openrc"
subpackages="$pkgname-openrc"
source="
81-libssc-fairphone-fp4.rules
@@ -59,13 +60,12 @@ package() {
install -Dm644 "$srcdir"/90-feedbackd-aw8695.rules \
"$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-aw8695.rules
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/usr/share/hexagonrpcd/hexagonrpcd-adsp-sensorspd.conf
"$pkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="hexagonrpcd-openrc"
mkdir -p "$subpkgdir"
}
@@ -2,7 +2,7 @@
# Co-Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
pkgname=device-generic-x86_64
pkgdesc="Generic x86_64 system, with EFI"
pkgver=18
pkgver=16
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -12,7 +12,6 @@ depends="
alsa-ucm-conf
postmarketos-base
systemd-boot
unl0kr-fbforcerefresh
"
makedepends="devicepkg-dev"
source="
@@ -70,7 +69,7 @@ kernel_lts() {
}
sha512sums="
c8a4b2dc32aa43e574e9fdb2d95ac50ee00e26703ae00f6f57cd8ab43cc16999d0da064d2af4c07f5f37a9d01691835a79a12a70cb4c09455ba276ffbbd14310 deviceinfo
7f0e1dab2eaf0616220a06a658245a297f2627f1b6a492ccf3bb9922c5b40aa6fd320c4ec5f909557bfc9b38985ef6bc58a67dd87fc46e0d9d35addbcfb2683d modules-initfs
e9dfcd70ccfb9a0fdaa0cdc52faf3be96d6de8af8c60a758bb703c515b0648cec4552e0eaf56e5168b0004cd3fc4b28118abb05dad2c581d3579a2e9134862cb deviceinfo
e464ef0ad4a4c34d2d53f69c4612b612ea878a77c9efdef69b0f842edf701036c8218809fd63aac286d6a08ae07f39e568199fc3e38d145e716c1723e7215019 modules-initfs
9599a10679a43929e4ed2ea22269a0716219163817574d48db4dc1cb21a0fcf17ea54d77d5fd8efd034905c421ecb3eaa600a72927d683983ce48d1159329881 30-gpu-i915-firmware.files
"
@@ -18,7 +18,7 @@ deviceinfo_gpu_accelerated="true"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_kernel_cmdline="PMOS_FORCE_PARTITION_RESIZE psi=1 quiet"
deviceinfo_kernel_cmdline="PMOS_FORCE_PARTITION_RESIZE quiet"
deviceinfo_partition_type="gpt"
deviceinfo_boot_filesystem="fat32"
deviceinfo_generate_systemd_boot="true"
@@ -12,7 +12,6 @@ mbcache
mmc_block
mmc_core
nvme
psmouse
scsi_mod
sd
sd_mod
+3 -7
View File
@@ -3,7 +3,7 @@
pkgname=device-google-gru
pkgdesc="Google Gru Chromebooks"
pkgver=8
pkgrel=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -11,13 +11,14 @@ options="!check !archcheck"
depends="
alsa-ucm-conf-google-gru
depthcharge-tools
eudev-hwids>=3.2.12-r0
linux-postmarketos-rockchip
postmarketos-base
postmarketos-cros-common
soc-rockchip-rk3399
"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware $pkgname-openrc"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
source="deviceinfo modules-initfs"
# provides and replaces to switch old installations to this package
@@ -50,11 +51,6 @@ nonfree_firmware() {
mkdir "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="eudev-hwids>=3.2.12-r0"
mkdir "$subpkgdir"
}
sha512sums="
d0d5e47e7bc6f63f92669a315611c36972e2f06a32c1339ac551f23db023331fb6e1cdbbe4dc2022596aaf8083967951c43585a3aa32c4fddc8d8987bc20c092 deviceinfo
+40 -28
View File
@@ -2,7 +2,7 @@
# Maintainer: Richard Acayan <mailingradian@gmail.com>
pkgname=device-google-sargo
pkgdesc="Google Pixel 3a"
pkgver=10
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -10,71 +10,83 @@ arch="aarch64"
options="!check !archcheck"
depends="
alsa-ucm-conf-qcom-sdm670
firmware-google-sargo
hexagonrpcd
linux-firmware-ath10k
linux-firmware-qca
linux-firmware-qcom
linux-postmarketos-qcom-sdm670
make-dynpart-mappings
mkbootimg
postmarketos-base
soc-qcom
soc-qcom-modem
soc-qcom-qbootctl
unl0kr-fbforcerefresh
soc-qcom-sdm845
soc-qcom-sdm845-qbootctl
"
makedepends="devicepkg-dev"
source="
10-unl0kr-msm.conf
81-libssc-google-sargo.rules
90-feedbackd-drv2624.rules
deviceinfo
hexagonrpcd.confd
hexagonrpcd-adsp-sensorspd.confd
modules-initfs
no-hexagonrpcd-on-suspend.sh
q6voiced.conf
"
subpackages="$pkgname-openrc"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-nonfree-firmware-openrc:nonfree_firmware_openrc
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
replaces="$pkgname-nonfree-firmware"
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/90-feedbackd-drv2624.rules \
-t "$pkgdir"/usr/lib/udev/rules.d
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/usr/share/hexagonrpcd/hexagonrpcd-adsp-sensorspd.conf
install -Dm644 "$srcdir"/81-libssc-google-sargo.rules \
"$pkgdir"/usr/lib/udev/rules.d/81-libssc-google-sargo.rules
# 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 -Dm644 "$srcdir"/10-unl0kr-msm.conf \
"$pkgdir"/etc/unl0kr.conf.d/10-unl0kr-msm.conf
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
nonfree_firmware() {
pkgdesc="Proprietary firmware blobs for the Google Pixel 3a"
depends="
firmware-google-sargo
hexagonrpcd
linux-firmware-ath10k
linux-firmware-qca
linux-firmware-qcom
soc-qcom-sdm845-modem
soc-qcom-sdm845-nonfree-firmware
"
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
install -Dm644 "$srcdir"/81-libssc-google-sargo.rules \
"$subpkgdir"/usr/lib/udev/rules.d/81-libssc-google-sargo.rules
}
nonfree_firmware_openrc() {
replaces="hexagonrpcd-openrc"
install_if="$pkgname-nonfree-firmware=$pkgver-r$pkgrel openrc"
# Enable HexagonRPCD by default, but not if the user installed this
# package then disabled it.
install="$subpkgname.post-install"
depends="hexagonrpcd-openrc"
replaces="hexagonrpcd-openrc"
# The FastRPC service is only enabled when non-free firmware is installed.
install -Dm755 "$srcdir"/no-hexagonrpcd-on-suspend.sh \
"$subpkgdir"/etc/elogind/system-sleep/no-hexagonrpcd-on-suspend.sh
# The q6voiced configuration can only be used if the ADSP is brought up
# via non-free firmware.
install -Dm644 "$srcdir"/q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
install -Dm644 "$srcdir"/hexagonrpcd-adsp-sensorspd.confd \
"$subpkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
}
sha512sums="
f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr-msm.conf
089ce0acba4e1d789e337bedfca7570796a6416e7230ae9b8fc6b625747a40dbb064b1a707877cd6b7bdc73844c6571316e2ec0746a77060f13d98c52fdbfc00 81-libssc-google-sargo.rules
016d398155f2344417f5e5649a361719ba6e53e593c501b5df39114cdd284302b9bf8686a39817aee0c08fec95b3ab613c181d6cc9596299aaf7fd05dbe0c3dd 90-feedbackd-drv2624.rules
ad032b1a35cfcd4fc0c8df988430ee97b711e785b86cca68b7552b23a9a2e2b6b97c327e3415a575db47ad6c1f86ded18df5553acaae63010057d89b8c16135e deviceinfo
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd.confd
925d8b176a8f1b47a86a1026cc920ffae99ceb35c3e52c222654c15078907579d23c4d68ed65a98ab937f59aaba2bbdd74da8d273e8b9c1ac87a52f718d383d6 modules-initfs
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd-adsp-sensorspd.confd
3213a3586c25cef843a47e2446179ff73acad6421826a64bedb6b9800d30673503d0ea6b3fcc8cfbdcdcaf0926755a489323fce9d14d4411799e6988144b3518 modules-initfs
2972005a9cf6ca57061965075593dddfa8ee479bc6c21cd41851b1a14768cb1cddbd31a17975ae17adc36d40d294ccbc6bf83defbd69fc7b363f638d8564fbbc no-hexagonrpcd-on-suspend.sh
3a4a9322839d4b3ef9d79668a37840a9f444954759ae3c512e694051d2f9a2573db42ad6c4c1a5c75eeb861232a27ba1a8cef9b503decd54ead25a96e3dd6f98 q6voiced.conf
"
@@ -1,4 +1,10 @@
dispcc_sdm845
drm_exec
gpu_sched
i2c_qcom_geni
mdt_loader
msm
panel_samsung_s6e3fa7
rmi_core
rmi_i2c
gpi
@@ -3,7 +3,7 @@
pkgname=device-google-trogdor
pkgdesc="Google Trogdor Chromebooks"
pkgver=4
pkgrel=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -11,6 +11,7 @@ options="!check !archcheck"
depends="
alsa-ucm-conf
depthcharge-tools
eudev-hwids
linux-postmarketos-qcom-sc7180
postmarketos-base
postmarketos-cros-common
@@ -41,11 +42,6 @@ nonfree_firmware() {
mkdir "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="eudev-hwids"
mkdir "$subpkgdir"
}
sha512sums="
f94dcb175e49cbaadce524586ed1c3e3b0182e414c84c495a5585b49ed40ca6f7fa9c73544d19cbad236333f9fd997f150f836452b47a271f99b7b059972c4bc deviceinfo
@@ -2,7 +2,7 @@
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-veyron
pkgdesc="Google Veyron Chromebooks"
pkgver=8
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -53,6 +53,6 @@ nonfree_firmware() {
sha512sums="
d6a214d98ef6502ebed97dd2b774d9d7de1ac969d6d17513f413234e9698bd860248345520eb15f6b54fb0e06a793ba974f8548d397c9a72db31ecd506038008 deviceinfo
abeebda841ae33d50008b891b4a29ccf4a7cf7be240b5913b701409e8621aa7210f685543b8ab7a9778b311359a197b4429af2b559716fa130d3af8447bef61d deviceinfo
be3e804fa538d9d377c637094dcf95e503e8a156fa71676a9e78abc0e290595dfdaa70b5642df721ebcdd3daa04d14e0c61d9bab6f78cb1dbd669404abc3a56d modules-initfs
"
@@ -27,4 +27,3 @@ deviceinfo_cgpt_kpart_size="32768"
deviceinfo_depthcharge_board="veyron"
deviceinfo_generate_depthcharge_image="true"
deviceinfo_generate_extlinux_config="true"
deviceinfo_create_initfs_extra="true"
@@ -4,7 +4,7 @@
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-x64cros
pkgdesc="Google Chromebooks with x64 CPU"
pkgver=13
pkgver=11
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -80,6 +80,6 @@ firmware_intel() {
sha512sums="
38c53d91a60d0402d4cc5428d65e1e8c26360c481c70b34593b1812c87241c32e91904a3bd31fbfe507f7fdb8b50c909eaad8c4c3a37ca962760567329f7f6ee 00-amdgpu-firmware.files
c17f5c505e0e280a9e51ac1b4264e7703b744fd3831d75ce95f41be4755ae4ccd24b7ca09ba1e236df499a5e748c64a0d2054c9d55d8c8c713fa8c5646ed9a3c 00-i915-firmware.files
d14992ad384d762452b28a8c5b93be67fb6bc03d0dd3e68d24c3373d466260a5e1a07338eb8fc5090edc735fd70b43017128c27962ebf4b7a5e3fa2fba66c18f deviceinfo
a6e5a9de9fe010966523606f2fcab1c44004228b4e050f777dcb1160fb3e32cda8096925543522216c2eb354f8ce2f8d4e206d98b077fbd6fb840de94e84c706 modules-initfs
514ff5c946633dccaa569fed51743c669ea9942af4dd891ad001ba08bba07fca92503e29304f3eb71c16bc2f2436e1879ff0bf56d99666e4dcf9635c8605da2e deviceinfo
1b3bbfcdc6642488304653aef996dddf7a354e7279f2c735ac7aec404e598948423630fcaa2cac87e2c0aef033ecfc57a7a91154f9dac9a85411db7bad62e677 modules-initfs
"
@@ -18,7 +18,6 @@ deviceinfo_create_initfs_extra="true"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_kernel_cmdline="psi=1"
deviceinfo_boot_filesystem="fat32"
deviceinfo_cgpt_kpart="/boot/vmlinuz.kpart"
deviceinfo_cgpt_kpart_start="8192"
@@ -16,5 +16,3 @@ xhci_pci
ehci_pci
sdhci_pci
mmc_block
nvme
nvme_core
+3 -3
View File
@@ -4,8 +4,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-lenovo-21bx
pkgdesc="Lenovo ThinkPad X13s"
pkgver=13
pkgrel=0
pkgver=12
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -63,7 +63,7 @@ usbguard() {
}
sha512sums="
d2c2266c7db3b018cb1324ad4259fec664fa9d500f701795c6198b2318cec6466a9ad908c7217bb43c03d236dfdf3fb84280faf0cfa484bbdf90bda680822309 deviceinfo
9cb08de5748b0339005a910cc0475ad344dc6e912e477c5bd6b370784af6309719524f8fa7a39e7565586e47968a35c344ea853cddd716cc3e1e483efaae7ff0 deviceinfo
5f4e6a80455c8a2ed879bfd457a89f81790824657ed4101e03b7ec288a274e63340f48e2ad5028cf83744263a4529584b1e94c36d10b98912e5b31804fa98ff0 firmware.files
27705e998db262602b50004083fe160dbcde88e9fdcaeb43e3d1d79be0b7af371f84855bb93ba16ada3cf5fa8ff8da6ca159cda4b1de08fb54ac451c57169c57 modules-initfs
52bbb9564ec713db5d46937701b121afe0c6c644fffe189a05766f491b4997b1bbc4c1f90229efb5764d795df8d40a57d4c840ee4b32d426e7a84520364b8bf5 pipewire.conf
@@ -15,7 +15,7 @@ deviceinfo_gpu_accelerated="true"
deviceinfo_chassis="laptop"
deviceinfo_keyboard="true"
deviceinfo_external_storage="true"
deviceinfo_kernel_cmdline="quiet loglevel=2 quiet clk_ignore_unused pd_ignore_unused arm64.nopauth pmos.force-partition-resize"
deviceinfo_kernel_cmdline="quiet loglevel=2 quiet clk_ignore_unused pd_ignore_unused arm64.nopauth"
# Bootloader related
deviceinfo_flash_method="none"
+29 -36
View File
@@ -2,15 +2,14 @@
# Maintainer: Sicelo <absicsz@gmail.com>
# Co-Maintainer: Danct12 <danct12@disroot.org>
pkgname=device-nokia-n900
pkgver=42
pkgrel=1
pkgver=37
pkgrel=0
pkgdesc="Nokia N900"
url="https://postmarketos.org"
arch="armv7"
license="MIT"
depends="
alsa-utils
evtest
kbd
kbd-bkeymaps
linux-firmware-ti-connectivity
@@ -20,14 +19,9 @@ depends="
postmarketos-mvcfg
u-boot-tools
wl1251-cal
wl1251-cal-openrc
"
makedepends="
devicepkg-dev
u-boot-tools
kbd
kbd-bkeymaps
postmarketos-mvcfg
"
makedepends="devicepkg-dev u-boot-tools kbd kbd-bkeymaps"
install="$pkgname.post-install $pkgname.pre-upgrade"
subpackages="
$pkgname-x11
@@ -49,10 +43,9 @@ source="
device-nokia-n900.start
deviceinfo
modules-initfs
i3wm/config-checker
i3wm/i3blocks.conf
i3wm/i3wm.conf
i3wm/pwr-key-handler.sh
i3wm/protip_shell.sh
i3wm/scripts/battery-bq27200
i3wm/scripts/calendar
i3wm/scripts/ofono
@@ -68,6 +61,7 @@ source="
modem-opts.conf
modules.blocklist
pointercal
proxishot.sh
uboot-script.cmd
udev/10-nokia-modem.rules
udev/15-bq27k.rules
@@ -75,8 +69,8 @@ source="
udev/90-touchscreen-dev.rules
upower.conf
x11-keymap
xdefaults
xorg.conf
xresources
"
options="!check !archcheck"
@@ -154,7 +148,7 @@ package() {
x11() {
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
depends="unclutter-xfixes scrot xdotool xinput xrdb xset"
depends="xset xinput scrot"
mkdir "$pkgdir"/etc/acpi
install -D -m755 "$srcdir"/acpi_handler.sh \
"$pkgdir"/etc/acpi/handler.sh
@@ -165,9 +159,11 @@ x11() {
install -D -m644 "$srcdir"/xorg.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/11-n900.conf
install -Dm755 "$srcdir"/lock.sh \
"$subpkgdir"/usr/bin/lock.sh
install -Dm644 "$srcdir"/xresources \
"$subpkgdir"/usr/share/X11/Xresources-mobile
"$pkgdir"/usr/bin/lock.sh
install -Dm755 "$srcdir"/proxishot.sh \
"$pkgdir"/usr/bin/proxishot.sh
install -D -m644 "$srcdir"/xdefaults \
"$subpkgdir"/etc/skel/.Xdefaults
}
xkeyboard_config() {
@@ -179,23 +175,21 @@ xkeyboard_config() {
i3wm() {
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-i3wm"
depends="brightnessctl i3blocks rxvt-unicode sxmo-dmenu upower"
depends="unclutter-xfixes i3blocks rxvt-unicode upower brightnessctl"
install -D -m644 "$srcdir"/i3wm.conf \
"$subpkgdir"/etc/xdg/i3/config
"$subpkgdir"/etc/skel/.config/i3/config
install -D -m644 "$srcdir"/i3blocks.conf \
"$subpkgdir"/etc/xdg/i3blocks/config
"$subpkgdir"/etc/skel/.config/i3blocks/config
install -D -m755 "$srcdir"/battery-bq27200 \
"$subpkgdir"/usr/share/i3blocks/battery-bq27200
"$subpkgdir"/etc/skel/.config/i3blocks/battery-bq27200
install -D -m755 "$srcdir"/ofono \
"$subpkgdir"/usr/share/i3blocks/ofono
"$subpkgdir"/etc/skel/.config/i3blocks/ofono
install -D -m755 "$srcdir"/calendar \
"$subpkgdir"/usr/share/i3blocks/calendar
"$subpkgdir"/etc/skel/.config/i3blocks/calendar
install -D -m755 "$srcdir"/wifi \
"$subpkgdir"/usr/share/i3blocks/wifi
install -D -m755 "$srcdir"/config-checker \
"$subpkgdir"/usr/bin/i3-config-checker
install -D -m755 "$srcdir"/pwr-key-handler.sh \
"$subpkgdir"/usr/bin/pwr-key-handler
"$subpkgdir"/etc/skel/.config/i3blocks/wifi
install -D -m755 "$srcdir"/protip_shell.sh \
"$subpkgdir"/etc/skel/.protip_shell.sh
}
upower() {
@@ -208,7 +202,6 @@ upower() {
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install"
depends="wl1251-cal-openrc"
mkdir -p "$subpkgdir"
}
@@ -217,19 +210,18 @@ sha512sums="
6b475c12eca8563be48c562a1cb4ad8ca6a05d70fc54b21288b2dd7435a80a6f53351aa870db96d5bbecf1b1c5cb00dfe35f5066e6d3fd0ad0369e66aeef5a21 10-initfs-keymap.files
4656d3b3ced0a86e2d6315c89322899f646a689e9cb64609aa8ad5a676b23d93706d8a37f3be6f6b12c6b1e8501b7d26ecafecf27322333850513a6805c61910 10-initfs-keymap.sh
2e6c324c2a0627fb37ee2feff249d6c828116a9c1a32d572481dddc12648c98b726eb3a475838398742f76a60e3f2249d7707502360473b8bf2e794bf22f57ce acpi.map
b2c2033f8a77a18dc0c5192e0304f60e3c2a2a7d132c2072ab0dd6ee1a5b2a8c7e6396165411534468311a254663ae887cbaf23816f8b17893dd28e99e549790 acpi_handler.sh
ff51909873160c2d4c6f0c0119b6d4a02751df29f571b8596b4bc8b04ce2541913c11a583b0e5dabd43f240752a8131da45db0ddff194860f4c11198599686a1 acpi_handler.sh
5b87071834313a389f83d29f86f6e3ea108d0921f17dc918be7a46de7e74c73a4418044ef600a0fbf72c8fad22b7730dcd5bfe3d6d01d76bf01556f8540f0b32 asound.state.headset
67acc17a33bc75113300393b4a5bba15319014032407e774d079abf310368e75f4f697dbb4856ba2d2d8ea184b056bb33561f42918de3ee91ab6a77df89a133c asound.state.speakers
3d55e34b95791636e44a5f41754f3d0de039dbba41f7a556d43a95c9e64afcfa930046b4b96b40020b6f196096ffba93514682927e32fa4488686fdd19c6da5a backlight-enable.sh
344ec50cee2a4d864debad12810a83070ab8257f9f07dcfa9be3eea1d8b26f3ab4fbe322fe05a384152b40fc5e1481df51d191624c7062186dd70f95a0784ea8 bq27k-options.conf
c5b8e03ca9f720a794f2593a3e938640cbd91ac44dd761079bbf4614a0d288a9d7b72de8ed2493c062dc9f37be580bea529f454d2335f55b7a9f4d14024b42a9 bq27k-monitor.sh
e6bbac8de1a198ba716f44ade76606e1e0adcc574156b855ac41be5eb5308389d3277fd89cc34b119fbc33d9801ab9f79a6ff213392596bff40bc17e931c05ef device-nokia-n900.start
34b41ddd4d0312cc632087d19ca881f7c75b885e3e977add1b20ad414901f075f3fca12bdfe2ba9b3f24baf1e99f8279f61887db4c4b70b4cb4bac76f358bc99 deviceinfo
40aaeb44941a988ab8ec58d331bc6cd42c4a23c6b6e8fc302f9216a38b46baab38d0a0137606a5b7959a51326983c03d684615c5ba9c58b0e36314ec8c49cfbb deviceinfo
f48b8dd7297d03008f73e1ecd55b77ace535ecb03f9bdf021123b96fb5f4fb491ff4c532e226b835c8118fa8d505cc4c635a2b604a3e42a162746021552a551c modules-initfs
d7d1599a9952fd02d3cfbeaa6b3307251e765f98a9eb723237c94f585831cc8f11d9d30dbc0352e3b008224dec12b820cf86fa28a5e5ac303cfd03d80b8872f5 config-checker
a8152e94262629e11abdd8809d187c3b7ed1866a6128fb1f435e17e72120536ac8114262e66df6decb2627743027f2b923ddbe8a94e3e844099b6fad02ec252b i3blocks.conf
c95afd02124e53f0de1ef33e7bbee12a15ae2d4d629a201157ed9d428288365241dfc3358fc7055154845f9df986fd975a2ebd4de384b8e175cb45f26b2fa38d i3wm.conf
63ec5a88f4385fd944477d0b7ca7061745b061337cba8d3c779826aa96a94dda79bfca4fb3456234f6adbdb483e660d3cf6ccefd8576d23a70f52e3f44f0edb4 pwr-key-handler.sh
826a3790b49324c1e61c75b6c0ffc043a2a1d7c13a8c554fb5eae4977af47a1ca93d70ef8c783d712b953b70e18ae58fa4c6a49bf97263398a01a0c4f91ebc8f i3blocks.conf
506accabcf9fb3e2a270228ea53fdcb57f51092d6e7126a631af8eed697cd882cc805b19cf255422284bec12c928b58219d173a4a790d784db5335a059b6bb4f i3wm.conf
0b80af9fd1f36e6bc06bdfdf48352897234ac7457210649016665da8570a5a64b8a0841b4fbeb64fd7054a5246a64718cf4412f8a53024ce39b28a80984972d8 protip_shell.sh
6c6a70667f37807089adbb343c09d1f62d47b8e6c9c0a54f44790b822f8bff3dccae73341ef736b799fd6740bbd6e1f48e6e122c2e08520f71f6ad7434a47d2c battery-bq27200
d9ef88c714e9fce8822f63b7a9d7fc3e1ed472c8c876b44ba524d44efea322839f13ddd2fa652420608427ecf7279bfaac302c9b67667f32796ca21da332164d calendar
82038d38f94cb975a8d38914afca49b64957446bef7490ab684efa1df47ede2ea1c769045789bb9fded673345eea01911fbbf85fdb54c28685cad8022bfaafac ofono
@@ -245,6 +237,7 @@ e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f178
695feac7f69a0ec8c5e007cdb651adcc3492f1c6236e7fd183edec2a5e25cb957d3ace630ea5fdb87fd703e35ac368f1d097c2f881ecb52c9cfd433564db2a6c modem-opts.conf
862ebc7cd2d7a1b3d41b10701b8418308c89eb0732eb99c42ec1091d48e08db9421727f67a3272b7309549798d59afb1b8d7d2fa48d1447b208fcb2329472d4d modules.blocklist
143c21f0b18a016d37cb44178e9daea09f128a90769b48353c03c3f245cb9b1f7e773b9ccee084973fc78ddd7a18c2642e54888a85bda7c7daecddc9a8c62eff pointercal
134f51d20decc0c63ab08010931a0b410b70d2f85bf6899f2ff137b1680f59f706a6287d01f5fbb41fa5309125df75a430d0783149bd1a6a1bca07d22f4f6a21 proxishot.sh
42f916d87dd305111028992a1107bf6fe108bebbd782ae8edd065e76505db2b3a75e57515970c3e40cb0d1b7e83097a1bba92785be13df7c3fd80959a8d9c5c1 uboot-script.cmd
465b9a0d2b46d0981c64b47cb1f656c2456a90b91b1751a2efad10af38a96030dd99108b1fd76ce31bf1ea0f236d55bed38b114d6bd712f09f8968de034c946c 10-nokia-modem.rules
1acc441b9f83dc91fd65fa3f89b8205bfd72a465286bc181b4e7e92dd4b8c0bc5c20a18dab46ff3ee8ae70940efd7d767b3dfb920edb4c74377bd418b838693d 15-bq27k.rules
@@ -252,6 +245,6 @@ e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f178
c6012aef28b096141b924fced226ec99fb93eb53b69c064a8887d8fecdf8dc08a3ba3db399e18d88374c6ef4c59013a30699c7e4d76e5cb771040582573a0527 90-touchscreen-dev.rules
9b99feee42dd6bdd122769994c786d3127c41e0aa3321f19c82a9d3845cf07b522908621a31cbddd9599fe18c5c37127d9b4be4255cd7fa8e0e8983bf73eb41b upower.conf
c7837e6688f09c7d650ac7479b8881d4bad709480a71a1dea8b5bba4f4215d6b48a3aebd3f58923bbd48813559478d4ef137dcc9838d321722e141f0aa6a6085 x11-keymap
183dfdd545ba05e216209b1abe45e4af4e0ee16b2e73cff0e7ea7b9524ee35a1cf85213a77f32a1a94287aee6546885dbd71c6de1f4f1a1e2961e638ff27cdf6 xdefaults
a91f98daa60efa2beb2ff6b405097f92edca5f1bbb9e7675499139be52ca2570712f8f06f9032ef29f636f99c8f8da8b992f746eab6424aac04260c16158bcc2 xorg.conf
183dfdd545ba05e216209b1abe45e4af4e0ee16b2e73cff0e7ea7b9524ee35a1cf85213a77f32a1a94287aee6546885dbd71c6de1f4f1a1e2961e638ff27cdf6 xresources
"
@@ -19,7 +19,7 @@ case $cmd in
adjust_keypad_bl 0
;;
CAM_BTN_DWN)
echo "Not implemented yet"
USER_USER="$user" /usr/bin/proxishot.sh
;;
CAM_BTN_UP)
echo "Not implemented yet"
@@ -37,7 +37,7 @@ case $cmd in
echo "Not implemented yet"
;;
SCRNLCK_DWN)
echo "Not implemented yet"
su $user -c "DISPLAY=:0 /usr/bin/lock.sh"
;;
SCRNLCK_UP)
echo "Not implemented yet"
@@ -15,6 +15,8 @@ deviceinfo_arch="armv7"
deviceinfo_keyboard="true"
deviceinfo_keymaps="us/rx51_us ch/rx51_ch it/rx51_it fi/rx51_fi se/rx51_se"
deviceinfo_external_storage="true"
deviceinfo_screen_width="800"
deviceinfo_screen_height="480"
deviceinfo_swap_size_recommended="1024"
# Bootloader related
@@ -1,7 +0,0 @@
#!/bin/sh
if [ ! -f "$HOME"/.config/i3/config ]; then
pkill -f i3-config-wizard
touch "$HOME"/.config/i3/config
pkill -f i3-config-wizard
fi
exit 0
@@ -1,18 +1,20 @@
command=/usr/libexec/i3blocks/$BLOCK_NAME
[battery-bq27200]
command=/usr/share/i3blocks/battery-bq27200
command=~/.config/i3blocks/battery-bq27200
label=BAT:
interval=10
[ofono]
command=/usr/share/i3blocks/ofono
command=~/.config/i3blocks/ofono
label=M:
interval=10
[wifi]
command=/usr/share/i3blocks/wifi
command=~/.config/i3blocks/wifi
label=W:
interval=10
[calendar]
command=/usr/share/i3blocks/calendar
command=~/.config/i3blocks/calendar
interval=10
@@ -33,7 +33,7 @@ mode "mpd" {
}
mode "command" {
bindsym t exec urxvt; mode "default"
bindsym t exec urxvt -e ~/.protip_shell.sh; mode "default"
bindsym d exec dmenu_run; mode "default"
bindsym q mode "default"
bindsym k kill; mode "default"
@@ -60,17 +60,12 @@ mode "command" {
# Enter command mode
bindsym Shift+space mode "command"
# Mouse actions
bindsym --release Shift+Left exec --no-startup-id xdotool click 2
bindsym --release Shift+Right exec --no-startup-id xdotool click 3
bindsym --release Shift+Up exec --no-startup-id xdotool click 4
bindsym --release Shift+Down exec --no-startup-id xdotool click 5
# Handle screenlock key
bindsym --release XF86ScreenSaver exec --no-startup-id lock.sh
# Pressing the power button offers reboot, shutdown, or suspend choice
bindsym XF86PowerOff exec --no-startup-id pwr-key-handler
bindsym XF86PowerOff exec --no-startup-id i3-nagbar \
-m 'Choose Power Button Action:' \
-B 'Reboot' 'loginctl reboot' \
-B 'Suspend' 'loginctl suspend' \
-B 'Shutdown' 'loginctl poweroff'
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set PCM 5%+
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set PCM 5%-
@@ -94,11 +89,9 @@ bar {
}
}
# ensure there is an i3 config in $HOME to prevent the wizard from trying to create one
exec --no-startup-id i3-config-checker
# Apply Xresources
exec --no-startup-id xrdb -merge /usr/share/X11/Xresources-mobile
# Hide mouse cursor
exec --no-startup-id unclutter-xfixes --fork
# Do not handle gpio_key events as they are handled by acpid
exec --no-startup-id xinput disable gpio_keys
# Turn display off after 2 minutes of idle
exec --no-startup-id xset dpms 0 0 120
@@ -0,0 +1,8 @@
#!/bin/sh
(
green="\033[32m"
reset="\033[0m"
echo -e "${green}PROTIP:${reset} ^i (ctrl+i) does autocompletion"
)
exec sh
@@ -1,32 +0,0 @@
#!/bin/sh
confirm(){
printf "Yes\nNo" | dmenu -l 2 -p "Are you sure?" -H 60
}
CHOICE=$(printf "Close this menu\nTake screenshot\nReboot\nPower Off" | dmenu -l 5 -p "Choose an action" -H 50)
case "$CHOICE" in
*screenshot)
mkdir -p "$HOME"/Screenshots
# shellcheck disable=SC2016
# the variable $f is internal to scrot, see `man 1 scrot`
scrot '%Y-%m-%d_%H-%M-%S.png' -e 'mv $f ~/Screenshots/'
;;
Reboot)
CONFIRM=$(confirm)
case "$CONFIRM" in
Yes)
loginctl reboot
;;
esac
;;
Power*)
CONFIRM=$(confirm)
case "$CONFIRM" in
Yes)
loginctl poweroff
;;
esac
;;
esac
@@ -0,0 +1,12 @@
#!/bin/sh
# Take a screenshot if the proximity sensor is covered.
# NB: pass the user's username in USER_USER environment variable when calling
# this script.
/usr/bin/evtest --query /dev/input/by-path/platform-gpio_keys-event \
EV_SW SW_FRONT_PROXIMITY
# return value of `10` means the sensor is in the set state, i.e.
# proximity = near. see `man 1 evtest`
if [ "$?" = "10" ]; then
su "$USER_USER" -c "/bin/mkdir -p ~/Screenshots"
su "$USER_USER" -c 'cd ~/Screenshots && DISPLAY=:0 /usr/bin/scrot "%Y-%m-%d_%H-%M-%S.png"'
fi
+2 -2
View File
@@ -3,7 +3,7 @@
pkgname=device-odroid-xu4
pkgdesc="ODROID XU4"
pkgver=2
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -32,6 +32,6 @@ nonfree_firmware() {
}
sha512sums="
4d39e938092318cfc6a6b102e15bfabfec215669c73a6334019e158062760e50ce5957297cdbe309d78b770c26128385bec779d92606b4204e39f305dea70183 deviceinfo
bf14f975ee01f8dbc9109444ab408ac0948ae67af267d8f4101f2ca688750761277e793b2800985277d0e91205c13e89bd66e37bfebe3608ea7d29ecdb20c907 deviceinfo
9f6c3cc0079e718ef0dfc221fadaf9bc092a8601b62794c2298eab893924af457612bd8a6e852fb2b181bee637e774dd2abea681eb72b1aa9c6672e686454795 modules-initfs
"
@@ -27,7 +27,3 @@ deviceinfo_sd_embed_firmware_step_size="512"
deviceinfo_boot_part_start="3072"
deviceinfo_kernel_cmdline="init=/init.sh rw console=tty0 console=ttySAC2,115200 panic=10 consoleblank=0 loglevel=9 cma=256M PMOS_FORCE_PARTITION_RESIZE"
deviceinfo_generate_extlinux_config="true"
# The bl1 embed location in sdcard conflicts with GPT header, so need
# to use msdos.
deviceinfo_partition_type="msdos"
@@ -0,0 +1,2 @@
[quirks]
fbdev_force_refresh=true
@@ -3,55 +3,65 @@
pkgname=device-oneplus-enchilada
pkgdesc="OnePlus 6"
pkgver=15
pkgrel=1
pkgver=14
pkgrel=4
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
firmware-oneplus-sdm845>=9
hexagonrpcd>=0.3.2-r3
linux-postmarketos-qcom-sdm845
mkbootimg
postmarketos-base
alsa-ucm-conf-sdm845
soc-qcom
soc-qcom-modem
soc-qcom-qbootctl
unl0kr-fbforcerefresh
soc-qcom-sdm845
soc-qcom-sdm845-ucm
soc-qcom-sdm845-qbootctl
"
makedepends="devicepkg-dev"
source="
10-unl0kr.conf
deviceinfo
hexagonrpcd.confd
modules-initfs
q6voiced.conf
81-libssc-oneplus-enchilada.rules
"
subpackages="$pkgname-pmtest $pkgname-openrc"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-nonfree-firmware-openrc:nonfree_firmware_openrc
$pkgname-pmtest
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
replaces="$pkgname-nonfree-firmware"
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/81-libssc-oneplus-enchilada.rules \
-t "$pkgdir"/usr/lib/udev/rules.d/
install -Dm644 "$srcdir"/q6voiced.conf \
"$pkgdir"/etc/conf.d/q6voiced
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/usr/share/hexagonrpcd/hexagonrpcd-sdsp.conf
install -Dm644 "$srcdir"/10-unl0kr.conf \
"$pkgdir"/etc/unl0kr.conf.d/10-unl0kr.conf
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
nonfree_firmware() {
pkgdesc="Modem, WiFi and GPU Firmware, also needed for osk-sdl"
depends="
firmware-oneplus-sdm845>=9
hexagonrpcd
soc-qcom-sdm845-nonfree-firmware
soc-qcom-sdm845-modem
"
install -Dm644 "$srcdir"/81-libssc-oneplus-enchilada.rules -t "$subpkgdir"/usr/lib/udev/rules.d/
install -Dm644 q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
}
nonfree_firmware_openrc() {
install_if="$pkgname-nonfree-firmware=$pkgver-r$pkgrel openrc"
replaces="hexagonrpcd-openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="hexagonrpcd-openrc"
mkdir -p "$subpkgdir"
install -Dm644 "$srcdir"/hexagonrpcd.confd "$subpkgdir"/etc/conf.d/hexagonrpcd-sdsp
}
pmtest() {
@@ -63,6 +73,7 @@ pmtest() {
}
sha512sums="
e957b7b0ed219eaa56be6c6b976b60886f73970703fdebf045800154ee652affee4e19654b3ac4244b29bcf6760ad3db6cb87143dc9c4673e905800d751103d1 10-unl0kr.conf
83fc698ebeda6245abc2a653eeff97b3b996d06dd7731386a07d102937f9b005c7277e0dece05ff359d9ff109a1d9ed7791fc510b146354df179804aadb5642c deviceinfo
c8d3026e9f803ea823e35f83dab66fa8545e99af9655576476c194567113084d78200feab46f84983a2dad608ca55c0a4a66e36406c6d64023c0aec59307d146 hexagonrpcd.confd
ea8709aa214cffaefb1d486c0c47044537446faebff16efb3b015623f043f730b7121e401c676e43aa8868bd6c630fc8a2d7dbf5fb082490e9b5493e0405b66d modules-initfs
@@ -0,0 +1 @@
device-oneplus-enchilada-nonfree-firmware-openrc.post-install
@@ -1 +0,0 @@
device-oneplus-enchilada-openrc.post-install
@@ -0,0 +1,2 @@
[quirks]
fbdev_force_refresh=true
+14 -12
View File
@@ -3,8 +3,8 @@
pkgname=device-oneplus-fajita
pkgdesc="OnePlus 6T"
pkgver=15
pkgrel=1
pkgver=14
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -13,13 +13,13 @@ depends="
linux-postmarketos-qcom-sdm845
mkbootimg
postmarketos-base
alsa-ucm-conf-sdm845
soc-qcom
soc-qcom-qbootctl
unl0kr-fbforcerefresh
soc-qcom-sdm845
soc-qcom-sdm845-ucm
soc-qcom-sdm845-qbootctl
"
makedepends="devicepkg-dev"
source="
10-unl0kr.conf
deviceinfo
hexagonrpcd.confd
modules-initfs
@@ -39,28 +39,29 @@ build() {
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/10-unl0kr.conf \
"$pkgdir"/etc/unl0kr.conf.d/10-unl0kr.conf
}
nonfree_firmware() {
pkgdesc="Modem, WiFi and GPU Firmware, also needed for osk-sdl"
depends="
firmware-oneplus-sdm845>=9
hexagonrpcd>=0.3.2-r3
soc-qcom-modem
hexagonrpcd
soc-qcom-sdm845-nonfree-firmware
soc-qcom-sdm845-modem
"
install -Dm644 "$srcdir"/81-libssc-oneplus-fajita.rules -t "$subpkgdir"/usr/lib/udev/rules.d/
install -Dm644 q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$subpkgdir"/usr/share/hexagonrpcd/hexagonrpcd-sdsp.conf
}
nonfree_firmware_openrc() {
install_if="$pkgname-nonfree-firmware=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="hexagonrpcd-openrc"
replaces="hexagonrpcd-openrc"
mkdir -p "$subpkgdir"
install -Dm644 "$srcdir"/hexagonrpcd.confd "$subpkgdir"/etc/conf.d/hexagonrpcd-sdsp
}
pmtest() {
@@ -72,6 +73,7 @@ pmtest() {
}
sha512sums="
e957b7b0ed219eaa56be6c6b976b60886f73970703fdebf045800154ee652affee4e19654b3ac4244b29bcf6760ad3db6cb87143dc9c4673e905800d751103d1 10-unl0kr.conf
07e3d79715befccd1e7393908c06f88ac8468d1ce6cb96138e3a04e6f8274889db169f5daf05b04b633bcc9e85d11ea5c2017b84bc0ae86a8fad80b05794d0d8 deviceinfo
6b5308471fcbb938ac00d6e9a3f8e61073bda1d608f2edf1a2aba4b256dd3f76b1ccee0873dcaa8dc4a8db304d433360a56fe447d70f57ba068428b75ddea236 hexagonrpcd.confd
ea8709aa214cffaefb1d486c0c47044537446faebff16efb3b015623f043f730b7121e401c676e43aa8868bd6c630fc8a2d7dbf5fb082490e9b5493e0405b66d modules-initfs
@@ -3,13 +3,14 @@
pkgname=device-pine64-pinebookpro
pkgdesc="PINE64 Pinebook Pro"
pkgver=16
pkgrel=8
pkgrel=7
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
alsa-ucm-conf>=1.2.7
eudev-hwids
linux-postmarketos-rockchip>=5.14
nvme-cli
postmarketos-base>=25-r1
@@ -57,7 +58,6 @@ nonfree_firmware() {
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="eudev-hwids"
mkdir -p "$subpkgdir"
}
@@ -3,14 +3,13 @@
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
pkgname=device-pine64-pinephone
pkgver=8
pkgrel=3
pkgrel=0
pkgdesc="PINE64 PinePhone"
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
subpackages="
$pkgname-audio
$pkgname-gnome
$pkgname-kirigami:kirigami
$pkgname-nonfree-firmware:nonfree_firmware
@@ -24,23 +23,25 @@ subpackages="
$pkgname-x11
"
depends="
alsa-ucm-conf>=1.2.6.2
atinout
eg25-manager
eg25-manager-openrc
iw
linux-postmarketos-allwinner>=5.14
megapixels
mesa-egl
pinephone-callaudiod
postmarketos-base
postmarketos-base-ui-audio-pipewire
postprocessd
u-boot-pinephone>=2021.01_git20201228-r2
u-boot-tools
fwupd>=1.8.6
"
makedepends="
devicepkg-dev
dtc
u-boot-tools
"
# FIXME: use upstream alsa-ucm-conf instead, once it works the same (pma#2115)
replaces="alsa-ucm-conf"
makedepends="devicepkg-dev dtc"
install="$pkgname.pre-upgrade"
source="
00_alsa_pinephone_dshare.conf
@@ -135,6 +136,16 @@ package() {
"$pkgdir"/usr/lib/udev/rules.d/10-pinephone-proximity.rules
install -Dm644 "$srcdir"/60-flashlight.rules -t "$pkgdir"/usr/lib/udev/rules.d/
# Alsa usecase manager config
install -Dm644 -t "$pkgdir"/usr/share/alsa/ucm2/Allwinner/A64/PinePhone \
"$srcdir"/HiFi.conf \
"$srcdir"/PinePhone.conf \
"$srcdir"/VoiceCall.conf
# Pulseaudio config
install -Dm644 "$srcdir"/pulse-pinephone.conf \
"$pkgdir"/etc/pulse/daemon.conf.d/89-pinephone.conf
# Modem
install -Dm755 "$srcdir"/setup-modem.sh \
"$pkgdir"/usr/bin/pinephone_setup-modem
@@ -163,9 +174,8 @@ nonfree_firmware() {
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install_if="$pkgname=$pkgver-r$pkgrel eg25-manager-openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="eg25-manager-openrc"
mkdir "$subpkgdir"
}
@@ -229,28 +239,6 @@ x11() {
install -Dm644 "$srcdir"/x11-pinephone-keyboard.conf \
"$subpkgdir"/etc/X11/xorg.conf.d/pinephone-keyboard.conf
}
audio() {
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-base-ui-audio"
# FIXME: use upstream alsa-ucm-conf instead, once it works the same (pma#2115)
replaces="alsa-ucm-conf"
depends="
alsa-ucm-conf>=1.2.6.2
pinephone-callaudiod
postmarketos-base-ui-audio-pipewire
"
# Alsa usecase manager config
install -Dm644 -t "$subpkgdir"/usr/share/alsa/ucm2/Allwinner/A64/PinePhone \
"$srcdir"/HiFi.conf \
"$srcdir"/PinePhone.conf \
"$srcdir"/VoiceCall.conf
# Pulseaudio config
install -Dm644 "$srcdir"/pulse-pinephone.conf \
"$subpkgdir"/etc/pulse/daemon.conf.d/89-pinephone.conf
}
sha512sums="
5736444fd38ab4351d148ae96c479085f469bd1e51a692fb1827f8ac921a584389f7696985e1fba21c2deac88709910531f4ece282f45ff54e590c2b54b84ba3 00_alsa_pinephone_dshare.conf
b53cc6f2531854cc9c1e4c334185a20551d64c8675ee8a8eaa03b99d80808fad421a0f6e99e5be212a974d88c85f461a71ba59ac59c29f298c82f211e3be1ef4 10-pinephone-proximity.rules
Loaded 100 of 1099 files, more files were not shown because too many files have changed in this diff. Show more