tazpkg annotate modules/mirror @ rev 955

modules/search: allow search file with dash at start: tazpkg -sf "-spi"
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Dec 22 00:02:54 2017 +0200 (2017-12-22)
parents
children
rev   line source
al@840 1 #!/bin/sh
al@840 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
al@840 3 # mirror - TazPkg module
al@840 4 # Add/remove/list undigest mirrors, URLs
al@840 5
al@840 6
al@840 7 # Connect function libraries
al@840 8 . /lib/libtaz.sh
al@840 9
al@840 10 # Get TazPkg working environment
al@840 11 . @@MODULES@@/getenv
al@840 12
al@840 13
al@840 14
al@840 15
al@840 16 # Update mirror URLs
al@840 17
al@840 18 setup_mirror() {
al@840 19 # Backup old list.
al@840 20 if [ -f "$1/mirror" ]; then
al@840 21 cp -f $1/mirror $1/mirror.bak
al@840 22 fi
al@840 23 title 'Current mirror(s)'
al@840 24 echo " $(cat "$1/mirror" 2>/dev/null)"
al@840 25 longline "$(_ "Please enter URL of the new mirror (http, ftp or local \
al@840 26 path). You must specify the complete address to the directory of the packages \
al@840 27 and packages.list file.")"
al@840 28 newline
al@840 29
al@840 30 _n 'New mirror(s) URL: '
al@840 31 NEW_MIRROR_URL="$2"
al@840 32 if [ -n "$NEW_MIRROR_URL" ]; then
al@840 33 echo $NEW_MIRROR_URL
al@840 34 else
al@840 35 read NEW_MIRROR_URL
al@840 36 fi
al@840 37
al@840 38 if [ -z "$NEW_MIRROR_URL" ]; then
al@840 39 _ 'Nothing has been changed.'
al@840 40 else
al@840 41 _ 'Setting mirror(s) to: "%s"' "$NEW_MIRROR_URL"
al@840 42 rm -f "$1/mirror"
al@840 43 for i in $NEW_MIRROR_URL; do
al@840 44 echo "${i%/}/" >> "$1/mirror"
al@840 45 done
al@840 46 fi
al@840 47 newline
al@840 48 }
al@840 49
al@840 50
al@840 51
al@840 52
al@840 53 case $1 in
al@840 54 list)
al@840 55 # List undigest mirrors URLs
al@840 56
al@840 57 if [ -n "$box" ]; then
al@840 58 for i in $PKGS_DB/undigest/*/mirror; do
al@840 59 [ -f "$i" ] || continue
al@840 60 echo "$(basename "$(dirname "$i")")|$(cat "$i")"
al@840 61 done
al@840 62 else
al@840 63 title 'Current undigest(s)'
al@840 64 for i in $PKGS_DB/undigest/*/mirror; do
al@840 65 if [ ! -f "$i" ]; then
al@840 66 _ 'No undigest mirror found.'
al@840 67 exit 1
al@840 68 fi
al@840 69 echo "$(basename "$(dirname "$i")")"$'\t'"$(cat "$i")"
al@840 70 done
al@840 71 newline
al@840 72 fi
al@840 73 ;;
al@840 74
al@840 75
al@840 76 remove)
al@840 77 # Remove undigest mirror
al@840 78
al@840 79 undigest="$2"
al@840 80 if [ -d "$PKGS_DB/undigest/$2" ]; then
al@840 81 confirm "$(_ 'Remove "%s" undigest? (y/N)' "$undigest")"
al@840 82 if [ $? -eq 0 ]; then
al@840 83 action 'Removing "%s" undigest...' "$undigest"
al@840 84 rm -rf "$PKGS_DB/undigest/$2"
al@840 85 status
al@840 86 rmdir "$PKGS_DB/undigest" 2>/dev/null
al@840 87 fi
al@840 88 else
al@840 89 _ 'Undigest "%s" not found' "$undigest"
al@840 90 fi
al@840 91 ;;
al@840 92
al@840 93
al@840 94 add)
al@840 95 # Add undigest URL
al@840 96
al@840 97 [ ! -d "$PKGS_DB/undigest" ] && mkdir "$PKGS_DB/undigest"
al@840 98
al@840 99 undigest="$2"
al@840 100 if [ -z "$undigest" ]; then
al@840 101 i='1'
al@840 102 while [ -d "$PKGS_DB/undigest/$i" ]; do
al@840 103 i=$(($i+1))
al@840 104 done
al@840 105 undigest="$i"
al@840 106 fi
al@840 107 if [ ! -d "$PKGS_DB/undigest/$undigest" ]; then
al@840 108 _ 'Creating new undigest "%s".' "$undigest"
al@840 109 mkdir "$PKGS_DB/undigest/$undigest"
al@840 110 fi
al@840 111 setup_mirror "$PKGS_DB/undigest/$undigest" "$3"
al@840 112 ;;
al@840 113
al@840 114 setup)