- better handling for non existent files and directories - better cleanup - credentials are now pulled from the keepass
31 Zeilen
1,1 KiB
Bash
Ausführbare Datei
31 Zeilen
1,1 KiB
Bash
Ausführbare Datei
#!/bin/zsh
|
|
set -e
|
|
pkg="$1"
|
|
container=$(echo -n "makepkg-${pkg}" | sed 's;c++;cxx;g')
|
|
if [ -z "${pkg}" ] ; then
|
|
echo "kein Packet angegeben"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "packages/${pkg}" ] ; then
|
|
echo "Packet ${pkg} existiert noch nicht"
|
|
exit 1
|
|
fi
|
|
if [ ! -f "packages/${pkg}/.SRCINFO" ] ; then
|
|
echo ".SRCINFO fehlt von ${pkg}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Starte container ${container}"
|
|
rm -f "packages/${pkg}/"*.pkg.tar.* || true
|
|
podman run --detach --quiet --rm -v /etc/pacman.d/mirrorlist:/etc/pacman.d/mirrorlist -v $PWD:/src -v pkg_cache:/var/cache/pacman/pkg -w "/src/packages/$pkg" --userns keep-id --name "${container}" docker.io/archlinux:base-devel /src/wait.sh >/dev/null
|
|
cleanup() {
|
|
podman stop -i "${container}" >/dev/null
|
|
}
|
|
|
|
trap cleanup INT TERM ZERR EXIT
|
|
podman exec -ti -w "/src/packages/$pkg" -u 0 "${container}" /src/install_deps.sh
|
|
|
|
podman exec -t -w "/src/packages/${pkg}" "${container}" makepkg -C --skippgpcheck --nocheck
|
|
export $(echo 'url=forgejo://upload' | git-credential-keepassxc get --json | jq -r '"GITHUB_TOKEN="+.password+" GITHUB_SERVER_URL="+.username')
|
|
forgejo-uploader packete arch aur "packages/${pkg}/"*.pkg.tar.*
|