diff options
Diffstat (limited to 'sh/mpra')
| -rwxr-xr-x | sh/mpra | 28 | 
1 files changed, 28 insertions, 0 deletions
@@ -23,6 +23,7 @@ fn () {  ext=zst  copy_any= +copy=  while getopts ac opt; do  	case $opt in @@ -30,6 +31,19 @@ while getopts ac opt; do  		a) ext=xz;;  		# copy arch linux fly-any repo  		c) copy_any=1;; +		# Copy arch linux fly repo, needed because of pacman 7.0's +		# `DownloadUser = alpm` new feature in /etc/pacman.conf, else this +		# error: "error: failed retrieving file 'fly.db' from disk : Couldn't +		# open file /home/xyz/programs/repos/fly/x86_64/repo/fly.db". More see +		# https://archlinux.org/news/manual-intervention-for-pacman-700-and-local-repositories-required/. +		# I think it is due to now pacman try download as alpm:alpm user, but +		# my old repo is inside /home/xyz. The url's solution is not enough +		# because /home/xyz is 700, so I choose to mkdir a new dir in /var/lib. +		# I'm currently using fly repo for xyzinsp computer only, which has +		# native optimizations enabled in /etc/makepkg.conf. for backward +		# compatibility, I keep -c, but it maybe better if I make copying to +		# other directories the default behavior, or other ways. +		C) copy=1;;  		\?) exit 1;;  	esac  done @@ -45,3 +59,17 @@ else  fi  [ "$copy_any" ] && sudo rsync -vPrlu --delete ../repo/ /srv/http/mirrors/archlinux/fly/os/any + +if [ "$copy" ]; then +	if ! [ -d /var/lib/mpra ]; then +		# If then `sudo chown xyz:wheel /var/lib/mpra`, no need sudo to copy to +		# that dir, but not sure if this is safe. Because /var/cache/pacman is +		# root:root 755 permission, I choose to follow its permission and leave +		# it as default. +		sudo mkdir /var/lib/mpra +	fi +	 # now only xyzinsp computer need this, but in the future maybe consider +	 # following fly/os/any like naming conventions for different repo and +	 # architecture. +	sudo rsync -vPrlu --delete ../repo/ /var/lib/mpra +fi  | 
