diff options
Diffstat (limited to 'sh/mpra')
-rwxr-xr-x | sh/mpra | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#!/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 |