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