tazpkg annotate lib/tazpkgbox/package_infos @ rev 143

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