#!/bin/bash set -e # Build packages for dir in packages/*/ ; do # Load packages informations . ${dir}PKGBUILD if [[ $1 == "check" ]]; then echo "Check if $pkgname can build correctly..." cd $dir makepkg -cd cd ../.. else mkdir -p repository file="${pkgname}-${pkgver}-${pkgrel}-${arch}.pkg.tar.zst" if [ ! -f "repository/$file" ]; then # Remove last version find repository/ -regex "repository/${pkgname}-[0-9]+\.[0-9]+\.[0-9]+-[0-9]+-any\.pkg.tar.zst" -delete echo "Building version $pkgver-$pkgrel of $pkgname..." cd $dir makepkg -cfd cd ../.. fi fi done if [[ $1 != "check" ]]; then # If we can move new packages to the repository if mv packages/*/*.pkg.tar.zst repository/ 2>/dev/null; then echo "Remove last database" cd repository/ if [ -f "tos.db" ]; then rm tos.db; fi if [ -f "tos.files" ]; then rm tos.files; fi echo "Generating a new database..." repo-add tos.db.tar.gz *.pkg.tar.zst >/dev/null echo "Fixing symlinks..." rm tos.db && mv tos.db.tar.gz tos.db rm tos.files && mv tos.files.tar.gz tos.files echo "Packages built!" echo "Commiting changes" git add . git commit -m "Update repository" git push else echo "No package needs to be built" exit 1 fi fi