#!/bin/sh # MakePkg Repo-Add fn () { if ! { [ -f PKGBUILD ] || [ -h PKGBUILD ];}; then exit fi find . -maxdepth 1 -type f -name "*.pkg.tar.$ext*" -delete makepkg --sign -sf newpkg="$(find . -maxdepth 1 -type f -name "*.pkg.tar.$ext")" [ -d ../repo ] || mkdir ../repo mv "$newpkg" "$newpkg.sig" ../repo # need manually repo-add new database for first time initialization repo-add -s -v -R "$(find ../repo -maxdepth 1 -type f -name '*.db.tar.gz')" "../repo/$newpkg" # seems no need to delete *.old and *.old.sig, see https://mirror.fcix.net/archlinux/core/os/x86_64/ it do include *.old #find ../repo -maxdepth 1 -type f \( -name '*.old' -o -name '*.old.sig' \) -delete } ext=zst copy_any= while getopts ac opt; do case $opt in # arch linux arm still using .xz instead of .zst as package compression format a) ext=xz;; # copy arch linux fly-any repo c) copy_any=1;; \?) exit 1;; esac done shift $((OPTIND-1)) if [ $# -eq 0 ]; then fn else for dir; do cd -- "$(realpath -- "$dir")" || exit fn done fi [ "$copy_any" ] && sudo rsync -vPrlt --delete ../repo/ /srv/http/mirrors/archlinux/fly/os/any upd -p