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