From d45dec337744ebeb21a08214533e99695af4302b Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 21 Jun 2024 22:16:53 +0200 Subject: new commands to build with docker --- sign-and-upload-all | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 sign-and-upload-all (limited to 'sign-and-upload-all') diff --git a/sign-and-upload-all b/sign-and-upload-all new file mode 100755 index 000000000..255ce0620 --- /dev/null +++ b/sign-and-upload-all @@ -0,0 +1,110 @@ +#!/bin/bash + +cd "$(dirname "$(readlink -e "$0")")" + + +for distro in arch artix; do + upkgs=$( + ssh ${distro}linuxewe@eckner.net ' + bsdtar -Oxf os/'"$(pacman-conf Architecture)"'/'"${distro}"'linuxewe.db.tar.gz \ + | sed -n '"'"' + /^%FILENAME%$/ { + N + s/^.*\n// + p + } + '"'"' + ' + ) + unset archs + declare -A archs + for pkg in */${distro}/*.pkg.tar.zst; do + [ -f "${pkg}" ] \ + || continue + printf '%s\n' "${pkg##*/}" \ + | grep -qxF "${upkgs}" \ + && continue + [ -f "${pkg}.sig" ] \ + || gpg --detach-sign -u 5FDCA472AB93292BC678FD59255A76DB9A12601A "${pkg}" \ + || exit 1 + arch="${pkg##*-}" + arch="${arch%%.*}" + archs["${arch}"]=1 + done + + for arch in "${!archs[@]}"; do + rsync -av --progress --ignore-existing */${distro}/*-${arch}.pkg.tar.zst{,.sig} ${distro}linuxewe@eckner.net:os/${arch}/ + pkgs=$( + printf '%s\n' */${distro}/*-${arch}.pkg.tar.zst \ + | sed 's@^.*/@@' \ + | tr '\n' ' ' + ) + + if [ "${arch}" = 'any' ]; then + ssh ${distro}linuxewe@eckner.net ' + cd os + for arch in */; do + cd ${arch} + for pkg in '"${pkgs}"'; do + ln -s ../any/${pkg} + ln -s ../any/${pkg}.sig + done + repo-add -s -k 0x3CFB0AD8F60030F8 '"${distro}"'linuxewe.db.tar.gz '"${pkgs}"' + find -maxdepth 1 -mindepth 1 -not -type d -printf '"'"'%f\n'"'"' \ + | grep -vxFf <( + ls '"${distro}"'linuxewe.db* + bsdtar -Oxf '"${distro}"'linuxewe.db.tar.gz \ + | sed -n '"'"' + /^%FILENAME%$/ { + N + s/^.*\n// + p + s/$/.sig/ + p + } + '"'"' + ) \ + | xargs -r rm -f + cd .. + done + cd any + find -maxdepth 1 -mindepth 1 -not -type d -printf '"'"'%f\n'"'"' \ + | grep -vxFf <( + for db in ../*/'"${distro}"'linuxewe.db.tar.gz; do + bsdtar -Oxf "${db}" + done \ + | sed -n '"'"' + /^%FILENAME%$/ { + N + s/^.*\n// + p + s/$/.sig/ + p + } + '"'"' + ) \ + | xargs -r rm -f + ' + else + ssh ${distro}linuxewe@eckner.net ' + cd os/'"${arch}"' + repo-add -s -k 0x3CFB0AD8F60030F8 '"${distro}"'linuxewe.db.tar.gz '"${pkgs}"' + find -maxdepth 1 -mindepth 1 -not -type d -printf '"'"'%f\n'"'"' \ + | grep -vxFf <( + ls '"${distro}"'linuxewe.db* + bsdtar -Oxf '"${distro}"'linuxewe.db.tar.gz \ + | sed -n '"'"' + /^%FILENAME%$/ { + N + s/^.*\n// + p + s/$/.sig/ + p + } + '"'"' + ) \ + | xargs -r rm -f + ' + fi + done +done -- cgit v1.2.3-70-g09d2