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 | 
