improved the build process
Dieser Commit ist enthalten in:
Ursprung
e8882e72ff
Commit
6b25bd9e89
3 geänderte Dateien mit 57 neuen und 24 gelöschten Zeilen
1
.gitignore
gevendort
1
.gitignore
gevendort
|
@ -3,3 +3,4 @@ packages/*/.config
|
||||||
packages/*/.cache
|
packages/*/.cache
|
||||||
packages/*/*.pkg.tar.*
|
packages/*/*.pkg.tar.*
|
||||||
packages/*/*.tar.gz
|
packages/*/*.tar.gz
|
||||||
|
uploads
|
||||||
|
|
|
@ -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[@]"
|
74
build_pkg.sh
74
build_pkg.sh
|
@ -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.*
|
||||||
|
|
Laden …
Tabelle hinzufügen
In neuem Issue referenzieren