tazpkg annotate lib/tazpkgbox/package_infos @ rev 162

tazpkgbox: show SUGGESTED
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Oct 02 15:12:22 2008 +0000 (2008-10-02)
parents 0192ab29a1e0
children 0bca326f5992
rev   line source
pankso@81 1 #!/bin/sh
pankso@81 2 #
MikeDSmith25@135 3 # Dialog box to provide package info and actions
pankso@81 4 #
pankso@81 5
pankso@81 6 XTERM_OPTS="-geometry 80x16+120+120"
pankso@81 7
pankso@81 8 PKG=`cat /tmp/tazpkgbox/pkg | sed s/" "/""/g`
pascal@146 9 TMP_DIR=/tmp/tazpkg-$$-$RANDOM
pankso@81 10
pascal@97 11 if [ "$1" = "list_files" ]; then
pascal@143 12 AWK_FILTER='BEGIN { ls=0 } { if (/^===/) ls=1-ls; else if (ls) print; }'
pascal@143 13 CONF_FILES="$(tazpkg list-config $2 | awk "$AWK_FILTER")"
pascal@146 14 if [ -n "$CONF_FILES" ]; then
pascal@146 15 mkdir $TMP_DIR
pascal@146 16 zcat /var/lib/tazpkg/installed/$2/volatile.cpio.gz | \
pascal@146 17 ( cd $TMP_DIR ; cpio -id > /dev/null )
pascal@146 18 fi
pascal@143 19 tazpkg list-files $2 | awk "$AWK_FILTER" | while read file; do
pascal@156 20 echo -n "$(stat -c "%A|%U|%G|%s|%n|" "$file" || \
pascal@156 21 echo "File lost !||||$file")"
pascal@143 22 if [ -L "$file" ]; then
pascal@143 23 echo -n "$(readlink "$file")"
pascal@143 24 elif [ -f "$file" ]; then
pascal@143 25 case "$CONF_FILES" in
pascal@146 26 *$file*)
pascal@146 27 if cmp $file $TMP_DIR$file > /dev/null 2>&1; then
pascal@146 28 echo -n "[configuration]"
pascal@146 29 else
pascal@146 30 echo -n "$(stat -c "[configuration: %.16y]" $file)"
pascal@146 31 fi;;
pascal@143 32 esac
pascal@143 33 fi
pascal@143 34 echo ""
pascal@143 35 done
pascal@146 36 [ -n "$CONF_FILES" ] && rm -rf $TMP_DIR
pascal@97 37 exit 0
pascal@97 38 fi
pascal@97 39
pascal@99 40 if [ "$1" = "list_files_mirror" ]; then
pascal@99 41 unlzma -c /var/lib/tazpkg/files.list.lzma | grep -- "^$2:" | \
pascal@99 42 awk '{ print substr($0,index($0,":")+2) }'
pascal@99 43 exit 0
pascal@99 44 fi
pascal@99 45
pascal@97 46 export LIST_FILES="
pascal@97 47 <window title=\"$PKG files\" icon-name=\"system-file-manager\">
pascal@97 48 <vbox>
pascal@143 49 <tree exported_column=\"4\">
pascal@143 50 <variable>FILE</variable>
pascal@97 51 <width>600</width><height>160</height>
pascal@143 52 <label>Access | User | Group | Size | Name | Target</label>
pascal@97 53 <input> $0 list_files $PKG </input>
pascal@143 54 <action>tazpkg list-config $PKG | grep -q ^\$FILE$ && leafpad \$FILE</action>
pascal@97 55 </tree>
pascal@97 56 <hbox>
pascal@97 57 <button>
pascal@97 58 <input file icon=\"gtk-close\"></input>
pascal@97 59 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@97 60 </button>
pascal@97 61 </hbox>
pascal@97 62 </vbox>
pascal@97 63 </window>
pascal@97 64 "
pascal@97 65
pascal@99 66 export LIST_FILES_MIRROR="
pascal@99 67 <window title=\"$PKG files\" icon-name=\"system-file-manager\">
pascal@99 68 <vbox>
pascal@99 69 <tree>
pascal@99 70 <width>300</width><height>160</height>
pascal@99 71 <label>File Name</label>
pascal@99 72 <input> $0 list_files_mirror $PKG </input>
pascal@99 73 </tree>
pascal@99 74 <hbox>
pascal@99 75 <button>
pascal@99 76 <input file icon=\"gtk-close\"></input>
pascal@99 77 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@99 78 </button>
pascal@99 79 </hbox>
pascal@99 80 </vbox>
pascal@99 81 </window>
pascal@99 82 "
pascal@99 83
pankso@81 84 # Installed or not installed, that the question.
pankso@81 85 if [ -d /var/lib/tazpkg/installed/$PKG ]; then
pascal@87 86 PACKED_SIZE=""
pascal@88 87 DEPENDS=""
pascal@133 88 MAINTAINER=""
pankso@81 89 . /var/lib/tazpkg/installed/$PKG/receipt
pascal@133 90 MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g')
pascal@87 91 PACKAGE_INFOS="
pankso@81 92 <window title=\"Package: $PKG\" icon-name=\"package-x-generic\">
pankso@81 93 <vbox>
pankso@81 94
pankso@81 95 <tree>
pankso@81 96 <width>460</width><height>160</height>
pascal@150 97 <label>$PKG|$SHORT_DESC</label>
pascal@131 98 <variable>FIELD</variable>
pankso@81 99 <item icon=\"tazpkg\">Version: | $VERSION</item>
pascal@88 100 <item icon=\"tazpkg\">Category: | $CATEGORY</item>"
pascal@88 101 [ -n "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@131 102 <item icon=\"tazpkg\">Depends: | $(echo $DEPENDS)</item>"
pascal@162 103 [ -n "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@162 104 <item icon=\"tazpkg\">Suggested: | $(echo $SUGGESTED)</item>"
pascal@87 105 [ -n "$PACKED_SIZE" ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@87 106 <item icon=\"tazpkg\">Size: | $PACKED_SIZE ($UNPACKED_SIZE installed)</item>"
pascal@132 107 [ -n "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@132 108 <item icon=\"system-users\">Maintainer: | $MAINTAINER</item>"
pascal@87 109 PACKAGE_INFOS="$PACKAGE_INFOS
pankso@81 110 <item icon=\"applications-internet\">Web site: | $WEB_SITE</item>
pascal@131 111 <action>case \$FIELD in Web*) firefox $WEB_SITE &;; esac</action>
pankso@81 112 </tree>
pankso@81 113
pascal@92 114 <hbox>"
pascal@130 115 [ $CATEGORY = non-free -a ! -d /var/lib/tazpkg/installed/${PKG#get-} ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@130 116 <button>
pascal@130 117 <label>Install</label>
pascal@130 118 <input file icon=\"go-next\"></input>
pascal@130 119 <action>xterm -T \"Install ${PKG#get-}\" $XTERM_OPTS -e \"\
pascal@130 120 $PKG; sleep 5\"</action>
pascal@130 121 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@130 122 </button>"
pascal@92 123 grep -q post_install /var/lib/tazpkg/installed/$PKG/receipt && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@92 124 <button>
pascal@92 125 <label>Reconfigure</label>
pascal@92 126 <input file icon=\"reload\"></input>
pascal@92 127 <action>xterm -T \"Reconfigure $PACKAGE\" $XTERM_OPTS -e \"\
pascal@92 128 tazpkg reconfigure $PACKAGE; sleep 2\"</action>
pascal@92 129 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@92 130 </button>"
pascal@153 131 if grep -qs ^$PKG$ /var/lib/tazpkg/blocked-packages.list; then
pascal@93 132 PACKAGE_INFOS="$PACKAGE_INFOS
pascal@93 133 <button>
pascal@93 134 <label>Unblock</label>
pascal@93 135 <input file icon=\"up\"></input>
pascal@93 136 <action>xterm -T \"Unblock $PACKAGE\" $XTERM_OPTS -e \"\
pascal@93 137 tazpkg unblock $PACKAGE; sleep 2\"</action>
pascal@93 138 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@93 139 </button>"
pascal@93 140 else
pascal@93 141 PACKAGE_INFOS="$PACKAGE_INFOS
pascal@93 142 <button>
pascal@93 143 <label>Block</label>
pascal@93 144 <input file icon=\"down\"></input>
pascal@93 145 <action>xterm -T \"Block $PACKAGE\" $XTERM_OPTS -e \"\
pascal@93 146 tazpkg block $PACKAGE; sleep 2\"</action>
pascal@93 147 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@93 148 </button>"
pascal@93 149 fi
pascal@92 150 PACKAGE_INFOS="$PACKAGE_INFOS
pankso@81 151 <button>
pankso@81 152 <label>Remove</label>
pankso@81 153 <input file icon=\"edit-delete\"></input>
pankso@81 154 <action>xterm -T \"Remove $PACKAGE\" $XTERM_OPTS -e \"\
pankso@81 155 tazpkg remove $PACKAGE; sleep 2\"</action>
pankso@81 156 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pankso@81 157 </button>
pankso@81 158 <button>
pankso@81 159 <label>Repack</label>
pankso@81 160 <input file icon=\"edit-redo\"></input>
pankso@81 161 <action>xterm -T \"Repack $PACKAGE\" $XTERM_OPTS -e \"\
pankso@81 162 cd /var/cache/tazpkg; \
pankso@81 163 tazpkg repack $PACKAGE; sleep 2\"</action>
pankso@81 164 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pankso@81 165 </button>
pankso@81 166 <button>
pascal@97 167 <label>Files</label>
pascal@97 168 <input file icon=\"tazpkg\"></input>
pascal@97 169 <action type=\"launch\">LIST_FILES</action>
pascal@97 170 </button>
pascal@97 171 <button>
pankso@81 172 <input file icon=\"gtk-close\"></input>
pankso@81 173 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pankso@81 174 </button>
pankso@81 175 </hbox>
pankso@81 176
pankso@81 177 </vbox>
pankso@81 178 </window>
pankso@81 179 "
pascal@87 180 export PACKAGE_INFOS
pankso@81 181 else
pankso@81 182 RES=`grep "^$PKG" /var/lib/tazpkg/packages.desc | head -n 1`
pankso@81 183 PACKAGE=`echo "$RES" | cut -d "|" -f 1`
pankso@81 184 VERSION=`echo "$RES" | cut -d "|" -f 2`
pascal@150 185 SHORT_DESC=`echo "$RES" | cut -d "|" -f 3`
pankso@81 186 CATEGORY=`echo "$RES" | cut -d "|" -f 4`
pankso@81 187 WEB_SITE=`echo "$RES" | cut -d "|" -f 5`
pascal@90 188 SIZES=`grep -A 3 "^$(echo $PACKAGE)$" /var/lib/tazpkg/packages.txt | tail -1`
pascal@90 189 PACKAGE_INFOS="
pankso@81 190 <window title=\"Package: $PACKAGE\" icon-name=\"package-x-generic\">
pankso@81 191 <vbox>
pankso@81 192
pankso@81 193 <tree>
pankso@81 194 <width>460</width><height>140</height>
pascal@150 195 <label>$PKG|$SHORT_DESC</label>
pankso@81 196 <item icon=\"tazpkg\">Name: | $PACKAGE</item>
pankso@81 197 <item icon=\"tazpkg\">Version: | $VERSION</item>
pascal@90 198 <item icon=\"tazpkg\">Category: | $CATEGORY</item>"
pascal@90 199 [ -n "$SIZES" ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@90 200 <item icon=\"tazpkg\">Size: | $SIZES</item>"
pascal@90 201 PACKAGE_INFOS="$PACKAGE_INFOS
pankso@81 202 <item icon=\"applications-internet\">Web site: | $WEB_SITE</item>
pankso@81 203 </tree>
pankso@81 204
pascal@130 205 <hbox>"
pascal@130 206 [ $CATEGORY = non-free ] && PACKAGE_INFOS="$PACKAGE_INFOS
pascal@130 207 <checkbox>
pascal@130 208 <label>Auto exec</label>
pascal@130 209 <variable>AUTO_EXEC</variable>
pascal@130 210 <default>true</default>
pascal@130 211 </checkbox>"
pascal@130 212 PACKAGE_INFOS="$PACKAGE_INFOS
pascal@130 213 <checkbox>
pascal@130 214 <label>Auto install depends</label>
pascal@130 215 <variable>AUTO_DEPENDS</variable>
pascal@130 216 <default>true</default>
pascal@130 217 </checkbox>
pankso@81 218 <button>
pankso@81 219 <label>Get-install</label>
pankso@81 220 <input file icon=\"go-next\"></input>
pankso@81 221 <action>xterm -T \"Install $PACKAGE\" $XTERM_OPTS -e \"\
pascal@130 222 if [ \$AUTO_DEPENDS != true ]; then tazpkg get-install $PACKAGE;\
pascal@130 223 else yes y | tazpkg get-install $PACKAGE; fi; \
pascal@130 224 [ \${AUTO_EXEC}$CATEGORY = truenon-free ] && $PACKAGE; \
pascal@130 225 sleep 2\"</action>
pankso@81 226 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action>
pankso@81 227 </button>
pankso@81 228 <button>
pankso@81 229 <label>Get</label>
pankso@81 230 <input file icon=\"go-next\"></input>
pankso@81 231 <action>xterm -T \"Get $PACKAGE\" $XTERM_OPTS -e \"\
pankso@81 232 cd /var/cache/tazpkg; tazpkg get $PACKAGE; sleep 2\"</action>
pankso@81 233 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action>
pankso@81 234 </button>
pankso@81 235 <button>
pascal@99 236 <label>Files</label>
pascal@99 237 <input file icon=\"tazpkg\"></input>
pascal@99 238 <action type=\"launch\">LIST_FILES_MIRROR</action>
pascal@99 239 </button>
pascal@99 240 <button>
pankso@81 241 <input file icon=\"gtk-close\"></input>
pankso@81 242 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action>
pankso@81 243 </button>
pankso@81 244 </hbox>
pankso@81 245
pankso@81 246 </vbox>
pankso@81 247 </window>
pankso@81 248 "
pascal@90 249 export PACKAGE_INFOS
pankso@81 250 fi
pankso@81 251
pankso@81 252 gtkdialog --center --program=PACKAGE_INFOS
pankso@81 253
pankso@81 254 exit 0