tazpkg rev 812
tazpkg-box, tazpkg: allow to get and install packages using folder with spaces in the path.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Thu Jun 04 17:15:40 2015 +0300 (2015-06-04) |
parents | a73c9918a5de |
children | 33d93f743150 |
files | applications/tazpkg-box.desktop po/fr.po po/pt_BR.po po/zh_CN.po po/zh_TW.po tazpkg tazpkg-box |
line diff
1.1 --- a/applications/tazpkg-box.desktop Thu Jun 04 00:15:13 2015 +0300 1.2 +++ b/applications/tazpkg-box.desktop Thu Jun 04 17:15:40 2015 +0300 1.3 @@ -5,7 +5,7 @@ 1.4 Name[pt]=Gerenciador de Pacotes TazPkg 1.5 Name[pt_BR]=Gerenciador de Pacotes TazPkg 1.6 Name[ru]=Менеджер пакетов TazPkg 1.7 -Exec=tazbox su tazpkg-box actions ""%f"" 1.8 +Exec=tazbox su tazpkg-box actions \"%f\" 1.9 Icon=tazpkg 1.10 NoDisplay=True 1.11 MimeType=application/x-tazpkg;
2.1 --- a/po/fr.po Thu Jun 04 00:15:13 2015 +0300 2.2 +++ b/po/fr.po Thu Jun 04 17:15:40 2015 +0300 2.3 @@ -1164,7 +1164,7 @@ 2.4 2.5 #: tazpkg-box:19 2.6 msgid "TazPkg" 2.7 -msgstr "" 2.8 +msgstr "TazPkg" 2.9 2.10 #: tazpkg-box:20 2.11 msgid "SliTaz Package Action" 2.12 @@ -1939,9 +1939,6 @@ 2.13 #~ msgid "Depends:" 2.14 #~ msgstr "Dépendances :" 2.15 2.16 -#~ msgid "TazPkg" 2.17 -#~ msgstr "TazPkg" 2.18 - 2.19 #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" 2.20 #~ msgstr "$PACKAGE_FILE ne semble pas être un paquet Archlinux ou Alpine !" 2.21
3.1 --- a/po/pt_BR.po Thu Jun 04 00:15:13 2015 +0300 3.2 +++ b/po/pt_BR.po Thu Jun 04 17:15:40 2015 +0300 3.3 @@ -1166,9 +1166,8 @@ 3.4 msgstr "Formato não suportado" 3.5 3.6 #: tazpkg-box:19 3.7 -#, fuzzy 3.8 msgid "TazPkg" 3.9 -msgstr "TazPkg SHell" 3.10 +msgstr "TazPkg" 3.11 3.12 #: tazpkg-box:20 3.13 msgid "SliTaz Package Action" 3.14 @@ -1974,9 +1973,6 @@ 3.15 #~ msgid "Depends:" 3.16 #~ msgstr "Dependências:" 3.17 3.18 -#~ msgid "TazPkg" 3.19 -#~ msgstr "TazPkg" 3.20 - 3.21 #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" 3.22 #~ msgstr "$PACKAGE_FILE não se parece com um pacote Archlinux/Alpine!" 3.23
4.1 --- a/po/zh_CN.po Thu Jun 04 00:15:13 2015 +0300 4.2 +++ b/po/zh_CN.po Thu Jun 04 17:15:40 2015 +0300 4.3 @@ -1145,9 +1145,8 @@ 4.4 msgstr "不支持的格式" 4.5 4.6 #: tazpkg-box:19 4.7 -#, fuzzy 4.8 msgid "TazPkg" 4.9 -msgstr "TazPkg SHell" 4.10 +msgstr "TazPkg" 4.11 4.12 #: tazpkg-box:20 4.13 msgid "SliTaz Package Action" 4.14 @@ -1948,9 +1947,6 @@ 4.15 #~ msgid "Depends:" 4.16 #~ msgstr "依赖:" 4.17 4.18 -#~ msgid "TazPkg" 4.19 -#~ msgstr "TazPkg" 4.20 - 4.21 #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" 4.22 #~ msgstr "$PACKAGE_FILE 并非 Archlinux/Alpine 包!" 4.23
5.1 --- a/po/zh_TW.po Thu Jun 04 00:15:13 2015 +0300 5.2 +++ b/po/zh_TW.po Thu Jun 04 17:15:40 2015 +0300 5.3 @@ -1148,9 +1148,8 @@ 5.4 msgstr "不支持的格式" 5.5 5.6 #: tazpkg-box:19 5.7 -#, fuzzy 5.8 msgid "TazPkg" 5.9 -msgstr "TazPkg SHell" 5.10 +msgstr "TazPkg" 5.11 5.12 #: tazpkg-box:20 5.13 msgid "SliTaz Package Action" 5.14 @@ -1950,9 +1949,6 @@ 5.15 #~ msgid "Depends:" 5.16 #~ msgstr "依賴:" 5.17 5.18 -#~ msgid "TazPkg" 5.19 -#~ msgstr "TazPkg" 5.20 - 5.21 #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" 5.22 #~ msgstr "$PACKAGE_FILE 並非 Archlinux/Alpine 包!" 5.23
6.1 --- a/tazpkg Thu Jun 04 00:15:13 2015 +0300 6.2 +++ b/tazpkg Thu Jun 04 17:15:40 2015 +0300 6.3 @@ -80,11 +80,11 @@ 6.4 6.5 COMMAND="$1" 6.6 PACKAGE="${2%/}" 6.7 -PACKAGE_DIR="$(cd $(dirname $PACKAGE 2>/dev/null) 2>/dev/null; pwd)" 6.8 +PACKAGE_DIR="$(cd $(dirname "$PACKAGE" 2>/dev/null) 2>/dev/null; pwd)" 6.9 [ -n "$PACKAGE" ] && PACKAGE_FILE="$PACKAGE_DIR/${PACKAGE##*/}" 6.10 if [ -f "$PACKAGE" ]; then 6.11 # Set pkg basename for install, extract 6.12 - PACKAGE="$(basename $PACKAGE .tazpkg 2>/dev/null)" 6.13 + PACKAGE="$(basename "$PACKAGE" .tazpkg 2>/dev/null)" 6.14 else 6.15 # Pkg name for remove, search and all other cmds 6.16 PACKAGE="${PACKAGE%.tazpkg}" 6.17 @@ -108,7 +108,6 @@ 6.18 6.19 6.20 6.21 - 6.22 #################### 6.23 # Script functions # 6.24 #################### 6.25 @@ -655,20 +654,20 @@ 6.26 mkdir -p $TMP_DIR 6.27 [ -n "$INSTALL_LIST" ] && echo "$PACKAGE_FILE" >> $ROOT$PKGS_DB/$INSTALL_LIST-processed 6.28 6.29 - title 'Installation of package "%s"' $PACKAGE 6.30 - 6.31 - print_short_description $PACKAGE 6.32 + title 'Installation of package "%s"' "$PACKAGE" 6.33 + 6.34 + print_short_description "$PACKAGE" 6.35 separator '-' 6.36 6.37 action 'Copying package...' 6.38 - cp $PACKAGE_FILE $TMP_DIR 6.39 + cp "$PACKAGE_FILE" "$TMP_DIR" 6.40 status 6.41 6.42 - cd $TMP_DIR 6.43 + cd "$TMP_DIR" 6.44 extract_package 6.45 - SELF_INSTALL=0 6.46 - EXTRAVERSION="" 6.47 - CONFIG_FILES="" 6.48 + SELF_INSTALL='0' 6.49 + EXTRAVERSION='' 6.50 + CONFIG_FILES='' 6.51 6.52 # Include temporary receipt to get the right variables. 6.53 . $PWD/receipt 6.54 @@ -2728,30 +2727,31 @@ 6.55 look_for_priority 6.56 6.57 CURRENT_DIR="$PWD" 6.58 - cd $CACHE_DIR 6.59 + cd "$CACHE_DIR" 6.60 if check_for_package_in_list check ; then 6.61 - cd $CACHE_DIR 6.62 + cd "$CACHE_DIR" 6.63 if [ -f "$PACKAGE.tazpkg" ]; then 6.64 - _ 'Package "%s" already in the cache' $PACKAGE 6.65 + _ 'Package "%s" already in the cache' "$PACKAGE" 6.66 # Check package download was finished 6.67 - tail -c 2k $PACKAGE.tazpkg | fgrep -q 00000000TRAILER || { 6.68 - _ 'Continuing package "%s" download' $PACKAGE 6.69 - download $PACKAGE.tazpkg 6.70 + tail -c 2k "$PACKAGE.tazpkg" | fgrep -q '00000000TRAILER' || { 6.71 + _ 'Continuing package "%s" download' "$PACKAGE" 6.72 + download "$PACKAGE.tazpkg" 6.73 } 6.74 - if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then 6.75 - rm -f $PACKAGE.tazpkg 6.76 - download $PACKAGE.tazpkg 6.77 + if [ "$($CHECKSUM $PACKAGE.tazpkg)" != \ 6.78 + "$(fgrep " $PACKAGE.tazpkg" "$rep/packages.$SUM")" ]; then 6.79 + rm -f "$PACKAGE.tazpkg" 6.80 + download "$PACKAGE.tazpkg" 6.81 fi 6.82 else 6.83 - download $PACKAGE.tazpkg 6.84 + download "$PACKAGE.tazpkg" 6.85 fi 6.86 PACKAGE_FILE="$CACHE_DIR/$PACKAGE.tazpkg" 6.87 - elif download_get_script $PACKAGE /tmp/$PACKAGE.$$ ; then 6.88 - install_package_from_get_script /tmp/$PACKAGE.$$ "$ROOT" --get 6.89 - PACKAGE_FILE=$(ls $PWD/$PACKAGE-*.tazpkg) 6.90 + elif download_get_script "$PACKAGE" "/tmp/$PACKAGE.$$" ; then 6.91 + install_package_from_get_script "/tmp/$PACKAGE.$$" "$ROOT" --get 6.92 + PACKAGE_FILE="$(ls "$PWD/$PACKAGE-*.tazpkg")" 6.93 fi 6.94 [ "$PWD" != "$CURRENT_DIR" ] && 6.95 - cp -a $PACKAGE_FILE $CURRENT_DIR 6.96 + cp -a "$PACKAGE_FILE" "$CURRENT_DIR" 6.97 ;; 6.98 6.99
7.1 --- a/tazpkg-box Thu Jun 04 00:15:13 2015 +0300 7.2 +++ b/tazpkg-box Thu Jun 04 17:15:40 2015 +0300 7.3 @@ -2,24 +2,21 @@ 7.4 # 7.5 # Small GTK boxes to TazPkg for deep desktop integration. PCManFM 0.5.x has a 7.6 # patch to extract a TazPkg file but not Thunar and other FM. TazPkgBox tries 7.7 -# to follow freedesktop standards. 7.8 +# to follow Freedesktop standards. 7.9 # 7.10 # Copyright (C) 2011-2015 SliTaz GNU/Linux - GNU GPL v2 7.11 # 7.12 # Authors: Christophe Lincoln <pankso@slitaz.org> 7.13 # 7.14 7.15 - 7.16 # Internationalization. 7.17 7.18 . /lib/libtaz.sh 7.19 -TEXTDOMAIN='tazpkg' 7.20 -export TEXTDOMAIN 7.21 +export TEXTDOMAIN='tazpkg' 7.22 7.23 -title="$(_ 'TazPkg')" 7.24 -text="$(_ 'SliTaz Package Action')" 7.25 -icon="/usr/share/pixmaps/tazpkg.png" 7.26 -opts="--image=tazpkg --image-on-top --center --on-top" 7.27 +text="<b>$(_ 'SliTaz Package Action')</b>" 7.28 +opts="--window-icon=tazpkg --image=tazpkg --image-on-top --center --on-top \ 7.29 +--height=260 --width=520 --title=TazPkg" 7.30 7.31 7.32 usage() { 7.33 @@ -32,19 +29,17 @@ 7.34 # Nice GTK output for install and extract. 7.35 7.36 output() { 7.37 - yad --text-info $opts --title="$title" --text="<b>$text</b>" \ 7.38 - --height=260 --width=520 --window-icon=$icon \ 7.39 - --tail --margins=4 --button="gtk-close:0" 7.40 + yad --text-info $opts --tail --margins='4' --text="$text" \ 7.41 + --button='gtk-close:0' 7.42 } 7.43 7.44 7.45 pkginfo() { 7.46 - tmp=/tmp/$(basename $0)/$$ 7.47 - mkdir -p $tmp; cd $tmp 7.48 - { cpio --quiet -i receipt > /dev/null 2>&1; } < ${dir}/$pkg 7.49 - . $tmp/receipt 7.50 - #rm -rf /tmp/$(basename $0) 7.51 - size=$(du -sh ${dir}/$pkg | awk '{print $1}') 7.52 + tmp="$(mktemp -d)"; cd "$tmp" 7.53 + { cpio --quiet -i receipt >/dev/null 2>&1; } < "$dir/$pkg" 7.54 + . "$tmp/receipt" 7.55 + rm -rf "$tmp" 7.56 + size=$(du -sh "$dir/$pkg" | awk '{print $1}') 7.57 echo -e "$(_ 'Package')\n$PACKAGE 7.58 $(_ 'Version')\n$VERSION 7.59 $(_ 'Short desc')\n$SHORT_DESC 7.60 @@ -56,16 +51,12 @@ 7.61 # Main GUI box function with pure Yad spec 7.62 7.63 actions_main() { 7.64 - pkgname=${pkg%.tazpkg} 7.65 - pkginfo | yad $opts --title="$title" \ 7.66 - --list --no-headers --no-click \ 7.67 - --height=260 --width=520 \ 7.68 - --text="<b>$text</b>" \ 7.69 - --window-icon=$icon \ 7.70 - --column "" --column "" \ 7.71 + pkgname="${pkg%.tazpkg}" 7.72 + pkginfo | yad $opts --list --no-headers --no-click --text="$text" \ 7.73 + --column '' --column '' \ 7.74 --button="$(_ 'Install'):3" \ 7.75 --button="$(_ 'Extract'):2" \ 7.76 - --button="gtk-cancel:1" 7.77 + --button='gtk-cancel:1' 7.78 } 7.79 7.80 7.81 @@ -73,13 +64,12 @@ 7.82 7.83 actions() { 7.84 # Store box results 7.85 - main=$(actions_main) 7.86 - ret=$? 7.87 + main="$(actions_main)" 7.88 # Deal with --button values 7.89 - case $ret in 7.90 + case "$?" in 7.91 1) exit 0 ;; 7.92 - 2) tazpkg extract $pkg . --output="raw" | output ;; 7.93 - 3) tazpkg -i $pkg . --forced --output="raw" | output ;; 7.94 + 2) tazpkg extract "$pkg" . --output='raw' | output ;; 7.95 + 3) tazpkg -i "$pkg" . --forced --output='raw' | output ;; 7.96 esac 7.97 } 7.98 7.99 @@ -87,11 +77,11 @@ 7.100 # TazPkg URL Handler. 7.101 7.102 dl_inst() { 7.103 - pkg=$(basename $url) 7.104 - _ 'Downloading: %s' $pkg; newline 7.105 - cd /tmp; wget $url 2>&1 7.106 - tazpkg -i $pkg --forced --output="raw" 2>&1 7.107 - rm -f $pkg 7.108 + pkg="$(basename $url)" 7.109 + _ 'Downloading: %s' "$pkg"; newline 7.110 + cd /tmp; wget "$url" 2>&1 7.111 + tazpkg -i "$pkg" --forced --output='raw' 2>&1 7.112 + rm -f "$pkg" 7.113 } 7.114 7.115 7.116 @@ -108,9 +98,9 @@ 7.117 url="http://${1#tazpkg://}" 7.118 dl_inst | output ;; 7.119 actions) 7.120 - pkg=$(basename $2) 7.121 - dir=$(dirname $2) 7.122 - cd $dir 7.123 + pkg="$(basename "$(realpath "${2%% }")")" # fight against strange space at the end 7.124 + dir="$(dirname "$(realpath "${2%% }")")" 7.125 + cd "$dir" 7.126 actions ;; 7.127 esac 7.128