# HG changeset patch # User Aleksej Bobylev # Date 1433427340 -10800 # Node ID a41fb2cbc248ba824e06d1c99e39342ebf92fb0e # Parent a73c9918a5dedbf6f95a819de6117a05a853a0d1 tazpkg-box, tazpkg: allow to get and install packages using folder with spaces in the path. diff -r a73c9918a5de -r a41fb2cbc248 applications/tazpkg-box.desktop --- a/applications/tazpkg-box.desktop Thu Jun 04 00:15:13 2015 +0300 +++ b/applications/tazpkg-box.desktop Thu Jun 04 17:15:40 2015 +0300 @@ -5,7 +5,7 @@ Name[pt]=Gerenciador de Pacotes TazPkg Name[pt_BR]=Gerenciador de Pacotes TazPkg Name[ru]=Менеджер пакетов TazPkg -Exec=tazbox su tazpkg-box actions ""%f"" +Exec=tazbox su tazpkg-box actions \"%f\" Icon=tazpkg NoDisplay=True MimeType=application/x-tazpkg; diff -r a73c9918a5de -r a41fb2cbc248 po/fr.po --- a/po/fr.po Thu Jun 04 00:15:13 2015 +0300 +++ b/po/fr.po Thu Jun 04 17:15:40 2015 +0300 @@ -1164,7 +1164,7 @@ #: tazpkg-box:19 msgid "TazPkg" -msgstr "" +msgstr "TazPkg" #: tazpkg-box:20 msgid "SliTaz Package Action" @@ -1939,9 +1939,6 @@ #~ msgid "Depends:" #~ msgstr "Dépendances :" -#~ msgid "TazPkg" -#~ msgstr "TazPkg" - #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" #~ msgstr "$PACKAGE_FILE ne semble pas être un paquet Archlinux ou Alpine !" diff -r a73c9918a5de -r a41fb2cbc248 po/pt_BR.po --- a/po/pt_BR.po Thu Jun 04 00:15:13 2015 +0300 +++ b/po/pt_BR.po Thu Jun 04 17:15:40 2015 +0300 @@ -1166,9 +1166,8 @@ msgstr "Formato não suportado" #: tazpkg-box:19 -#, fuzzy msgid "TazPkg" -msgstr "TazPkg SHell" +msgstr "TazPkg" #: tazpkg-box:20 msgid "SliTaz Package Action" @@ -1974,9 +1973,6 @@ #~ msgid "Depends:" #~ msgstr "Dependências:" -#~ msgid "TazPkg" -#~ msgstr "TazPkg" - #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" #~ msgstr "$PACKAGE_FILE não se parece com um pacote Archlinux/Alpine!" diff -r a73c9918a5de -r a41fb2cbc248 po/zh_CN.po --- a/po/zh_CN.po Thu Jun 04 00:15:13 2015 +0300 +++ b/po/zh_CN.po Thu Jun 04 17:15:40 2015 +0300 @@ -1145,9 +1145,8 @@ msgstr "不支持的格式" #: tazpkg-box:19 -#, fuzzy msgid "TazPkg" -msgstr "TazPkg SHell" +msgstr "TazPkg" #: tazpkg-box:20 msgid "SliTaz Package Action" @@ -1948,9 +1947,6 @@ #~ msgid "Depends:" #~ msgstr "依赖:" -#~ msgid "TazPkg" -#~ msgstr "TazPkg" - #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" #~ msgstr "$PACKAGE_FILE 并非 Archlinux/Alpine 包!" diff -r a73c9918a5de -r a41fb2cbc248 po/zh_TW.po --- a/po/zh_TW.po Thu Jun 04 00:15:13 2015 +0300 +++ b/po/zh_TW.po Thu Jun 04 17:15:40 2015 +0300 @@ -1148,9 +1148,8 @@ msgstr "不支持的格式" #: tazpkg-box:19 -#, fuzzy msgid "TazPkg" -msgstr "TazPkg SHell" +msgstr "TazPkg" #: tazpkg-box:20 msgid "SliTaz Package Action" @@ -1950,9 +1949,6 @@ #~ msgid "Depends:" #~ msgstr "依賴:" -#~ msgid "TazPkg" -#~ msgstr "TazPkg" - #~ msgid "$PACKAGE_FILE does not look like an Archlinux/Alpine package!" #~ msgstr "$PACKAGE_FILE 並非 Archlinux/Alpine 包!" diff -r a73c9918a5de -r a41fb2cbc248 tazpkg --- a/tazpkg Thu Jun 04 00:15:13 2015 +0300 +++ b/tazpkg Thu Jun 04 17:15:40 2015 +0300 @@ -80,11 +80,11 @@ COMMAND="$1" PACKAGE="${2%/}" -PACKAGE_DIR="$(cd $(dirname $PACKAGE 2>/dev/null) 2>/dev/null; pwd)" +PACKAGE_DIR="$(cd $(dirname "$PACKAGE" 2>/dev/null) 2>/dev/null; pwd)" [ -n "$PACKAGE" ] && PACKAGE_FILE="$PACKAGE_DIR/${PACKAGE##*/}" if [ -f "$PACKAGE" ]; then # Set pkg basename for install, extract - PACKAGE="$(basename $PACKAGE .tazpkg 2>/dev/null)" + PACKAGE="$(basename "$PACKAGE" .tazpkg 2>/dev/null)" else # Pkg name for remove, search and all other cmds PACKAGE="${PACKAGE%.tazpkg}" @@ -108,7 +108,6 @@ - #################### # Script functions # #################### @@ -655,20 +654,20 @@ mkdir -p $TMP_DIR [ -n "$INSTALL_LIST" ] && echo "$PACKAGE_FILE" >> $ROOT$PKGS_DB/$INSTALL_LIST-processed - title 'Installation of package "%s"' $PACKAGE - - print_short_description $PACKAGE + title 'Installation of package "%s"' "$PACKAGE" + + print_short_description "$PACKAGE" separator '-' action 'Copying package...' - cp $PACKAGE_FILE $TMP_DIR + cp "$PACKAGE_FILE" "$TMP_DIR" status - cd $TMP_DIR + cd "$TMP_DIR" extract_package - SELF_INSTALL=0 - EXTRAVERSION="" - CONFIG_FILES="" + SELF_INSTALL='0' + EXTRAVERSION='' + CONFIG_FILES='' # Include temporary receipt to get the right variables. . $PWD/receipt @@ -2728,30 +2727,31 @@ look_for_priority CURRENT_DIR="$PWD" - cd $CACHE_DIR + cd "$CACHE_DIR" if check_for_package_in_list check ; then - cd $CACHE_DIR + cd "$CACHE_DIR" if [ -f "$PACKAGE.tazpkg" ]; then - _ 'Package "%s" already in the cache' $PACKAGE + _ 'Package "%s" already in the cache' "$PACKAGE" # Check package download was finished - tail -c 2k $PACKAGE.tazpkg | fgrep -q 00000000TRAILER || { - _ 'Continuing package "%s" download' $PACKAGE - download $PACKAGE.tazpkg + tail -c 2k "$PACKAGE.tazpkg" | fgrep -q '00000000TRAILER' || { + _ 'Continuing package "%s" download' "$PACKAGE" + download "$PACKAGE.tazpkg" } - if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then - rm -f $PACKAGE.tazpkg - download $PACKAGE.tazpkg + if [ "$($CHECKSUM $PACKAGE.tazpkg)" != \ + "$(fgrep " $PACKAGE.tazpkg" "$rep/packages.$SUM")" ]; then + rm -f "$PACKAGE.tazpkg" + download "$PACKAGE.tazpkg" fi else - download $PACKAGE.tazpkg + download "$PACKAGE.tazpkg" fi PACKAGE_FILE="$CACHE_DIR/$PACKAGE.tazpkg" - elif download_get_script $PACKAGE /tmp/$PACKAGE.$$ ; then - install_package_from_get_script /tmp/$PACKAGE.$$ "$ROOT" --get - PACKAGE_FILE=$(ls $PWD/$PACKAGE-*.tazpkg) + elif download_get_script "$PACKAGE" "/tmp/$PACKAGE.$$" ; then + install_package_from_get_script "/tmp/$PACKAGE.$$" "$ROOT" --get + PACKAGE_FILE="$(ls "$PWD/$PACKAGE-*.tazpkg")" fi [ "$PWD" != "$CURRENT_DIR" ] && - cp -a $PACKAGE_FILE $CURRENT_DIR + cp -a "$PACKAGE_FILE" "$CURRENT_DIR" ;; diff -r a73c9918a5de -r a41fb2cbc248 tazpkg-box --- a/tazpkg-box Thu Jun 04 00:15:13 2015 +0300 +++ b/tazpkg-box Thu Jun 04 17:15:40 2015 +0300 @@ -2,24 +2,21 @@ # # Small GTK boxes to TazPkg for deep desktop integration. PCManFM 0.5.x has a # patch to extract a TazPkg file but not Thunar and other FM. TazPkgBox tries -# to follow freedesktop standards. +# to follow Freedesktop standards. # # Copyright (C) 2011-2015 SliTaz GNU/Linux - GNU GPL v2 # # Authors: Christophe Lincoln # - # Internationalization. . /lib/libtaz.sh -TEXTDOMAIN='tazpkg' -export TEXTDOMAIN +export TEXTDOMAIN='tazpkg' -title="$(_ 'TazPkg')" -text="$(_ 'SliTaz Package Action')" -icon="/usr/share/pixmaps/tazpkg.png" -opts="--image=tazpkg --image-on-top --center --on-top" +text="$(_ 'SliTaz Package Action')" +opts="--window-icon=tazpkg --image=tazpkg --image-on-top --center --on-top \ +--height=260 --width=520 --title=TazPkg" usage() { @@ -32,19 +29,17 @@ # Nice GTK output for install and extract. output() { - yad --text-info $opts --title="$title" --text="$text" \ - --height=260 --width=520 --window-icon=$icon \ - --tail --margins=4 --button="gtk-close:0" + yad --text-info $opts --tail --margins='4' --text="$text" \ + --button='gtk-close:0' } pkginfo() { - tmp=/tmp/$(basename $0)/$$ - mkdir -p $tmp; cd $tmp - { cpio --quiet -i receipt > /dev/null 2>&1; } < ${dir}/$pkg - . $tmp/receipt - #rm -rf /tmp/$(basename $0) - size=$(du -sh ${dir}/$pkg | awk '{print $1}') + tmp="$(mktemp -d)"; cd "$tmp" + { cpio --quiet -i receipt >/dev/null 2>&1; } < "$dir/$pkg" + . "$tmp/receipt" + rm -rf "$tmp" + size=$(du -sh "$dir/$pkg" | awk '{print $1}') echo -e "$(_ 'Package')\n$PACKAGE $(_ 'Version')\n$VERSION $(_ 'Short desc')\n$SHORT_DESC @@ -56,16 +51,12 @@ # Main GUI box function with pure Yad spec actions_main() { - pkgname=${pkg%.tazpkg} - pkginfo | yad $opts --title="$title" \ - --list --no-headers --no-click \ - --height=260 --width=520 \ - --text="$text" \ - --window-icon=$icon \ - --column "" --column "" \ + pkgname="${pkg%.tazpkg}" + pkginfo | yad $opts --list --no-headers --no-click --text="$text" \ + --column '' --column '' \ --button="$(_ 'Install'):3" \ --button="$(_ 'Extract'):2" \ - --button="gtk-cancel:1" + --button='gtk-cancel:1' } @@ -73,13 +64,12 @@ actions() { # Store box results - main=$(actions_main) - ret=$? + main="$(actions_main)" # Deal with --button values - case $ret in + case "$?" in 1) exit 0 ;; - 2) tazpkg extract $pkg . --output="raw" | output ;; - 3) tazpkg -i $pkg . --forced --output="raw" | output ;; + 2) tazpkg extract "$pkg" . --output='raw' | output ;; + 3) tazpkg -i "$pkg" . --forced --output='raw' | output ;; esac } @@ -87,11 +77,11 @@ # TazPkg URL Handler. dl_inst() { - pkg=$(basename $url) - _ 'Downloading: %s' $pkg; newline - cd /tmp; wget $url 2>&1 - tazpkg -i $pkg --forced --output="raw" 2>&1 - rm -f $pkg + pkg="$(basename $url)" + _ 'Downloading: %s' "$pkg"; newline + cd /tmp; wget "$url" 2>&1 + tazpkg -i "$pkg" --forced --output='raw' 2>&1 + rm -f "$pkg" } @@ -108,9 +98,9 @@ url="http://${1#tazpkg://}" dl_inst | output ;; actions) - pkg=$(basename $2) - dir=$(dirname $2) - cd $dir + pkg="$(basename "$(realpath "${2%% }")")" # fight against strange space at the end + dir="$(dirname "$(realpath "${2%% }")")" + cd "$dir" actions ;; esac