tazpkg diff modules/mirror @ rev 840

Add a bunch of modules with new-style support of 'root' (not all commands are modules yet); strip and compress resources.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Aug 28 16:10:34 2015 +0300 (2015-08-28)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/modules/mirror	Fri Aug 28 16:10:34 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