diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml index fb0f75a..6013f85 100644 --- a/.github/workflows/blank.yml +++ b/.github/workflows/blank.yml @@ -183,9 +183,28 @@ jobs: export CMAKE_C_COMPILER_LAUNCHER=sccache export CMAKE_CXX_COMPILER_LAUNCHER=sccache fi - + + COUNT=0 chmod +x ./*.sh - sh ${{ matrix.script }}.sh + while :; do + if ./${{ matrix.script }}.sh; then + >&2 echo "----------------------------------------" + >&2 echo "Package built successfully!" + >&2 echo "----------------------------------------" + break + else + >&2 echo "----------------------------------------" + >&2 echo "Failed to build package, trying again..." + >&2 echo "----------------------------------------" + COUNT=$(( COUNT + 1)) + fi + if [ "$COUNT" -ge 3 ]; then + >&2 echo "----------------------------------------" + >&2 echo "Failed to build package 3 times" + >&2 echo "----------------------------------------" + exit 1 + fi + done if [ "${{ matrix.script }}" != 'qt6-base-mini' ]; then ccache -s -v diff --git a/ffmpeg-mini.sh b/ffmpeg-mini.sh index 7a9d725..90aab77 100644 --- a/ffmpeg-mini.sh +++ b/ffmpeg-mini.sh @@ -3,20 +3,23 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Oz|' /etc/makepkg.conf case "$ARCH" in x86_64) EXT=zst - git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg.git ffmpeg - cd ./ffmpeg + git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg.git "$tmpbuild" + cd "$tmpbuild" ;; aarch64) EXT=xz - git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs.git PKGBUILDs - mv ./PKGBUILDs/extra/ffmpeg ./ - cd ./ffmpeg + git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs.git "$tmpbuild" + cd "$tmpbuild" + mv ./extra/ffmpeg/* ./extra/ffmpeg/.* ./ ;; *) >&2 echo "Unsupported Arch: '$ARCH'" @@ -43,5 +46,5 @@ ls -la rm -f ./ffmpeg-docs-*.pkg.tar.* ./ffmpeg-debug-*.pkg.tar.* mv ./ffmpeg-*.pkg.tar."$EXT" ../ffmpeg-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./ffmpeg +rm -rf "$tmpbuild" echo "All done!" diff --git a/gtk3-mini.sh b/gtk3-mini.sh index 6e4d51b..2859455 100644 --- a/gtk3-mini.sh +++ b/gtk3-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Os|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/gtk3.git gtk3 -cd ./gtk3 +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/gtk3.git "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -39,5 +42,5 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* ./*-demos-*.pkg.tar.* mv ./gtk3-*.pkg.tar."$EXT" ../gtk3-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./gtk +rm -rf "$tmpbuild" echo "All done!" diff --git a/gtk4-mini.sh b/gtk4-mini.sh index efb8291..dee0c69 100644 --- a/gtk4-mini.sh +++ b/gtk4-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Os|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/gtk4.git gtk4 -cd ./gtk4 +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/gtk4.git "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -41,5 +44,5 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* ./*-demos-*.pkg.tar.* mv ./gtk4-*.pkg.tar."$EXT" ../gtk4-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./gtk +rm -rf "$tmpbuild" echo "All done!" diff --git a/intel-media-driver-mini.sh b/intel-media-driver-mini.sh index 03224d4..7d9a92c 100644 --- a/intel-media-driver-mini.sh +++ b/intel-media-driver-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Os|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/intel-media-driver.git ./intel-media-driver -cd ./intel-media-driver +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/intel-media-driver.git "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -33,7 +36,7 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* mv ./intel-*.pkg.tar."$EXT" ../intel-media-driver-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./intel-media-driver +rm -rf "$tmpbuild" # keep older name to not break existing CIs cp -v ./intel-media-driver-mini-"$ARCH".pkg.tar."$EXT" ./intel-media-mini-"$ARCH".pkg.tar."$EXT" echo "All done!" diff --git a/libxml2-mini.sh b/libxml2-mini.sh index e100527..8ce81ee 100644 --- a/libxml2-mini.sh +++ b/libxml2-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Oz|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git libxml2 -cd ./libxml2 +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -39,7 +42,7 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* mv -v ./libxml2-*.pkg.tar."$EXT" ../libxml2-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./libxml2 +rm -rf "$tmpbuild" # keep older name to not break existing CIs cp -v ./libxml2-mini-"$ARCH".pkg.tar."$EXT" ./libxml2-iculess-"$ARCH".pkg.tar."$EXT" echo "All done!" diff --git a/llvm-mini.sh b/llvm-mini.sh index 9312e11..504ef55 100755 --- a/llvm-mini.sh +++ b/llvm-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Oz|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/llvm llvm -cd ./llvm +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/llvm "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -44,5 +47,5 @@ makepkg -fs --noconfirm --skippgpcheck ls -la mv ./llvm-libs-*.pkg.tar."$EXT" ../llvm-libs-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./llvm +rm -rf "$tmpbuild" echo "All done!" diff --git a/llvm-nano.sh b/llvm-nano.sh index 557010e..ca0ee57 100755 --- a/llvm-nano.sh +++ b/llvm-nano.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Oz|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/llvm llvm -cd ./llvm +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/llvm "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -47,5 +50,5 @@ makepkg -fs --noconfirm --skippgpcheck ls -la mv ./llvm-libs-*.pkg.tar."$EXT" ../llvm-libs-nano-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./llvm +rm -rf "$tmpbuild" echo "All done!" diff --git a/mangohud-mini.sh b/mangohud-mini.sh index 4f32113..1bab8d6 100644 --- a/mangohud-mini.sh +++ b/mangohud-mini.sh @@ -3,14 +3,16 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Oz|' /etc/makepkg.conf -git clone --depth 1 https://github.com/VHSgunzo/mangohud-PKGBUILD.git ./mangohud-temp -mv -v ./mangohud-temp/mangohud ./ -rm -rf ./mangohud-temp - -cd ./mangohud +git clone --depth 1 https://github.com/VHSgunzo/mangohud-PKGBUILD.git "$tmpbuild" +cd "$tmpbuild" +rm -rf ./lib32-mangohud +mv -v ./mangohud/PKGBUILD ./ case "$ARCH" in x86_64) @@ -40,5 +42,5 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* mv -v ./mangohud-*.pkg.tar."$EXT" ../mangohud-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./mangohud +rm -rf "$tmpbuild" echo "All done!" diff --git a/mesa-mini.sh b/mesa-mini.sh index 7243b89..bc3f5d8 100644 --- a/mesa-mini.sh +++ b/mesa-mini.sh @@ -3,12 +3,15 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT case "$ARCH" in x86_64) EXT=zst - git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/mesa.git ./mesa - cd ./mesa + git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/mesa.git "$tmpbuild" + cd "$tmpbuild" # remove aarch64 drivers from x86_64 sed -i \ -e '/_pick vkfdreno/d' \ @@ -21,8 +24,8 @@ case "$ARCH" in ;; aarch64) EXT=xz - git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs ./mesa - cd ./mesa + git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs "$tmpbuild" + cd "$tmpbuild" mv -v ./extra/mesa/* ./extra/mesa/.* ./ ;; *) @@ -72,5 +75,5 @@ elif [ "$ARCH" = 'aarch64' ]; then fi cd .. -rm -rf ./mesa +rm -rf "$tmpbuild" echo "All done!" diff --git a/mesa-nano.sh b/mesa-nano.sh index cbf552b..7fd501c 100644 --- a/mesa-nano.sh +++ b/mesa-nano.sh @@ -3,14 +3,17 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Os|' /etc/makepkg.conf case "$ARCH" in x86_64) EXT=zst - git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/mesa.git ./mesa - cd ./mesa + git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/mesa.git "$tmpbuild" + cd "$tmpbuild" # remove aarch64 drivers from x86_64 sed -i \ -e '/_pick vkfdreno/d' \ @@ -23,8 +26,8 @@ case "$ARCH" in ;; aarch64) EXT=xz - git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs ./mesa - cd ./mesa + git clone --depth 1 https://github.com/archlinuxarm/PKGBUILDs "$tmpbuild" + cd "$tmpbuild" mv -v ./extra/mesa/* ./extra/mesa/.* ./ ;; *) @@ -74,6 +77,6 @@ elif [ "$ARCH" = 'aarch64' ]; then fi cd .. -rm -rf ./mesa +rm -rf "$tmpbuild" echo "All done!" diff --git a/opus-mini.sh b/opus-mini.sh index 4036328..9764520 100644 --- a/opus-mini.sh +++ b/opus-mini.sh @@ -3,9 +3,12 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/opus.git ./opus -cd ./opus +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/opus.git "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -40,7 +43,7 @@ ls -la rm -fv *-docs-*.pkg.tar.* *-debug-*.pkg.tar.* mv ./opus-*.pkg.tar."$EXT" ../opus-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./opus +rm -rf "$tmpbuild" # keep older name to not break existing CIs cp -v ./opus-mini-"$ARCH".pkg.tar."$EXT" ./opus-nano-"$ARCH".pkg.tar."$EXT" echo "All done!" diff --git a/qt6-base-mini.sh b/qt6-base-mini.sh index 35881be..ec9828c 100644 --- a/qt6-base-mini.sh +++ b/qt6-base-mini.sh @@ -3,11 +3,14 @@ set -ex ARCH="$(uname -m)" +tmpbuild="$PWD"/tmpbuild +_cleanup() { rm -rf "$tmpbuild"; } +trap _cleanup INT TERM EXIT sed -i -e 's|-O2|-Os|' /etc/makepkg.conf -git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-base qt6-base -cd ./qt6-base +git clone --depth 1 https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-base "$tmpbuild" +cd "$tmpbuild" case "$ARCH" in x86_64) @@ -41,7 +44,7 @@ ls -la rm -fv ./*-docs-*.pkg.tar.* ./*-debug-*.pkg.tar.* mv -v ./qt6-base-*.pkg.tar."$EXT" ../qt6-base-mini-"$ARCH".pkg.tar."$EXT" cd .. -rm -rf ./qt6-base +rm -rf "$tmpbuild" # keep older name to not break existing CIs cp -v ./qt6-base-mini-"$ARCH".pkg.tar."$EXT" ./qt6-base-iculess-"$ARCH".pkg.tar."$EXT" echo "All done!"