1
0
Fork 0

improved the build process

Dieser Commit ist enthalten in:
Sebastian Tobie 2025-07-29 08:33:25 +02:00
Ursprung e8882e72ff
Commit 6b25bd9e89
3 geänderte Dateien mit 57 neuen und 24 gelöschten Zeilen

3
.gitignore gevendort
Datei anzeigen

@ -2,4 +2,5 @@
packages/*/.config packages/*/.config
packages/*/.cache packages/*/.cache
packages/*/*.pkg.tar.* packages/*/*.pkg.tar.*
packages/*/*.tar.gz packages/*/*.tar.gz
uploads

Datei anzeigen

@ -1,4 +1,5 @@
#!/bin/zsh #!/bin/zsh
packages=()
while [ ! -z "$1" ] ; do while [ ! -z "$1" ] ; do
pkg="$1" pkg="$1"
if [ -d "packages/${pkg}" ] ; then if [ -d "packages/${pkg}" ] ; then
@ -6,6 +7,7 @@ while [ ! -z "$1" ] ; do
else else
git submodule add "https://aur.archlinux.org/${pkg}.git" "packages/${pkg}" git submodule add "https://aur.archlinux.org/${pkg}.git" "packages/${pkg}"
fi fi
./build_pkg.sh "$pkg" packages+=("$pkg")
shift shift
done done
./build.sh "$packages[@]"

Datei anzeigen

@ -1,31 +1,61 @@
#!/bin/zsh #!/bin/zsh
set -e declare -a CONTAINER
pkg="$1" #CONTAINERS=()
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 new_env(){
echo "Packet ${pkg} existiert noch nicht" echo "Starte container ${container}"
exit 1 podman run --detach --quiet --rm\
fi -v /etc/pacman.d/mirrorlist:/etc/pacman.d/mirrorlist\
if [ ! -f "packages/${pkg}/.SRCINFO" ] ; then -v "$PWD:/src"\
echo ".SRCINFO fehlt von ${pkg}" -v pkg_cache:/var/cache/pacman/pkg\
exit 1 -v "$PWD/uploads:/uploads"\
fi -e PKGDEST="/uploads"\
-e BUILDDIR=/tmp/build\
-e SRCDEST=/tmp/src\
-e XDG_CACHE_HOME=/tmp/cache\
-e XDG_CONFIG_HOME=/tmp/config\
-e CARGO_HOME=/tmp/cargo\
-e GOPATH=/tmp/go\
-e HOME=/tmp/home\
-w "/src/packages/$pkg"\
--userns keep-id --name "${container}"\
docker.io/archlinux:base-devel /src/wait.sh >/dev/null
CONTAINERS+=("${container}")
}
build_pkg(){
local pkg
pkg=$(basename "$1")
local container
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
new_env "$pkg"
podman exec -ti -w "/src/packages/$pkg" -u 0 "${container}" /src/install_deps.sh || return 1
podman exec -t -w "/src/packages/${pkg}" "${container}" makepkg -C --skippgpcheck --nocheck || return 1
}
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() { cleanup() {
podman stop -i "${container}" >/dev/null echo "Stopping ${CONTAINERS[*]}"
podman stop -i "${CONTAINERS[@]}" >/dev/null
} }
trap cleanup INT TERM ZERR EXIT 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 while [ -n "$1" ] ; do
build_pkg "$1" || echo Failed to build "$1"
shift
done
export $(echo 'url=forgejo://upload' | git-credential-keepassxc get --json | jq -r '"GITHUB_TOKEN="+.password+" GITHUB_SERVER_URL="+.username') 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.* forgejo-uploader packete arch aur uploads/*.pkg.tar.*