unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit dfb988771478a0c62450425282332eb76dcfe495
parent 5f5930fe96ffcd3e342a57e0f3f12b0629895705
Author: Robin Bron <robin.bron@yourhosting.nl>
Date:   Fri, 25 Sep 2026 13:22:36 +0200

Code pkg version into generated conductor.yml

Diffstat:
M.conductor.yml | 54+++++++++++++++++++++++++++---------------------------
Mmk/check-revision.sh | 31+++++++++++++++++++------------
Mmk/gen-pipeline.sh | 16+++++++++++++++-
Mpackages/glibc/template | 9+++++++--
4 files changed, 68 insertions(+), 42 deletions(-)

diff --git a/.conductor.yml b/.conductor.yml @@ -51,7 +51,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh zlib --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh zlib --pkgver 1.3.1-r4 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" zlib @@ -64,7 +64,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh openssl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh openssl --pkgver 3.5.8-r4 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" openssl @@ -79,7 +79,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh apk-tools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh apk-tools --pkgver 3.0.8-r1 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" apk-tools @@ -92,7 +92,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh base-files --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh base-files --pkgver 0.1.0-r6 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" base-files @@ -105,7 +105,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh busybox --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh busybox --pkgver 1.36.1-r8 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" busybox @@ -120,7 +120,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh curl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh curl --pkgver 8.18.0-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" curl @@ -133,7 +133,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh dosfstools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh dosfstools --pkgver 4.2-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" dosfstools @@ -146,7 +146,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh e2fsprogs --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh e2fsprogs --pkgver 1.47.4-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" e2fsprogs @@ -159,7 +159,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh efivar --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh efivar --pkgver 39-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" efivar @@ -172,7 +172,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh popt --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh popt --pkgver 1.19-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" popt @@ -187,7 +187,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh efibootmgr --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh efibootmgr --pkgver 18-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" efibootmgr @@ -200,7 +200,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh glibc --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh glibc --pkgver 2.44-r6 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" glibc @@ -213,7 +213,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh libstdc++ --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh libstdc++ --pkgver 14.2.0-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libstdc++ @@ -229,7 +229,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh gptfdisk --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh gptfdisk --pkgver 1.0.10-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" gptfdisk @@ -242,7 +242,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh xz --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh xz --pkgver 5.8.4-r1 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" xz @@ -256,7 +256,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh grub --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh grub --pkgver 2.14-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" grub @@ -269,7 +269,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh libmnl --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh libmnl --pkgver 1.0.5-r5 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libmnl @@ -282,7 +282,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh libcap --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh libcap --pkgver 2.78-r4 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" libcap @@ -297,7 +297,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh iproute2 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh iproute2 --pkgver 6.19.0-r3 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" iproute2 @@ -310,7 +310,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh linkd --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh linkd --pkgver 0.1.0-r1 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linkd @@ -323,7 +323,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh linux-longterm --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh linux-longterm --pkgver 6.18.51-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-longterm @@ -336,7 +336,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh linux-mainline --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh linux-mainline --pkgver 7.3_rc3-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-mainline @@ -349,7 +349,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh linux-stable --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh linux-stable --pkgver 7.2.5-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" linux-stable @@ -363,7 +363,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh smartmontools --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh smartmontools --pkgver 7.5-r0 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" smartmontools @@ -376,7 +376,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh tinyssh --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh tinyssh --pkgver 20260906-r4 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" tinyssh @@ -389,7 +389,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh unos-firstboot --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh unos-firstboot --pkgver 0.1.0-r2 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" unos-firstboot @@ -402,7 +402,7 @@ tasks: arch: [x86_64] requires: [unos-sign-key] script: - - ./mk/check-revision.sh unos-keys --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || exit 0 + - ./mk/check-revision.sh unos-keys --pkgver 0.1.0-r2 --repo "${BUCKET_PUBLIC_URL%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } - ./mk/ci-setup.sh - ./mk/bootstrap-host.sh - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" unos-keys diff --git a/mk/check-revision.sh b/mk/check-revision.sh @@ -19,6 +19,7 @@ ROOT=$(cd "${HERE}/.." && pwd) PKG="" ARCH="x86_64" REPO="" +PKGVER="" while [ $# -gt 0 ]; do case "$1" in @@ -26,6 +27,8 @@ while [ $# -gt 0 ]; do --arch=*) ARCH="${1#--arch=}"; shift ;; --repo) REPO="$2"; shift 2 ;; --repo=*) REPO="${1#--repo=}"; shift ;; + --pkgver) PKGVER="$2"; shift 2 ;; + --pkgver=*) PKGVER="${1#--pkgver=}"; shift ;; -h|--help) sed -n '1,25p' "$0"; exit 0 ;; -*) echo "check-revision.sh: unknown option: $1" >&2; exit 1 ;; *) if [ -z "${PKG}" ]; then PKG="$1"; else @@ -39,21 +42,25 @@ done case "${ARCH}" in arm64) ARCH=aarch64 ;; esac case "${ARCH}" in x86_64|aarch64) ;; *) echo "check-revision.sh: unsupported ARCH ${ARCH}" >&2; exit 1 ;; esac -TEMPLATE="${ROOT}/packages/${PKG}/template" -[ -f "${TEMPLATE}" ] || { echo "check-revision.sh: no template: ${TEMPLATE}" >&2; exit 1; } +if [ -z "${PKGVER}" ]; then + TEMPLATE="${ROOT}/packages/${PKG}/template" + [ -f "${TEMPLATE}" ] || { echo "check-revision.sh: no template: ${TEMPLATE}" >&2; exit 1; } -# Read version/revision from template (same subshell pattern as deps.sh) -eval "$( ( - version=; revision=0 - SYSROOT=; DESTDIR=; WRKSRC=; FILESDIR=; WORK=; SRCDEST=; UNOS_MKDIR= - die() { :; } ; msg() { :; } ; vinstall() { :; } ; vmkdir() { :; } - . "${TEMPLATE}" >/dev/null 2>&1 || true - printf 'VERSION=%s\nREVISION=%s\n' "${version}" "${revision}" -) )" + # Read version/revision from template (same subshell pattern as deps.sh) + VERSION=; REVISION=0 + eval "$( ( + version=; revision=0 + SYSROOT=; DESTDIR=; WRKSRC=; FILESDIR=; WORK=; SRCDEST= + UNOS_MKDIR="${HERE}" + die() { :; } ; msg() { :; } ; vinstall() { :; } ; vmkdir() { :; } + . "${TEMPLATE}" >/dev/null 2>&1 || true + printf 'VERSION=%s\nREVISION=%s\n' "${version}" "${revision}" + ) )" -[ -n "${VERSION}" ] || { echo "check-revision.sh: template sets no version" >&2; exit 1; } + [ -n "${VERSION}" ] || { echo "check-revision.sh: cannot read version from ${TEMPLATE}" >&2; exit 2; } + PKGVER="${VERSION}-r${REVISION}" +fi -PKGVER="${VERSION}-r${REVISION}" APK_NAME="${PKG}-${PKGVER}.apk" # Check local repo first diff --git a/mk/gen-pipeline.sh b/mk/gen-pipeline.sh @@ -38,6 +38,20 @@ task_name() { printf 'pkg-%s' "$(printf '%s' "$1" | sed 's/+/x/g' | tr -c 'A-Za-z0-9_.-' '-')" } +# Resolved here rather than in CI: the pipeline is generated, and sourcing a +# template needs UNOS_MKDIR (kernel.inc) which a bare CI checkout lacks. +pkgver() { + ( + version=; revision=0 + SYSROOT=; DESTDIR=; WRKSRC=; FILESDIR=; WORK=; SRCDEST= + UNOS_MKDIR="${HERE}" + die() { :; } ; msg() { :; } ; vinstall() { :; } ; vmkdir() { :; } + . "${ROOT}/packages/$1/template" >/dev/null 2>&1 || true + [ -n "${version}" ] || { echo "gen-pipeline.sh: no version for $1" >&2; exit 1; } + printf '%s-r%s' "${version}" "${revision}" + ) +} + emit() { cat <<'HEADER' # GENERATED by mk/gen-pipeline.sh -- do not edit by hand. @@ -108,7 +122,7 @@ HEADER # The feature provides UNOS_KEY_APK_RSA_PRI, which mk/sign-key.inc reads. printf ' requires: [unos-sign-key]\n' printf ' script:\n' - printf ' - ./mk/check-revision.sh %s --repo "${BUCKET_PUBLIC_URL%%/}/$ARCH" || exit 0\n' "$p" + printf ' - ./mk/check-revision.sh %s --pkgver %s --repo "${BUCKET_PUBLIC_URL%%/}/$ARCH" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; }\n' "$p" "$(pkgver "$p")" printf ' - ./mk/ci-setup.sh\n' printf ' - ./mk/bootstrap-host.sh\n' printf ' - ./mk/sysroot.sh --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" %s\n' "$p" diff --git a/packages/glibc/template b/packages/glibc/template @@ -51,6 +51,11 @@ do_install() { # make install does not create the locale dir itself mkdir -p "${DESTDIR}/usr/lib/locale" # localedef links against the just-built libc, which needs the just-built - # loader too; testrun.sh wires up both. - ./testrun.sh ./locale/localedef --prefix="${DESTDIR}" -i C -f UTF-8 C.UTF-8 + # loader too; testrun.sh wires up both. Charmaps are not installed yet, so + # point I18NPATH at the source tree. + I18NPATH="${WRKSRC}/localedata" \ + ./testrun.sh ./locale/localedef --prefix="${DESTDIR}" \ + -i "${WRKSRC}/localedata/locales/C" \ + -f "${WRKSRC}/localedata/charmaps/UTF-8" \ + C.UTF-8 }