tazpkg diff modules/mirror @ rev 846

Remove "busybox" "prefixes" (thanks llev)
We used "busybox wget", etc. to be sure we called Busybox's "wget", not any other "wget". Workaround already done in "getenv" module.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Oct 09 13:14:01 2015 +0300 (2015-10-09)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/modules/mirror	Fri Oct 09 13:14:01 2015 +0300
     1.3 @@ -0,0 +1,119 @@
     1.4 +#!/bin/sh
     1.5 +# TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
     1.6 +# mirror - TazPkg module
     1.7 +# Add/remove/list undigest mirrors, URLs
     1.8 +
     1.9 +
    1.10 +# Connect function libraries
    1.11 +. /lib/libtaz.sh
    1.12 +
    1.13 +# Get TazPkg working environment
    1.14 +. @@MODULES@@/getenv
    1.15 +
    1.16 +
    1.17 +
    1.18 +
    1.19 +# Update mirror URLs
    1.20 +
    1.21 +setup_mirror() {
    1.22 +	# Backup old list.
    1.23 +	if [ -f "$1/mirror" ]; then
    1.24 +		cp -f $1/mirror $1/mirror.bak
    1.25 +	fi
    1.26 +	title 'Current mirror(s)'
    1.27 +	echo "  $(cat "$1/mirror" 2>/dev/null)"
    1.28 +	longline "$(_ "Please enter URL of the new mirror (http, ftp or local \
    1.29 +path). You must specify the complete address to the directory of the packages \
    1.30 +and packages.list file.")"
    1.31 +	newline
    1.32 +
    1.33 +	_n 'New mirror(s) URL: '
    1.34 +	NEW_MIRROR_URL="$2"
    1.35 +	if [ -n "$NEW_MIRROR_URL" ]; then
    1.36 +		echo $NEW_MIRROR_URL
    1.37 +	else
    1.38 +		read NEW_MIRROR_URL
    1.39 +	fi
    1.40 +
    1.41 +	if [ -z "$NEW_MIRROR_URL" ]; then
    1.42 +		_ 'Nothing has been changed.'
    1.43 +	else
    1.44 +		_ 'Setting mirror(s) to: "%s"' "$NEW_MIRROR_URL"
    1.45 +		rm -f "$1/mirror"
    1.46 +		for i in $NEW_MIRROR_URL; do
    1.47 +			echo "${i%/}/" >> "$1/mirror"
    1.48 +		done
    1.49 +	fi
    1.50 +	newline
    1.51 +}
    1.52 +
    1.53 +
    1.54 +
    1.55 +
    1.56 +case $1 in
    1.57 +	list)
    1.58 +		# List undigest mirrors URLs
    1.59 +
    1.60 +		if [ -n "$box" ]; then
    1.61 +			for i in $PKGS_DB/undigest/*/mirror; do
    1.62 +				[ -f "$i" ] || continue
    1.63 +				echo "$(basename "$(dirname "$i")")|$(cat "$i")"
    1.64 +			done
    1.65 +		else
    1.66 +			title 'Current undigest(s)'
    1.67 +			for i in $PKGS_DB/undigest/*/mirror; do
    1.68 +				if [ ! -f "$i" ]; then
    1.69 +					_ 'No undigest mirror found.'
    1.70 +					exit 1
    1.71 +				fi
    1.72 +				echo "$(basename "$(dirname "$i")")"$'\t'"$(cat "$i")"
    1.73 +			done
    1.74 +			newline
    1.75 +		fi
    1.76 +		;;
    1.77 +
    1.78 +
    1.79 +	remove)
    1.80 +		# Remove undigest mirror
    1.81 +
    1.82 +		undigest="$2"
    1.83 +		if [ -d "$PKGS_DB/undigest/$2" ]; then
    1.84 +			confirm "$(_ 'Remove "%s" undigest? (y/N)' "$undigest")"
    1.85 +			if [ $? -eq 0 ]; then
    1.86 +				action 'Removing "%s" undigest...' "$undigest"
    1.87 +				rm -rf "$PKGS_DB/undigest/$2"
    1.88 +				status
    1.89 +				rmdir "$PKGS_DB/undigest" 2>/dev/null
    1.90 +			fi
    1.91 +		else
    1.92 +			_ 'Undigest "%s" not found' "$undigest"
    1.93 +		fi
    1.94 +		;;
    1.95 +
    1.96 +
    1.97 +	add)
    1.98 +		# Add undigest URL
    1.99 +
   1.100 +		[ ! -d "$PKGS_DB/undigest" ] && mkdir "$PKGS_DB/undigest"
   1.101 +
   1.102 +		undigest="$2"
   1.103 +		if [ -z "$undigest" ]; then
   1.104 +			i='1'
   1.105 +			while [ -d "$PKGS_DB/undigest/$i" ]; do
   1.106 +				i=$(($i+1))
   1.107 +			done
   1.108 +			undigest="$i"
   1.109 +		fi
   1.110 +		if [ ! -d "$PKGS_DB/undigest/$undigest" ]; then
   1.111 +			_ 'Creating new undigest "%s".' "$undigest"
   1.112 +			mkdir "$PKGS_DB/undigest/$undigest"
   1.113 +		fi
   1.114 +		setup_mirror "$PKGS_DB/undigest/$undigest" "$3"
   1.115 +		;;
   1.116 +
   1.117 +	setup)
   1.118 +		# Change mirror URL
   1.119 +		setup_mirror "$PKGS_DB" "$2"
   1.120 +		;;
   1.121 +
   1.122 +esac