tazpanel rev 23
Rename tazpkg.cgi to pkgs.cgi
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Apr 05 01:42:16 2011 +0200 (2011-04-05) |
parents | c630f623ac7c |
children | fa19c333f9c6 |
files | Makefile pkgs.cgi po/tazpanel-pkgs/tazpkg-cgi.pot po/tazpkg-cgi/tazpkg-cgi.pot styles/default/header.html tazpkg.cgi |
line diff
1.1 --- a/Makefile Tue Apr 05 01:34:37 2011 +0200 1.2 +++ b/Makefile Tue Apr 05 01:42:16 2011 +0200 1.3 @@ -11,12 +11,15 @@ 1.4 # i18n 1.5 1.6 pot: 1.7 - xgettext -o po/tazpkg-cgi/tazpkg-cgi.pot -L Shell \ 1.8 - --package-name="Tazpkg CGI" \ 1.9 + xgettext -o po/tazpanel-pkgs/tazpanel-pkgs.pot -L Shell \ 1.10 + --package-name="Tazpanel pkgs CGI" \ 1.11 --package-version="$(VERSION)" ./tazpkg.cgi 1.12 xgettext -o po/tazpanel/tazpanel.pot -L Shell \ 1.13 --package-name="TazPanel cmdline" \ 1.14 --package-version="$(VERSION)" ./tazpanel 1.15 + xgettext -o po/tazpanel-cgi/tazpanel-cgi.pot -L Shell \ 1.16 + --package-name="TazPanel CGI" \ 1.17 + --package-version="$(VERSION)" ./index.cgi 1.18 1.19 msgmerge: 1.20 @for l in $(LINGUAS); do \
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/pkgs.cgi Tue Apr 05 01:42:16 2011 +0200 2.3 @@ -0,0 +1,400 @@ 2.4 +#!/bin/sh 2.5 +# 2.6 +# TazPKG CGI interface - Manage packages via the a browse 2.7 +# 2.8 +# This CGI interface intensively use tazpkg to manage package and have 2.9 +# it how code for some tasks. Please KISS it important and keep speed 2.10 +# in mind. Thanks, Pankso. 2.11 +# 2.12 +# (C) 2011 SliTaz GNU/Linux - GNU gpl v2 2.13 +# 2.14 +echo "Content-Type: text/html" 2.15 +echo "" 2.16 + 2.17 +. lib/libtazpanel 2.18 +get_config 2.19 + 2.20 +# Include gettext helper script. 2.21 +. /usr/bin/gettext.sh 2.22 + 2.23 +# Export package name for gettext. 2.24 +TEXTDOMAIN='tazpanel-pkgs' 2.25 +export TEXTDOMAIN 2.26 + 2.27 +# xHTML 5 header 2.28 +cat $HEADER | sed s'/%TITLE%/Tazpkg/' 2.29 + 2.30 +# DEBUG mode 2.31 +if [ $DEBUG == "1" ]; then 2.32 + echo "<p class='debug'>$REQUEST_METHOD ${QUERY_STRING}</p>" 2.33 +fi 2.34 + 2.35 +# We need packages information for list and search 2.36 +parse_packages_desc() { 2.37 +while read line 2.38 + do 2.39 + echo '<tr>' 2.40 + pkg=$(echo $line | cut -d "|" -f 1) 2.41 + vers=$(echo $line | cut -d "|" -f 2) 2.42 + desc=$(echo $line | cut -d "|" -f 3) 2.43 + web=$(echo $line | cut -d "|" -f 5) 2.44 + if [ -d $INSTALLED/$pkg ]; then 2.45 + echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n 2.46 + <img src='$IMAGES/tazpkg-installed.png'/>$pkg</td>" 2.47 + else 2.48 + echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n 2.49 + <img src='$IMAGES/tazpkg.png'/>$pkg</td>" 2.50 + fi 2.51 + echo "<td>$vers</td>" 2.52 + echo "<td class='desc'>$desc</td>" 2.53 + echo "<td><a href='$web'>web</a></td>" 2.54 + echo '</tr>' 2.55 + done 2.56 +} 2.57 + 2.58 +# Remove status and ESC char from tazpkg commands output 2.59 +filter_tazpkg_msgs() { 2.60 + grep ^[a-zA-Z0-9] | sed s'/\.*\]//' 2.61 +} 2.62 + 2.63 +# Display a full summary of packages stats 2.64 +packages_summary() { 2.65 + gettext "Installed packages : " 2.66 + ls $INSTALLED | wc -l 2.67 + gettext "Mirrored packages : " 2.68 + cat $LOCALSTATE/packages.list | wc -l 2.69 + gettext "Last recharge : " 2.70 + stat -c %y $LOCALSTATE/packages.list | sed 's/\(:..\):.*/\1/' 2.71 + gettext "Upgradeable packages : " 2.72 + cat $LOCALSTATE/upgradeable-packages.list | wc -l 2.73 + gettext "Installed files : " 2.74 + cat $INSTALLED/*/files.list | wc -l 2.75 + gettext "Blocked packages : " 2.76 + cat $LOCALSTATE/blocked-packages.list | wc -l 2.77 +} 2.78 + 2.79 +# Parse mirrors list to be able to have an icon an remove link 2.80 +list_mirrors() { 2.81 + cat $LOCALSTATE/mirrors | while read line 2.82 + do 2.83 + cat << EOT 2.84 +<li><a href="$SCRIPT_NAME?config=rm-mirror=$line"><img 2.85 + src="$IMAGES/clear.png" /></a><a href="$line">$line</a></li> 2.86 +EOT 2.87 + done 2.88 +} 2.89 + 2.90 +# 2.91 +# xHTML functions 2.92 +# 2.93 + 2.94 +# ENTER will search but user may search for a button, so put one. 2.95 +search_form() { 2.96 + cat << EOT 2.97 +<div class="search"> 2.98 + <form method="get" action="$SCRIPT_NAME"> 2.99 + <p> 2.100 + <input type="text" name="search" size="20"> 2.101 + <input type="submit" value="`gettext "Search"`"> 2.102 + </p> 2.103 + </form> 2.104 +</div> 2.105 +EOT 2.106 +} 2.107 + 2.108 +table_head() { 2.109 + cat << EOT 2.110 + <tr id="thead"> 2.111 + <td>`gettext "Name"`</td> 2.112 + <td>`gettext "Version"`</td> 2.113 + <td>`gettext "Description"`</td> 2.114 + <td>`gettext "Web"`</td> 2.115 + </tr> 2.116 +EOT 2.117 +} 2.118 + 2.119 +sub_block() { 2.120 + cat << EOT 2.121 +<div id="sub_block"> 2.122 + <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 2.123 + <a href='$SCRIPT_NAME?list-all'>`gettext "All packages"`</a> | 2.124 + <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge list"`</a> | 2.125 + <a href='$SCRIPT_NAME?upgradeable'>`gettext "Upgrade"`</a> | 2.126 + <a href='$SCRIPT_NAME?config'>`gettext "Configuration"`</a> 2.127 +</div> 2.128 +EOT 2.129 +} 2.130 + 2.131 +# For my packages list 2.132 +list_actions() { 2.133 + cat << EOT 2.134 +<p> 2.135 + `gettext "Selection:"` 2.136 + <input type="submit" name="do" value="remove" /> 2.137 +</p> 2.138 +EOT 2.139 +} 2.140 + 2.141 +# For list-all 2.142 +list_all_actions() { 2.143 + cat << EOT 2.144 +<p> 2.145 + `gettext "Selection:"` 2.146 + <input type="submit" name="do" value="install" /> 2.147 + <input type="submit" name="do" value="remove" /> 2.148 +</p> 2.149 +EOT 2.150 +} 2.151 + 2.152 +# For search and upgrade with JS function to toogle all pkgs 2.153 +list_full_actions() { 2.154 + cat << EOT 2.155 +<p> 2.156 + `gettext "Selection:"` 2.157 + <input type="submit" name="do" value="install" /> 2.158 + <input type="submit" name="do" value="remove" /> 2.159 + <a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a> 2.160 +</p> 2.161 +EOT 2.162 +} 2.163 + 2.164 +# 2.165 +# Commands 2.166 +# 2.167 + 2.168 +case "$QUERY_STRING" in 2.169 + list) 2.170 + # List installed packages. This is the default because parsing 2.171 + # the full packages.desc can be long and take some resources 2.172 + cd $INSTALLED 2.173 + search_form 2.174 + sub_block 2.175 + cat << EOT 2.176 +<h2>`gettext "My packages"`</h2> 2.177 +<form method='get' action='$SCRIPT_NAME'> 2.178 +<div id="actions"> 2.179 +EOT 2.180 + list_actions 2.181 + echo '</div>' 2.182 + table_start 2.183 + for pkg in * 2.184 + do 2.185 + . $pkg/receipt 2.186 + echo '<tr>' 2.187 + # Use default tazpkg icon since all packages displayed are 2.188 + # installed 2.189 + echo "<td class='pkg'> 2.190 + <input type='checkbox' name='pkg' value=\"$pkg\" /> 2.191 + <a href='$SCRIPT_NAME?info=$pkg'><img 2.192 + src='$IMAGES/tazpkg-installed.png'/></a>$pkg</td>" 2.193 + echo "<td>$VERSION</td>" 2.194 + echo "<td class='desc'>$SHORT_DESC</td>" 2.195 + echo "<td><a href='$WEB_SITE'>web</a></td>" 2.196 + echo '</tr>' 2.197 + done 2.198 + table_end 2.199 + list_actions 2.200 + echo '</form>' ;; 2.201 + list-all) 2.202 + # List all available packages on mirror 2.203 + cd $LOCALSTATE 2.204 + search_form 2.205 + sub_block 2.206 + cat << EOT 2.207 +<h2>`gettext "All packages"`</h2> 2.208 +<form method='get' action='$SCRIPT_NAME'> 2.209 +<div id="actions"> 2.210 +EOT 2.211 + list_all_actions 2.212 + echo '</div>' 2.213 + table_start 2.214 + table_head 2.215 + cat packages.desc | parse_packages_desc 2.216 + table_end 2.217 + list_all_actions 2.218 + echo '</form>' ;; 2.219 + search=*) 2.220 + # Search for packages 2.221 + pkg=${QUERY_STRING#*=} 2.222 + cd $LOCALSTATE 2.223 + search_form 2.224 + sub_block 2.225 + cat << EOT 2.226 +<h2>`gettext "Search packages"`</h2> 2.227 +<form method="get" action="$SCRIPT_NAME"> 2.228 +<div id="actions"> 2.229 +EOT 2.230 + list_full_actions 2.231 + echo '</div>' 2.232 + table_start 2.233 + table_head 2.234 + grep $pkg packages.desc | parse_packages_desc 2.235 + table_end 2.236 + echo '</form>' ;; 2.237 + recharge) 2.238 + # Let recharge the packages list 2.239 + search_form 2.240 + sub_block 2.241 + cat << EOT 2.242 +<h2>`gettext "Recharge"`</h2> 2.243 +<form method='get' action='$SCRIPT_NAME'> 2.244 +<div id="actions"> 2.245 + <p> 2.246 + `gettext "Recharge will check for new or updated packages... 2.247 + please wait"` 2.248 + </p> 2.249 +</div> 2.250 +<pre> 2.251 +EOT 2.252 + tazpkg recharge | filter_tazpkg_msgs 2.253 + echo '</pre>' 2.254 + echo '<p>' 2.255 + gettext "Packages lists are up-to-date" 2.256 + echo '</p>' ;; 2.257 + upgradeable) 2.258 + cd $LOCALSTATE 2.259 + search_form 2.260 + sub_block 2.261 + cat << EOT 2.262 +<h2>`gettext "Upgradeable packages"`</h2> 2.263 +<form method="get" action="$SCRIPT_NAME"> 2.264 +<div id="actions"> 2.265 +EOT 2.266 + list_full_actions 2.267 + tazpkg upgradeable 2.268 + echo '</div>' 2.269 + table_start 2.270 + table_head 2.271 + for pkg in `cat upgradeable-packages.list` 2.272 + do 2.273 + grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc 2.274 + done 2.275 + table_end 2.276 + echo '</form>' ;; 2.277 + do=*) 2.278 + # Do an action on one or some packages 2.279 + cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'` 2.280 + cmd=`echo ${cmdline} | awk '{print $1}'` 2.281 + pkgs=`echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//` 2.282 + [ $cmd == install ] && cmd=get-install opt=--forced 2.283 + search_form 2.284 + sub_block 2.285 + cat << EOT 2.286 +<h2>Tazpkg: $cmd</h2> 2.287 +<form method="get" action="$SCRIPT_NAME"> 2.288 +<div id="actions"> 2.289 +<p> 2.290 +EOT 2.291 + gettext "Performing task on packages" 2.292 + echo '</p></div>' 2.293 + echo '<pre class="pre_main">' 2.294 + gettext "Executing $cmd for:$pkgs" 2.295 + echo '</pre>' 2.296 + for pkg in $pkgs 2.297 + do 2.298 + echo '<pre>' 2.299 + echo 'y' | tazpkg $cmd $pkg $opt 2>/dev/null | filter_tazpkg_msgs 2.300 + echo '</pre>' 2.301 + done ;; 2.302 + info=*) 2.303 + pkg=${QUERY_STRING#*=} 2.304 + search_form 2.305 + sub_block 2.306 + . $INSTALLED/$pkg/receipt 2.307 + cat << EOT 2.308 +<h2>`gettext "Package info"`</h2> 2.309 +<div id="actions"> 2.310 + <p>`gettext "Detailled information on:"` $PACKAGE</p> 2.311 +</div> 2.312 +<pre> 2.313 +Name : $PACKAGE 2.314 +Version : $VERSION 2.315 +Description : $SHORT_DESC 2.316 +Maintainer : $MAINTAINER 2.317 +Depends : `for i in $DEPENDS; do echo -n \ 2.318 + "<a href="$SCRIPT_NAME?info=$i">$i</a> "; done` 2.319 +Website : <a href="$WEB_SITE">$WEB_SITE</a> 2.320 +Sizes : $PACKED_SIZE/$UNPACKED_SIZE 2.321 +Files : `cat $INSTALLED/$pkg/files.list | wc -l` 2.322 +</pre> 2.323 + 2.324 +<p>`gettext "Installed files"`</p> 2.325 +<pre> 2.326 +`cat $INSTALLED/$pkg/files.list` 2.327 +</pre> 2.328 +EOT 2.329 + ;; 2.330 + config*) 2.331 + # Tazpkg configuration page 2.332 + cmd=${QUERY_STRING#*=} 2.333 + case "$cmd" in 2.334 + clean) 2.335 + rm -rf /var/cache/tazpkg/* ;; 2.336 + add-mirror*=http*|add-mirror*=ftp*) 2.337 + # Decode url 2.338 + mirror=`httpd -d ${cmd#*=}` 2.339 + echo "$mirror" >> $LOCALSTATE/mirrors ;; 2.340 + rm-mirror=http://*|rm-mirror=ftp://*) 2.341 + mirror=${QUERY_STRING#*=rm-mirror=} 2.342 + sed -i -e "s@$mirror@@" -e '/^$/d' $LOCALSTATE/mirrors ;; 2.343 + esac 2.344 + cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l` 2.345 + cache_size=`du -sh /var/cache/tazpkg` 2.346 + sub_block 2.347 + cat << EOT 2.348 +<h2>`gettext "Configuration"`</h2> 2.349 +<div> 2.350 + <p>`gettext "Tazpkg configuration and settings"`</p> 2.351 +</div> 2.352 +<div> 2.353 + <form method="get" action="$SCRIPT_NAME"> 2.354 + <p> 2.355 + `gettext "Packages in the cache:"` $cache_files ($cache_size) 2.356 + <input type="hidden" name="config" value="clean" /> 2.357 + <input type="submit" value="Clean" /> 2.358 + </p> 2.359 + </form> 2.360 +</div> 2.361 + 2.362 +<h3>`gettext "Current mirror list"`</h3> 2.363 +<div class="box"> 2.364 + <ul> 2.365 + `list_mirrors` 2.366 + </ul> 2.367 +</div> 2.368 +<form method="get" action="$SCRIPT_NAME"> 2.369 + <p> 2.370 + <input type="hidden" name="config" value="add-mirror" /> 2.371 + <input type="text" name="mirror" size="60"> 2.372 + <input type="submit" value="Add mirror" /> 2.373 + </p> 2.374 +</form> 2.375 +EOT 2.376 + ;; 2.377 + *) 2.378 + # 2.379 + # Default to summary 2.380 + # 2.381 + search_form 2.382 + sub_block 2.383 + cat << EOT 2.384 +<h2>`gettext "Summary"`</h2> 2.385 +<div id="actions"> 2.386 + <p>`gettext "Overview of all installed and mirrored packages"`</p> 2.387 +</div> 2.388 +<pre class="pre_main"> 2.389 +`packages_summary` 2.390 +</pre> 2.391 +<h3>`gettext "Latest log entries"`</h3> 2.392 +<pre> 2.393 +`tail -n 6 /var/log/tazpkg.log | fgrep "-" | \ 2.394 + awk '{print $1, $2, $3, $4, $5, $6, $7}'` 2.395 +</pre> 2.396 + 2.397 +EOT 2.398 + ;; 2.399 +esac 2.400 + 2.401 +# xHTML 5 footer 2.402 +cd $PANEL && xhtml_footer 2.403 +exit 0
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/po/tazpanel-pkgs/tazpkg-cgi.pot Tue Apr 05 01:42:16 2011 +0200 3.3 @@ -0,0 +1,154 @@ 3.4 +# SOME DESCRIPTIVE TITLE. 3.5 +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3.6 +# This file is distributed under the same license as the PACKAGE package. 3.7 +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 3.8 +# 3.9 +#, fuzzy 3.10 +msgid "" 3.11 +msgstr "" 3.12 +"Project-Id-Version: Tazpkg CGI 1.0\n" 3.13 +"Report-Msgid-Bugs-To: \n" 3.14 +"POT-Creation-Date: 2011-04-03 17:41+0200\n" 3.15 +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 3.16 +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 3.17 +"Language-Team: LANGUAGE <LL@li.org>\n" 3.18 +"Language: \n" 3.19 +"MIME-Version: 1.0\n" 3.20 +"Content-Type: text/plain; charset=CHARSET\n" 3.21 +"Content-Transfer-Encoding: 8bit\n" 3.22 + 3.23 +#: tazpkg.cgi:61 3.24 +msgid "Installed packages : " 3.25 +msgstr "" 3.26 + 3.27 +#: tazpkg.cgi:63 3.28 +msgid "Mirrored packages : " 3.29 +msgstr "" 3.30 + 3.31 +#: tazpkg.cgi:65 3.32 +msgid "Last recharge : " 3.33 +msgstr "" 3.34 + 3.35 +#: tazpkg.cgi:67 3.36 +msgid "Upgradeable packages : " 3.37 +msgstr "" 3.38 + 3.39 +#: tazpkg.cgi:69 3.40 +msgid "Installed files : " 3.41 +msgstr "" 3.42 + 3.43 +#: tazpkg.cgi:71 3.44 +msgid "Blocked packages : " 3.45 +msgstr "" 3.46 + 3.47 +#: tazpkg.cgi:96 3.48 +msgid "Search" 3.49 +msgstr "" 3.50 + 3.51 +#: tazpkg.cgi:108 3.52 +msgid "Name" 3.53 +msgstr "" 3.54 + 3.55 +#: tazpkg.cgi:109 3.56 +msgid "Version" 3.57 +msgstr "" 3.58 + 3.59 +#: tazpkg.cgi:110 3.60 +msgid "Description" 3.61 +msgstr "" 3.62 + 3.63 +#: tazpkg.cgi:111 3.64 +msgid "Web" 3.65 +msgstr "" 3.66 + 3.67 +#: tazpkg.cgi:126 tazpkg.cgi:180 3.68 +msgid "My packages" 3.69 +msgstr "" 3.70 + 3.71 +#: tazpkg.cgi:127 tazpkg.cgi:212 tazpkg.cgi:230 3.72 +msgid "All packages" 3.73 +msgstr "" 3.74 + 3.75 +#: tazpkg.cgi:128 3.76 +msgid "Recharge list" 3.77 +msgstr "" 3.78 + 3.79 +#: tazpkg.cgi:129 3.80 +msgid "Upgrade" 3.81 +msgstr "" 3.82 + 3.83 +#: tazpkg.cgi:130 tazpkg.cgi:348 3.84 +msgid "Configuration" 3.85 +msgstr "" 3.86 + 3.87 +#: tazpkg.cgi:139 tazpkg.cgi:149 tazpkg.cgi:160 3.88 +msgid "Selection:" 3.89 +msgstr "" 3.90 + 3.91 +#: tazpkg.cgi:163 3.92 +msgid "Toogle all" 3.93 +msgstr "" 3.94 + 3.95 +#: tazpkg.cgi:245 3.96 +msgid "Recharge" 3.97 +msgstr "" 3.98 + 3.99 +#: tazpkg.cgi:248 3.100 +msgid "Recharge lists will check for new or updated packages" 3.101 +msgstr "" 3.102 + 3.103 +#: tazpkg.cgi:252 3.104 +msgid "Recharging the packages list... please wait" 3.105 +msgstr "" 3.106 + 3.107 +#: tazpkg.cgi:256 3.108 +msgid "Packages lists are up-to-date" 3.109 +msgstr "" 3.110 + 3.111 +#: tazpkg.cgi:263 3.112 +msgid "Upgradeable packages" 3.113 +msgstr "" 3.114 + 3.115 +#: tazpkg.cgi:291 3.116 +msgid "Performing task on packages" 3.117 +msgstr "" 3.118 + 3.119 +#: tazpkg.cgi:308 3.120 +msgid "Package info" 3.121 +msgstr "" 3.122 + 3.123 +#: tazpkg.cgi:310 3.124 +msgid "Detailled information on:" 3.125 +msgstr "" 3.126 + 3.127 +#: tazpkg.cgi:324 3.128 +msgid "Installed files" 3.129 +msgstr "" 3.130 + 3.131 +#: tazpkg.cgi:350 3.132 +msgid "Tazpkg configuration and settings" 3.133 +msgstr "" 3.134 + 3.135 +#: tazpkg.cgi:353 3.136 +msgid "Package in cache" 3.137 +msgstr "" 3.138 + 3.139 +#: tazpkg.cgi:356 3.140 +msgid "Packages in the cache:" 3.141 +msgstr "" 3.142 + 3.143 +#: tazpkg.cgi:362 3.144 +msgid "Current mirror list" 3.145 +msgstr "" 3.146 + 3.147 +#: tazpkg.cgi:384 3.148 +msgid "Summary" 3.149 +msgstr "" 3.150 + 3.151 +#: tazpkg.cgi:386 3.152 +msgid "Overview of all installed and mirrored packages" 3.153 +msgstr "" 3.154 + 3.155 +#: tazpkg.cgi:391 3.156 +msgid "Latest log entries" 3.157 +msgstr ""
4.1 --- a/po/tazpkg-cgi/tazpkg-cgi.pot Tue Apr 05 01:34:37 2011 +0200 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,154 +0,0 @@ 4.4 -# SOME DESCRIPTIVE TITLE. 4.5 -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 4.6 -# This file is distributed under the same license as the PACKAGE package. 4.7 -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 4.8 -# 4.9 -#, fuzzy 4.10 -msgid "" 4.11 -msgstr "" 4.12 -"Project-Id-Version: Tazpkg CGI 1.0\n" 4.13 -"Report-Msgid-Bugs-To: \n" 4.14 -"POT-Creation-Date: 2011-04-03 17:41+0200\n" 4.15 -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 4.16 -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 4.17 -"Language-Team: LANGUAGE <LL@li.org>\n" 4.18 -"Language: \n" 4.19 -"MIME-Version: 1.0\n" 4.20 -"Content-Type: text/plain; charset=CHARSET\n" 4.21 -"Content-Transfer-Encoding: 8bit\n" 4.22 - 4.23 -#: tazpkg.cgi:61 4.24 -msgid "Installed packages : " 4.25 -msgstr "" 4.26 - 4.27 -#: tazpkg.cgi:63 4.28 -msgid "Mirrored packages : " 4.29 -msgstr "" 4.30 - 4.31 -#: tazpkg.cgi:65 4.32 -msgid "Last recharge : " 4.33 -msgstr "" 4.34 - 4.35 -#: tazpkg.cgi:67 4.36 -msgid "Upgradeable packages : " 4.37 -msgstr "" 4.38 - 4.39 -#: tazpkg.cgi:69 4.40 -msgid "Installed files : " 4.41 -msgstr "" 4.42 - 4.43 -#: tazpkg.cgi:71 4.44 -msgid "Blocked packages : " 4.45 -msgstr "" 4.46 - 4.47 -#: tazpkg.cgi:96 4.48 -msgid "Search" 4.49 -msgstr "" 4.50 - 4.51 -#: tazpkg.cgi:108 4.52 -msgid "Name" 4.53 -msgstr "" 4.54 - 4.55 -#: tazpkg.cgi:109 4.56 -msgid "Version" 4.57 -msgstr "" 4.58 - 4.59 -#: tazpkg.cgi:110 4.60 -msgid "Description" 4.61 -msgstr "" 4.62 - 4.63 -#: tazpkg.cgi:111 4.64 -msgid "Web" 4.65 -msgstr "" 4.66 - 4.67 -#: tazpkg.cgi:126 tazpkg.cgi:180 4.68 -msgid "My packages" 4.69 -msgstr "" 4.70 - 4.71 -#: tazpkg.cgi:127 tazpkg.cgi:212 tazpkg.cgi:230 4.72 -msgid "All packages" 4.73 -msgstr "" 4.74 - 4.75 -#: tazpkg.cgi:128 4.76 -msgid "Recharge list" 4.77 -msgstr "" 4.78 - 4.79 -#: tazpkg.cgi:129 4.80 -msgid "Upgrade" 4.81 -msgstr "" 4.82 - 4.83 -#: tazpkg.cgi:130 tazpkg.cgi:348 4.84 -msgid "Configuration" 4.85 -msgstr "" 4.86 - 4.87 -#: tazpkg.cgi:139 tazpkg.cgi:149 tazpkg.cgi:160 4.88 -msgid "Selection:" 4.89 -msgstr "" 4.90 - 4.91 -#: tazpkg.cgi:163 4.92 -msgid "Toogle all" 4.93 -msgstr "" 4.94 - 4.95 -#: tazpkg.cgi:245 4.96 -msgid "Recharge" 4.97 -msgstr "" 4.98 - 4.99 -#: tazpkg.cgi:248 4.100 -msgid "Recharge lists will check for new or updated packages" 4.101 -msgstr "" 4.102 - 4.103 -#: tazpkg.cgi:252 4.104 -msgid "Recharging the packages list... please wait" 4.105 -msgstr "" 4.106 - 4.107 -#: tazpkg.cgi:256 4.108 -msgid "Packages lists are up-to-date" 4.109 -msgstr "" 4.110 - 4.111 -#: tazpkg.cgi:263 4.112 -msgid "Upgradeable packages" 4.113 -msgstr "" 4.114 - 4.115 -#: tazpkg.cgi:291 4.116 -msgid "Performing task on packages" 4.117 -msgstr "" 4.118 - 4.119 -#: tazpkg.cgi:308 4.120 -msgid "Package info" 4.121 -msgstr "" 4.122 - 4.123 -#: tazpkg.cgi:310 4.124 -msgid "Detailled information on:" 4.125 -msgstr "" 4.126 - 4.127 -#: tazpkg.cgi:324 4.128 -msgid "Installed files" 4.129 -msgstr "" 4.130 - 4.131 -#: tazpkg.cgi:350 4.132 -msgid "Tazpkg configuration and settings" 4.133 -msgstr "" 4.134 - 4.135 -#: tazpkg.cgi:353 4.136 -msgid "Package in cache" 4.137 -msgstr "" 4.138 - 4.139 -#: tazpkg.cgi:356 4.140 -msgid "Packages in the cache:" 4.141 -msgstr "" 4.142 - 4.143 -#: tazpkg.cgi:362 4.144 -msgid "Current mirror list" 4.145 -msgstr "" 4.146 - 4.147 -#: tazpkg.cgi:384 4.148 -msgid "Summary" 4.149 -msgstr "" 4.150 - 4.151 -#: tazpkg.cgi:386 4.152 -msgid "Overview of all installed and mirrored packages" 4.153 -msgstr "" 4.154 - 4.155 -#: tazpkg.cgi:391 4.156 -msgid "Latest log entries" 4.157 -msgstr ""
5.1 --- a/styles/default/header.html Tue Apr 05 01:34:37 2011 +0200 5.2 +++ b/styles/default/header.html Tue Apr 05 01:42:16 2011 +0200 5.3 @@ -14,7 +14,7 @@ 5.4 </div> 5.5 <div id="menu"> 5.6 <a href="./">Panel</a> 5.7 - <a href="tazpkg.cgi">Packages</a> 5.8 + <a href="pkgs.cgi">Packages</a> 5.9 <a href="index.cgi?boot">Boot</a> 5.10 <a href="index.cgi?users">Users</a> 5.11 <a href="index.cgi?network">Network</a>
6.1 --- a/tazpkg.cgi Tue Apr 05 01:34:37 2011 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,400 +0,0 @@ 6.4 -#!/bin/sh 6.5 -# 6.6 -# TazPKG CGI interface - Manage packages via the a browse 6.7 -# 6.8 -# This CGI interface intensively use tazpkg to manage package and have 6.9 -# it how code for some tasks. Please KISS it important and keep speed 6.10 -# in mind. Thanks, Pankso. 6.11 -# 6.12 -# (C) 2011 SliTaz GNU/Linux - GNU gpl v2 6.13 -# 6.14 -echo "Content-Type: text/html" 6.15 -echo "" 6.16 - 6.17 -. lib/libtazpanel 6.18 -get_config 6.19 - 6.20 -# Include gettext helper script. 6.21 -. /usr/bin/gettext.sh 6.22 - 6.23 -# Export package name for gettext. 6.24 -TEXTDOMAIN='tazpanel-pkgs' 6.25 -export TEXTDOMAIN 6.26 - 6.27 -# xHTML 5 header 6.28 -cat $HEADER | sed s'/%TITLE%/Tazpkg/' 6.29 - 6.30 -# DEBUG mode 6.31 -if [ $DEBUG == "1" ]; then 6.32 - echo "<p class='debug'>$REQUEST_METHOD ${QUERY_STRING}</p>" 6.33 -fi 6.34 - 6.35 -# We need packages information for list and search 6.36 -parse_packages_desc() { 6.37 -while read line 6.38 - do 6.39 - echo '<tr>' 6.40 - pkg=$(echo $line | cut -d "|" -f 1) 6.41 - vers=$(echo $line | cut -d "|" -f 2) 6.42 - desc=$(echo $line | cut -d "|" -f 3) 6.43 - web=$(echo $line | cut -d "|" -f 5) 6.44 - if [ -d $INSTALLED/$pkg ]; then 6.45 - echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n 6.46 - <img src='$IMAGES/tazpkg-installed.png'/>$pkg</td>" 6.47 - else 6.48 - echo -e "<td><input type='checkbox' name='pkg' value=\"$pkg\">\n 6.49 - <img src='$IMAGES/tazpkg.png'/>$pkg</td>" 6.50 - fi 6.51 - echo "<td>$vers</td>" 6.52 - echo "<td class='desc'>$desc</td>" 6.53 - echo "<td><a href='$web'>web</a></td>" 6.54 - echo '</tr>' 6.55 - done 6.56 -} 6.57 - 6.58 -# Remove status and ESC char from tazpkg commands output 6.59 -filter_tazpkg_msgs() { 6.60 - grep ^[a-zA-Z0-9] | sed s'/\.*\]//' 6.61 -} 6.62 - 6.63 -# Display a full summary of packages stats 6.64 -packages_summary() { 6.65 - gettext "Installed packages : " 6.66 - ls $INSTALLED | wc -l 6.67 - gettext "Mirrored packages : " 6.68 - cat $LOCALSTATE/packages.list | wc -l 6.69 - gettext "Last recharge : " 6.70 - stat -c %y $LOCALSTATE/packages.list | sed 's/\(:..\):.*/\1/' 6.71 - gettext "Upgradeable packages : " 6.72 - cat $LOCALSTATE/upgradeable-packages.list | wc -l 6.73 - gettext "Installed files : " 6.74 - cat $INSTALLED/*/files.list | wc -l 6.75 - gettext "Blocked packages : " 6.76 - cat $LOCALSTATE/blocked-packages.list | wc -l 6.77 -} 6.78 - 6.79 -# Parse mirrors list to be able to have an icon an remove link 6.80 -list_mirrors() { 6.81 - cat $LOCALSTATE/mirrors | while read line 6.82 - do 6.83 - cat << EOT 6.84 -<li><a href="$SCRIPT_NAME?config=rm-mirror=$line"><img 6.85 - src="$IMAGES/clear.png" /></a><a href="$line">$line</a></li> 6.86 -EOT 6.87 - done 6.88 -} 6.89 - 6.90 -# 6.91 -# xHTML functions 6.92 -# 6.93 - 6.94 -# ENTER will search but user may search for a button, so put one. 6.95 -search_form() { 6.96 - cat << EOT 6.97 -<div class="search"> 6.98 - <form method="get" action="$SCRIPT_NAME"> 6.99 - <p> 6.100 - <input type="text" name="search" size="20"> 6.101 - <input type="submit" value="`gettext "Search"`"> 6.102 - </p> 6.103 - </form> 6.104 -</div> 6.105 -EOT 6.106 -} 6.107 - 6.108 -table_head() { 6.109 - cat << EOT 6.110 - <tr id="thead"> 6.111 - <td>`gettext "Name"`</td> 6.112 - <td>`gettext "Version"`</td> 6.113 - <td>`gettext "Description"`</td> 6.114 - <td>`gettext "Web"`</td> 6.115 - </tr> 6.116 -EOT 6.117 -} 6.118 - 6.119 -sub_block() { 6.120 - cat << EOT 6.121 -<div id="sub_block"> 6.122 - <a href='$SCRIPT_NAME?list'>`gettext "My packages"`</a> | 6.123 - <a href='$SCRIPT_NAME?list-all'>`gettext "All packages"`</a> | 6.124 - <a href='$SCRIPT_NAME?recharge'>`gettext "Recharge list"`</a> | 6.125 - <a href='$SCRIPT_NAME?upgradeable'>`gettext "Upgrade"`</a> | 6.126 - <a href='$SCRIPT_NAME?config'>`gettext "Configuration"`</a> 6.127 -</div> 6.128 -EOT 6.129 -} 6.130 - 6.131 -# For my packages list 6.132 -list_actions() { 6.133 - cat << EOT 6.134 -<p> 6.135 - `gettext "Selection:"` 6.136 - <input type="submit" name="do" value="remove" /> 6.137 -</p> 6.138 -EOT 6.139 -} 6.140 - 6.141 -# For list-all 6.142 -list_all_actions() { 6.143 - cat << EOT 6.144 -<p> 6.145 - `gettext "Selection:"` 6.146 - <input type="submit" name="do" value="install" /> 6.147 - <input type="submit" name="do" value="remove" /> 6.148 -</p> 6.149 -EOT 6.150 -} 6.151 - 6.152 -# For search and upgrade with JS function to toogle all pkgs 6.153 -list_full_actions() { 6.154 - cat << EOT 6.155 -<p> 6.156 - `gettext "Selection:"` 6.157 - <input type="submit" name="do" value="install" /> 6.158 - <input type="submit" name="do" value="remove" /> 6.159 - <a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a> 6.160 -</p> 6.161 -EOT 6.162 -} 6.163 - 6.164 -# 6.165 -# Commands 6.166 -# 6.167 - 6.168 -case "$QUERY_STRING" in 6.169 - list) 6.170 - # List installed packages. This is the default because parsing 6.171 - # the full packages.desc can be long and take some resources 6.172 - cd $INSTALLED 6.173 - search_form 6.174 - sub_block 6.175 - cat << EOT 6.176 -<h2>`gettext "My packages"`</h2> 6.177 -<form method='get' action='$SCRIPT_NAME'> 6.178 -<div id="actions"> 6.179 -EOT 6.180 - list_actions 6.181 - echo '</div>' 6.182 - table_start 6.183 - for pkg in * 6.184 - do 6.185 - . $pkg/receipt 6.186 - echo '<tr>' 6.187 - # Use default tazpkg icon since all packages displayed are 6.188 - # installed 6.189 - echo "<td class='pkg'> 6.190 - <input type='checkbox' name='pkg' value=\"$pkg\" /> 6.191 - <a href='$SCRIPT_NAME?info=$pkg'><img 6.192 - src='$IMAGES/tazpkg-installed.png'/></a>$pkg</td>" 6.193 - echo "<td>$VERSION</td>" 6.194 - echo "<td class='desc'>$SHORT_DESC</td>" 6.195 - echo "<td><a href='$WEB_SITE'>web</a></td>" 6.196 - echo '</tr>' 6.197 - done 6.198 - table_end 6.199 - list_actions 6.200 - echo '</form>' ;; 6.201 - list-all) 6.202 - # List all available packages on mirror 6.203 - cd $LOCALSTATE 6.204 - search_form 6.205 - sub_block 6.206 - cat << EOT 6.207 -<h2>`gettext "All packages"`</h2> 6.208 -<form method='get' action='$SCRIPT_NAME'> 6.209 -<div id="actions"> 6.210 -EOT 6.211 - list_all_actions 6.212 - echo '</div>' 6.213 - table_start 6.214 - table_head 6.215 - cat packages.desc | parse_packages_desc 6.216 - table_end 6.217 - list_all_actions 6.218 - echo '</form>' ;; 6.219 - search=*) 6.220 - # Search for packages 6.221 - pkg=${QUERY_STRING#*=} 6.222 - cd $LOCALSTATE 6.223 - search_form 6.224 - sub_block 6.225 - cat << EOT 6.226 -<h2>`gettext "Search packages"`</h2> 6.227 -<form method="get" action="$SCRIPT_NAME"> 6.228 -<div id="actions"> 6.229 -EOT 6.230 - list_full_actions 6.231 - echo '</div>' 6.232 - table_start 6.233 - table_head 6.234 - grep $pkg packages.desc | parse_packages_desc 6.235 - table_end 6.236 - echo '</form>' ;; 6.237 - recharge) 6.238 - # Let recharge the packages list 6.239 - search_form 6.240 - sub_block 6.241 - cat << EOT 6.242 -<h2>`gettext "Recharge"`</h2> 6.243 -<form method='get' action='$SCRIPT_NAME'> 6.244 -<div id="actions"> 6.245 - <p> 6.246 - `gettext "Recharge will check for new or updated packages... 6.247 - please wait"` 6.248 - </p> 6.249 -</div> 6.250 -<pre> 6.251 -EOT 6.252 - tazpkg recharge | filter_tazpkg_msgs 6.253 - echo '</pre>' 6.254 - echo '<p>' 6.255 - gettext "Packages lists are up-to-date" 6.256 - echo '</p>' ;; 6.257 - upgradeable) 6.258 - cd $LOCALSTATE 6.259 - search_form 6.260 - sub_block 6.261 - cat << EOT 6.262 -<h2>`gettext "Upgradeable packages"`</h2> 6.263 -<form method="get" action="$SCRIPT_NAME"> 6.264 -<div id="actions"> 6.265 -EOT 6.266 - list_full_actions 6.267 - tazpkg upgradeable 6.268 - echo '</div>' 6.269 - table_start 6.270 - table_head 6.271 - for pkg in `cat upgradeable-packages.list` 6.272 - do 6.273 - grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc 6.274 - done 6.275 - table_end 6.276 - echo '</form>' ;; 6.277 - do=*) 6.278 - # Do an action on one or some packages 6.279 - cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'` 6.280 - cmd=`echo ${cmdline} | awk '{print $1}'` 6.281 - pkgs=`echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//` 6.282 - [ $cmd == install ] && cmd=get-install opt=--forced 6.283 - search_form 6.284 - sub_block 6.285 - cat << EOT 6.286 -<h2>Tazpkg: $cmd</h2> 6.287 -<form method="get" action="$SCRIPT_NAME"> 6.288 -<div id="actions"> 6.289 -<p> 6.290 -EOT 6.291 - gettext "Performing task on packages" 6.292 - echo '</p></div>' 6.293 - echo '<pre class="pre_main">' 6.294 - gettext "Executing $cmd for:$pkgs" 6.295 - echo '</pre>' 6.296 - for pkg in $pkgs 6.297 - do 6.298 - echo '<pre>' 6.299 - echo 'y' | tazpkg $cmd $pkg $opt 2>/dev/null | filter_tazpkg_msgs 6.300 - echo '</pre>' 6.301 - done ;; 6.302 - info=*) 6.303 - pkg=${QUERY_STRING#*=} 6.304 - search_form 6.305 - sub_block 6.306 - . $INSTALLED/$pkg/receipt 6.307 - cat << EOT 6.308 -<h2>`gettext "Package info"`</h2> 6.309 -<div id="actions"> 6.310 - <p>`gettext "Detailled information on:"` $PACKAGE</p> 6.311 -</div> 6.312 -<pre> 6.313 -Name : $PACKAGE 6.314 -Version : $VERSION 6.315 -Description : $SHORT_DESC 6.316 -Maintainer : $MAINTAINER 6.317 -Depends : `for i in $DEPENDS; do echo -n \ 6.318 - "<a href="$SCRIPT_NAME?info=$i">$i</a> "; done` 6.319 -Website : <a href="$WEB_SITE">$WEB_SITE</a> 6.320 -Sizes : $PACKED_SIZE/$UNPACKED_SIZE 6.321 -Files : `cat $INSTALLED/$pkg/files.list | wc -l` 6.322 -</pre> 6.323 - 6.324 -<p>`gettext "Installed files"`</p> 6.325 -<pre> 6.326 -`cat $INSTALLED/$pkg/files.list` 6.327 -</pre> 6.328 -EOT 6.329 - ;; 6.330 - config*) 6.331 - # Tazpkg configuration page 6.332 - cmd=${QUERY_STRING#*=} 6.333 - case "$cmd" in 6.334 - clean) 6.335 - rm -rf /var/cache/tazpkg/* ;; 6.336 - add-mirror*=http*|add-mirror*=ftp*) 6.337 - # Decode url 6.338 - mirror=`httpd -d ${cmd#*=}` 6.339 - echo "$mirror" >> $LOCALSTATE/mirrors ;; 6.340 - rm-mirror=http://*|rm-mirror=ftp://*) 6.341 - mirror=${QUERY_STRING#*=rm-mirror=} 6.342 - sed -i -e "s@$mirror@@" -e '/^$/d' $LOCALSTATE/mirrors ;; 6.343 - esac 6.344 - cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l` 6.345 - cache_size=`du -sh /var/cache/tazpkg` 6.346 - sub_block 6.347 - cat << EOT 6.348 -<h2>`gettext "Configuration"`</h2> 6.349 -<div> 6.350 - <p>`gettext "Tazpkg configuration and settings"`</p> 6.351 -</div> 6.352 -<div> 6.353 - <form method="get" action="$SCRIPT_NAME"> 6.354 - <p> 6.355 - `gettext "Packages in the cache:"` $cache_files ($cache_size) 6.356 - <input type="hidden" name="config" value="clean" /> 6.357 - <input type="submit" value="Clean" /> 6.358 - </p> 6.359 - </form> 6.360 -</div> 6.361 - 6.362 -<h3>`gettext "Current mirror list"`</h3> 6.363 -<div class="box"> 6.364 - <ul> 6.365 - `list_mirrors` 6.366 - </ul> 6.367 -</div> 6.368 -<form method="get" action="$SCRIPT_NAME"> 6.369 - <p> 6.370 - <input type="hidden" name="config" value="add-mirror" /> 6.371 - <input type="text" name="mirror" size="60"> 6.372 - <input type="submit" value="Add mirror" /> 6.373 - </p> 6.374 -</form> 6.375 -EOT 6.376 - ;; 6.377 - *) 6.378 - # 6.379 - # Default to summary 6.380 - # 6.381 - search_form 6.382 - sub_block 6.383 - cat << EOT 6.384 -<h2>`gettext "Summary"`</h2> 6.385 -<div id="actions"> 6.386 - <p>`gettext "Overview of all installed and mirrored packages"`</p> 6.387 -</div> 6.388 -<pre class="pre_main"> 6.389 -`packages_summary` 6.390 -</pre> 6.391 -<h3>`gettext "Latest log entries"`</h3> 6.392 -<pre> 6.393 -`tail -n 6 /var/log/tazpkg.log | fgrep "-" | \ 6.394 - awk '{print $1, $2, $3, $4, $5, $6, $7}'` 6.395 -</pre> 6.396 - 6.397 -EOT 6.398 - ;; 6.399 -esac 6.400 - 6.401 -# xHTML 5 footer 6.402 -cd $PANEL && xhtml_footer 6.403 -exit 0