packaging: drop the aport; fp6-img installs the published apk
All checks were successful
package / package (push) Successful in 1m55s
All checks were successful
package / package (push) Successful in 1m55s
fp6-img no longer builds imsd from source: its images install the apk this repo's package CI publishes to the registry (pinned version + sha256), so the image and 'apk upgrade' carry the same binary and APKBUILD.binary is the only imsd packaging left. The two payload files the aport carried (kde-modem-daemon skel override, systemd preset) move up to packaging/, where build-package.sh now takes them from.
This commit is contained in:
parent
d5aaf57e49
commit
1987275a54
6 changed files with 10 additions and 90 deletions
|
|
@ -14,9 +14,10 @@ name: package
|
||||||
# Release gating is the version: pkgver comes from implementations/main.cpp,
|
# Release gating is the version: pkgver comes from implementations/main.cpp,
|
||||||
# the registry answers 409 for an already-published version, and the publish
|
# the registry answers 409 for an already-published version, and the publish
|
||||||
# step treats that as "nothing to do" — so pushes only release when the
|
# step treats that as "nothing to do" — so pushes only release when the
|
||||||
# Version constant bumps. fp6-img images keep building imsd from their own
|
# Version constant bumps. This is the only producer of the imsd apk: fp6-img
|
||||||
# pinned checkout of this repo (packaging/aport/); APKBUILD.binary's payload
|
# images install the published package from the registry (pinned version,
|
||||||
# must stay identical to that aport's, so the two pipelines cannot skew.
|
# pinned sha256) instead of building their own, so image and 'apk upgrade'
|
||||||
|
# carry the same binary.
|
||||||
#
|
#
|
||||||
# Publishing needs PACKAGE_TOKEN (catbot account, package:write scope) — an
|
# Publishing needs PACKAGE_TOKEN (catbot account, package:write scope) — an
|
||||||
# org-level secret on Catcrafts since 2026-09-02, shared with fp6-img;
|
# org-level secret on Catcrafts since 2026-09-02, shared with fp6-img;
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@
|
||||||
# README's "Cross-compiling" section into a proper apk — used by this repo's
|
# README's "Cross-compiling" section into a proper apk — used by this repo's
|
||||||
# package CI (packaging/build-package.sh, which also seds pkgver from
|
# package CI (packaging/build-package.sh, which also seds pkgver from
|
||||||
# implementations/main.cpp) and runnable by hand. The source tarball is
|
# implementations/main.cpp) and runnable by hand. The source tarball is
|
||||||
# produced by packaging/make-bin-tarball.sh; the desktop/preset files come
|
# produced by packaging/make-bin-tarball.sh; the desktop/preset files live
|
||||||
# from packaging/aport/ (copy them next to this file). The package payload
|
# next to it in packaging/ (copy them beside this file). Since 2026-09-02
|
||||||
# must stay identical to packaging/aport/APKBUILD's, or an apk upgrade
|
# this is the only imsd packaging: fp6-img images install the apk this
|
||||||
# across the two pipelines would add/strip files on users' phones.
|
# builds from the registry rather than building their own.
|
||||||
pkgname=imsd
|
pkgname=imsd
|
||||||
pkgver=0.3.1
|
pkgver=0.3.1
|
||||||
pkgrel=0
|
pkgrel=0
|
||||||
|
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
# SPDX-License-Identifier: GPL-3.0-only
|
|
||||||
# SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
||||||
# The canonical apk aport for imsd, owned by this repository since
|
|
||||||
# 2026-09-01 (transferred from fp6-img, which now consumes this directory:
|
|
||||||
# its build.sh copies packaging/aport/ into the pmaports overlay, pins
|
|
||||||
# _commit to a reviewed commit, and generates the source tarball with
|
|
||||||
# git-archive — the Forgejo instance serves no source archives).
|
|
||||||
# packaging/APKBUILD{,.binary} are the older standalone variants.
|
|
||||||
maintainer="Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>"
|
|
||||||
pkgname=imsd
|
|
||||||
pkgver=0.3.1
|
|
||||||
pkgrel=0
|
|
||||||
pkgdesc="Userspace IMS/VoLTE daemon for mainline Linux phones"
|
|
||||||
url="https://forgejo.catcrafts.net/Catcrafts/imsd"
|
|
||||||
# other arches: nothing wrong known, just never run there
|
|
||||||
arch="aarch64 x86_64"
|
|
||||||
license="GPL-3.0-only"
|
|
||||||
# the media leg dlopen's the AMR-WB codecs; pw-record/pw-play drive PipeWire —
|
|
||||||
# none of which abuild's .so auto-scan can see
|
|
||||||
depends="modemmanager opencore-amr vo-amrwbenc pipewire-tools"
|
|
||||||
# clang/libc++ C++26-modules build (upstream Makefile); llvm-runtimes ships
|
|
||||||
# the libc++ std module sources the build precompiles
|
|
||||||
makedepends="clang lld libc++-dev llvm-libunwind-dev llvm-runtimes glib-dev pkgconf"
|
|
||||||
# the versioned provides both satisfies soc-qcom-modem's 81voltd dependency
|
|
||||||
# and excludes the real package: 81voltd serves the modem firmware's own
|
|
||||||
# ims-PDN requests, which races imsd for the PDN and flaps it (a new prefix
|
|
||||||
# every ~2.5 min) — two IMS stacks cannot share one PDN. Installing imsd is
|
|
||||||
# an explicit choice to hand the IMS PDN to userspace.
|
|
||||||
provides="81voltd=$pkgver-r$pkgrel"
|
|
||||||
# no OpenRC service yet: the unit's PDN-bring-up/env-file sequencing is only
|
|
||||||
# tested under systemd; an initd is welcome once someone can verify one
|
|
||||||
subpackages="$pkgname-systemd"
|
|
||||||
# _commit is pinned by the consuming CI, which also drops the git-archive
|
|
||||||
# tarball (prefix imsd/) next to this APKBUILD. The skel override hides
|
|
||||||
# kde-telephony's modem daemon autostart for the account created at install —
|
|
||||||
# imsd-dialerd owns those session D-Bus names instead.
|
|
||||||
_commit="REPLACED_BY_CI"
|
|
||||||
source="
|
|
||||||
imsd-$_commit.tar.gz
|
|
||||||
org.kde.modem.daemon.desktop
|
|
||||||
80-imsd.preset
|
|
||||||
"
|
|
||||||
builddir="$srcdir/$pkgname"
|
|
||||||
|
|
||||||
build() {
|
|
||||||
make
|
|
||||||
}
|
|
||||||
|
|
||||||
check() {
|
|
||||||
make check
|
|
||||||
}
|
|
||||||
|
|
||||||
package() {
|
|
||||||
make install DESTDIR="$pkgdir"
|
|
||||||
install -Dm644 "$srcdir"/org.kde.modem.daemon.desktop \
|
|
||||||
"$pkgdir"/etc/skel/.config/autostart/org.kde.modem.daemon.desktop
|
|
||||||
# enabled by preset: the unit is a no-op until /etc/imsd.env exists, and
|
|
||||||
# VoLTE surviving reboots must not depend on a manual systemctl enable
|
|
||||||
install -Dm644 "$srcdir"/80-imsd.preset \
|
|
||||||
"$pkgdir"/usr/lib/systemd/system-preset/80-imsd.preset
|
|
||||||
mkdir -p "$pkgdir"/etc/systemd/system/multi-user.target.wants
|
|
||||||
ln -s /usr/lib/systemd/system/imsd.service \
|
|
||||||
"$pkgdir"/etc/systemd/system/multi-user.target.wants/imsd.service
|
|
||||||
# ...but only actually start once the carrier config exists, so
|
|
||||||
# unconfigured systems don't boot into a failing unit
|
|
||||||
mkdir -p "$pkgdir"/usr/lib/systemd/system/imsd.service.d
|
|
||||||
printf '[Unit]\nConditionPathExists=/etc/imsd.env\n' \
|
|
||||||
> "$pkgdir"/usr/lib/systemd/system/imsd.service.d/10-require-config.conf
|
|
||||||
}
|
|
||||||
|
|
||||||
systemd() {
|
|
||||||
install_if="$pkgname=$pkgver-r$pkgrel systemd"
|
|
||||||
|
|
||||||
amove usr/lib/systemd/system
|
|
||||||
}
|
|
||||||
|
|
||||||
sha512sums="
|
|
||||||
REPLACED_BY_CI imsd-REPLACED_BY_CI.tar.gz
|
|
||||||
REPLACED_BY_CI org.kde.modem.daemon.desktop
|
|
||||||
REPLACED_BY_CI 80-imsd.preset
|
|
||||||
"
|
|
||||||
|
|
@ -88,8 +88,8 @@ PKG="$HOME/pkg"
|
||||||
rm -rf "$PKG"
|
rm -rf "$PKG"
|
||||||
mkdir -p "$PKG"
|
mkdir -p "$PKG"
|
||||||
cp "$SRC/packaging/APKBUILD.binary" "$PKG/APKBUILD"
|
cp "$SRC/packaging/APKBUILD.binary" "$PKG/APKBUILD"
|
||||||
cp "$SRC/packaging/aport/org.kde.modem.daemon.desktop" \
|
cp "$SRC/packaging/org.kde.modem.daemon.desktop" \
|
||||||
"$SRC/packaging/aport/80-imsd.preset" "$PKG/"
|
"$SRC/packaging/80-imsd.preset" "$PKG/"
|
||||||
mv "imsd-$VER.tar.gz" "$PKG/"
|
mv "imsd-$VER.tar.gz" "$PKG/"
|
||||||
sed -i "s/^pkgver=.*/pkgver=$VER/" "$PKG/APKBUILD"
|
sed -i "s/^pkgver=.*/pkgver=$VER/" "$PKG/APKBUILD"
|
||||||
# a throwaway signing key: phones trust the registry-signed APKINDEX, not
|
# a throwaway signing key: phones trust the registry-signed APKINDEX, not
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue