tazpanel rev 365

Remove tazpkg & tazlito files
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Jun 29 20:23:30 2013 +0200 (2013-06-29)
parents 4a8f56bb08cb
children d821006e0279
files live.cgi pkgs.cgi styles/default/header.html
line diff
     1.1 --- a/live.cgi	Sat Jun 29 17:06:39 2013 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,268 +0,0 @@
     1.4 -#!/bin/sh
     1.5 -#
     1.6 -# CGI interface for SliTaz Live systems using Tazlito and TazUSB.
     1.7 -#
     1.8 -# Copyright (C) 2011 SliTaz GNU/Linux - BSD License
     1.9 -#
    1.10 -
    1.11 -if [ "$1" == "call" ]; then
    1.12 -	case "$2" in
    1.13 -	merge_cleanup)
    1.14 -		mv -f $3.merged $3
    1.15 -		for i in $4/*; do
    1.16 -			umount -d $i
    1.17 -		done
    1.18 -		rm -rf $4
    1.19 -		exit ;;
    1.20 -	esac
    1.21 -fi
    1.22 -
    1.23 -# Common functions from libtazpanel
    1.24 -. lib/libtazpanel
    1.25 -get_config
    1.26 -header
    1.27 -
    1.28 -TITLE=$(gettext 'TazPanel - Live')
    1.29 -
    1.30 -# Build arguments to create a meta iso using 'tazlito merge' command
    1.31 -merge_args()
    1.32 -{
    1.33 -	tmp=$1
    1.34 -	first=true
    1.35 -	i=1
    1.36 -	while [ -n "$(GET input$i)" ]; do
    1.37 -		echo "$(stat -c "%s" $(GET input$i)) $(GET input$i) $(GET ram$i)"
    1.38 -		$((i++))
    1.39 -	done | sort -nr | while read size file ram; do
    1.40 -		if $first; then
    1.41 -			cp $file $(GET metaoutput)
    1.42 -			echo -n "$ram $(GET metaoutput) "
    1.43 -			first=false
    1.44 -			continue
    1.45 -		fi
    1.46 -		dir=$tmp/$(basename $file)
    1.47 -		mkdir $dir
    1.48 -		mount -o loop,ro $file $dir
    1.49 -		echo -n "$ram $dir/boot/rootfs.gz "
    1.50 -	done
    1.51 -}
    1.52 -
    1.53 -#
    1.54 -# Commands executed in Xterm first
    1.55 -#
    1.56 -
    1.57 -case " $(GET) " in
    1.58 -	*\ write_iso\ *)
    1.59 -		$TERMINAL $TERM_OPTS \
    1.60 -			-T "write-iso" \
    1.61 -			-e "tazlito writeiso $(GET write_iso)" & ;;
    1.62 -	*\ loramoutput\ *)
    1.63 -		$TERMINAL $TERM_OPTS \
    1.64 -			-T "build loram iso" \
    1.65 -			-e "tazlito build-loram $(GET input) $(GET loramoutput) $(GET type)" & ;;
    1.66 -	*\ meta\ *)
    1.67 -		tmp=/tmp/$(basename $0).$$
    1.68 -		cleanup="sh $0 call merge_cleanup $(GET output) $tmp"
    1.69 -		$TERMINAL $TERM_OPTS \
    1.70 -			-T "build meta iso" \
    1.71 -			-e "tazlito merge $(merge_args $tmp); \
    1.72 -				gettext 'ENTER to quit'; read i; \
    1.73 -				$cleanup" & ;;
    1.74 -	*\ hybrid\ *)
    1.75 -		$TERMINAL $TERM_OPTS \
    1.76 -			-T "build hybrid iso" \
    1.77 -			-e "iso2exe $(GET input)" & ;;
    1.78 -esac
    1.79 -
    1.80 -#
    1.81 -# Commands
    1.82 -#
    1.83 -
    1.84 -case " $(GET) " in
    1.85 -	*\ create\ *)
    1.86 -		#
    1.87 -		# Create a flavor file and ISO in options with all settings
    1.88 -		# Step by step interface and store files in cache.
    1.89 -		#
    1.90 -		gettext 'TODO' ;;
    1.91 -	*\ liveusb\ *)
    1.92 -		xhtml_header
    1.93 -		cat << EOT
    1.94 -<div id="wrapper">
    1.95 -	<h2>$(gettext 'SliTaz LiveUSB')</h2>
    1.96 -	<p>$(gettext 'Create Live USB SliTaz systems')<p>
    1.97 -</div>
    1.98 -
    1.99 -<p>$(gettext "Generate SliTaz LiveUSB media and boot in RAM! Insert a LiveCD \
   1.100 -into the cdrom drive, select the correct device and press Generate.")</p>
   1.101 -
   1.102 -<form method="get" action="$SCRIPT_NAME">
   1.103 -	<input type="hidden" name="liveusb" />
   1.104 -	$(gettext 'USB Media to use:')
   1.105 -	<select name="gen">
   1.106 -EOT
   1.107 -		# List disk if there is a plugged USB device
   1.108 -		if [ -d /proc/scsi/usb-storage ]; then
   1.109 -			for i in `blkid | cut -d ":" -f 1`; do
   1.110 -				echo "<option value='$i'>$i</option>"
   1.111 -			done
   1.112 -		else
   1.113 -			echo "<option value="">$(gettext 'Not found')</option>"
   1.114 -		fi
   1.115 -		cat << EOT
   1.116 -	</select>
   1.117 -	<input type="submit" value="$(gettext 'Generate')" />
   1.118 -</form>
   1.119 -EOT
   1.120 -		if [ "$(GET gen)" ]; then
   1.121 -			cat << EOT
   1.122 -<h3>tazusb gen-liveusb $(GET gen)</h3>
   1.123 -<pre>
   1.124 -EOT
   1.125 -			# No pipe here so output is displayed in realtime
   1.126 -			yes | tazusb gen-liveusb $(GET gen)
   1.127 -			echo '</pre>'
   1.128 -		fi ;;
   1.129 -	*)
   1.130 -		#
   1.131 -		# Default xHTML content
   1.132 -		#
   1.133 -		xhtml_header
   1.134 -		cat << EOT
   1.135 -<div id="wrapper">
   1.136 -	<h2>$(gettext 'SliTaz Live Systems')</h2>
   1.137 -	<p>$(gettext 'Create and manage Live CD or USB SliTaz systems')<p>
   1.138 -</div>
   1.139 -
   1.140 -<div id="actions">
   1.141 -	<a class="button" href="$SCRIPT_NAME?liveusb">
   1.142 -		<img src="$IMAGES/harddisk.png" />$(gettext 'Create LiveUSB')</a>
   1.143 -</div>
   1.144 -
   1.145 -
   1.146 -<!--
   1.147 -<h3 id="livecd">$(gettext 'Write a Live CD')</h3>
   1.148 -
   1.149 -<p>$(gettext "The command writeiso will generate an ISO image of the current \
   1.150 -filesystem as is, including all files in the /home directory. It is an easy \
   1.151 -way to remaster a SliTaz Live system, you just have to: boot, modify, \
   1.152 -writeiso.")</p>
   1.153 -
   1.154 -<form method="get" action="$SCRIPT_NAME">
   1.155 -	$(gettext 'Compression type:')
   1.156 -	<select name="write_iso">
   1.157 -		<option value="gzip">gzip</option>
   1.158 -		<option value="lzma">lzma</option>
   1.159 -		<option value="none">$(gettext 'none')</option>
   1.160 -	</select>
   1.161 -	<input type="submit" value="$(gettext 'Write ISO')" />
   1.162 -</form> -->
   1.163 -
   1.164 -
   1.165 -<h3>$(gettext 'Live CD tools')</h3>
   1.166 -
   1.167 -<h4 id="loram">$(gettext 'Convert ISO to loram')</h4>
   1.168 -
   1.169 -<p>$(gettext "This command will convert an ISO image of a SliTaz Live CD to a \
   1.170 -new ISO image requiring less RAM to run.")</p>
   1.171 -
   1.172 -<form method="get" action="$SCRIPT_NAME#loram">
   1.173 -	<table>
   1.174 -		<tr>
   1.175 -			<td>$(gettext 'ISO to convert')
   1.176 -				<input type="text" accept=".iso" name="input" value="/root/" /></td>
   1.177 -		</tr>
   1.178 -		<tr>
   1.179 -			<td><input type="radio" name="type" value="ram" id="type1" checked />
   1.180 -				<label for="type1">$(gettext 'The filesystem is always in RAM')</label>
   1.181 -			</td>
   1.182 -		</tr>
   1.183 -		<tr>
   1.184 -			<td><input type="radio" name="type" value="smallcdrom" id="type2" />
   1.185 -				<label for="type2">$(gettext 'The filesystem may be on a small CDROM')</label>
   1.186 -			</td>
   1.187 -		</tr>
   1.188 -		<tr>
   1.189 -			<td><input type="radio" name="type" value="cdrom" id="type3" />
   1.190 -				<label for="type3">$(gettext 'The filesystem may be on a large CDROM')</label>
   1.191 -			</td>
   1.192 -		</tr>
   1.193 -		<tr>
   1.194 -			<td>$(gettext 'ISO to create')
   1.195 -				<input type="text" accept=".iso" name="loramoutput" value="/root/loram.iso" />
   1.196 -			</td>
   1.197 -		</tr>
   1.198 -	</table>
   1.199 -	<input type="submit" value="$(gettext 'Convert ISO to loram')" />
   1.200 -</form>
   1.201 -
   1.202 -
   1.203 -<h4 id="hybrid">$(gettext 'Build a hybrid ISO')</h4>
   1.204 -
   1.205 -<p>$(gettext "Add a master boot sector and a EXE header to the ISO image. \
   1.206 -")</p>
   1.207 -
   1.208 -<form method="get" action="$SCRIPT_NAME#hybrid">
   1.209 -	<table>
   1.210 -	<tr>
   1.211 -	<td>
   1.212 -	$(gettext 'ISO to convert')
   1.213 -	<input type="text" name="input" value="/root/" />
   1.214 -	</td>
   1.215 -	</tr>
   1.216 -	</table>
   1.217 -	<input type="submit" name="hybrid" value="$(gettext 'Build a hybrid ISO')" />
   1.218 -</form>
   1.219 -
   1.220 -<h4 id="meta">$(gettext 'Build a meta ISO')</h4>
   1.221 -
   1.222 -<p>$(gettext "Combines several ISO flavors like nested Russian dolls. The \
   1.223 -amount of RAM available at startup will be used to select the utmost one.")</p>
   1.224 -
   1.225 -<form method="get" action="$SCRIPT_NAME#meta">
   1.226 -	<table>
   1.227 -EOT
   1.228 -		i=""
   1.229 -		while [ -n "$(GET addmeta)" ]; do
   1.230 -			[ -n "$(GET input$i)" ] || break
   1.231 -			j=$(($i + 1))
   1.232 -			cat << EOT
   1.233 -		<tr>
   1.234 -			<td>$(gettext 'ISO number') $j: $(GET input$i)
   1.235 -				<input type="hidden" name="input$j" value="$(GET input$i)" />
   1.236 -			</td>
   1.237 -			<td>$(gettext 'Minimum RAM'): $(GET ram$i)
   1.238 -				<input type="hidden" name="ram$j" value="$(GET ram$i)" />
   1.239 -			</td>
   1.240 -		</tr>
   1.241 -EOT
   1.242 -			i=$j
   1.243 -		done
   1.244 -		metaoutput="$(GET metaoutput)"
   1.245 -		[ -n "$metaoutput" ] || metaoutput="/root/meta.iso"
   1.246 -
   1.247 -		cat << EOT
   1.248 -		<tr>
   1.249 -			<td>$(gettext 'ISO to add')
   1.250 -				<input type="text" name="input" value="/root/" />
   1.251 -			</td>
   1.252 -			<td>$(gettext 'Minimum RAM')
   1.253 -				<input type="text" name="ram" value="128M" />
   1.254 -				<input type="submit" name="addmeta" value="$(gettext 'Add to the list')" />
   1.255 -			</td>
   1.256 -		</tr>
   1.257 -		<tr>
   1.258 -			<td>$(gettext 'ISO to create')
   1.259 -				<input type="text" name="metaoutput" value="$metaoutput" />
   1.260 -			</td>
   1.261 -		</tr>
   1.262 -	</table>
   1.263 -	<input type="submit" name="meta" value="$(gettext 'Build a meta ISO')" />
   1.264 -</form>
   1.265 -
   1.266 -EOT
   1.267 -		;;
   1.268 -esac
   1.269 -
   1.270 -xhtml_footer
   1.271 -exit 0
     2.1 --- a/pkgs.cgi	Sat Jun 29 17:06:39 2013 +0200
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,996 +0,0 @@
     2.4 -#!/bin/sh
     2.5 -#
     2.6 -# TazPKG CGI interface - Manage packages via a browser
     2.7 -#
     2.8 -# This CGI interface extensively uses tazpkg to manage packages and have
     2.9 -# its own code for some tasks. Please KISS, it is important and keep speed
    2.10 -# in mind. Thanks, Pankso.
    2.11 -#
    2.12 -# (C) 2011 SliTaz GNU/Linux - BSD License
    2.13 -#
    2.14 -
    2.15 -. lib/libtazpanel
    2.16 -get_config
    2.17 -header
    2.18 -
    2.19 -# xHTML 5 header with special side bar for categories.
    2.20 -TITLE=$(gettext 'TazPanel - Packages')
    2.21 -xhtml_header | sed 's/id="content"/id="content-sidebar"/'
    2.22 -
    2.23 -pkg_info_link()
    2.24 -{
    2.25 -	echo "$SCRIPT_NAME?info=$1" | sed 's/+/%2B/g'
    2.26 -}
    2.27 -
    2.28 -i18n_desc() {
    2.29 -	# Display localized short description
    2.30 -	if [ -e "$LOCALSTATE/packages-desc.$LANG" ]; then
    2.31 -		LOCDESC=$(grep -e "^$pkg	" $LOCALSTATE/packages-desc.$LANG | cut -d'	' -f2)
    2.32 -	[ "x$LOCDESC" != "x" ] && SHORT_DESC="$LOCDESC"
    2.33 -	fi
    2.34 -}
    2.35 -
    2.36 -# We need packages information for list and search
    2.37 -parse_packages_desc() {
    2.38 -	IFS="|"
    2.39 -	cut -f 1,2,3,5 -d "|" | while read PACKAGE VERSION SHORT_DESC WEB_SITE
    2.40 -	do
    2.41 -		image=tazpkg-installed.png
    2.42 -		[ -d $INSTALLED/${PACKAGE% } ] || image=tazpkg.png
    2.43 -		i18n_desc
    2.44 -		cat << EOT
    2.45 -<tr>
    2.46 -<td><input type="checkbox" name="pkg" value="$PACKAGE">
    2.47 -	<a href="$(pkg_info_link $PACKAGE)"><img
    2.48 -		src="$IMAGES/$image"/>$PACKAGE</a></td>
    2.49 -<td>$VERSION</td>
    2.50 -<td class="desc">$SHORT_DESC</td>
    2.51 -<td><a href="$WEB_SITE"><img src="$IMAGES/browser.png"/></a></td>
    2.52 -</tr>
    2.53 -EOT
    2.54 -	done
    2.55 -	unset IFS
    2.56 -}
    2.57 -
    2.58 -# Display a full summary of packages stats
    2.59 -packages_summary() {
    2.60 -	cat << EOT
    2.61 -<table class="zebra outbox">
    2.62 -<tbody>
    2.63 -<tr><td>$(gettext 'Last recharge:')</td>
    2.64 -EOT
    2.65 -	stat=$(stat -c %y $LOCALSTATE/packages.list | \
    2.66 -		sed 's/\(:..\):.*/\1/' | awk '{print $1}')
    2.67 -	mtime=$(find $LOCALSTATE/packages.list -mtime +10)
    2.68 -	echo -n "<td>$stat "
    2.69 -	if [ "$mtime" ]; then
    2.70 -		gettext '(Older than 10 days)'; echo
    2.71 -	else
    2.72 -		gettext '(Not older than 10 days)'; echo
    2.73 -	fi
    2.74 -	cat << EOT
    2.75 -</td></tr>
    2.76 -<tr><td>$(gettext 'Installed packages:')</td>
    2.77 -	<td>$(ls $INSTALLED | wc -l)</td></tr>
    2.78 -<tr><td>$(gettext 'Mirrored packages:')</td>
    2.79 -	<td>$(cat $LOCALSTATE/packages.list | wc -l)</td></tr>
    2.80 -<tr><td>$(gettext 'Upgradeable packages:')</td>
    2.81 -	<td>$(cat $LOCALSTATE/packages.up | wc -l)</td></tr>
    2.82 -<tr><td>$(gettext 'Installed files:')</td>
    2.83 -	<td>$(cat $INSTALLED/*/files.list | wc -l)</td></tr>
    2.84 -<tr><td>$(gettext 'Blocked packages:')</td>
    2.85 -	<td>$(cat $LOCALSTATE/blocked-packages.list | wc -l)</td></tr>
    2.86 -</tbody>
    2.87 -</table>
    2.88 -EOT
    2.89 -}
    2.90 -
    2.91 -# Parse mirrors list to be able to have an icon and remove link
    2.92 -list_mirrors() {
    2.93 -	while read line
    2.94 -	do
    2.95 -		cat << EOT
    2.96 -<li>
    2.97 -	<a href="$SCRIPT_NAME?admin=rm-mirror=$line&amp;file=$(httpd -e $1)">
    2.98 -		<img src="$IMAGES/clear.png" title="$(gettext 'Delete')" />
    2.99 -	</a>
   2.100 -	<a href="$SCRIPT_NAME?admin=select-mirror&amp;mirror=$line">
   2.101 -		<img src="$IMAGES/start.png" title="$(gettext 'Use as default')" />
   2.102 -	</a>
   2.103 -	<a href="$line">$line</a>
   2.104 -</li>
   2.105 -EOT
   2.106 -	done < $1
   2.107 -}
   2.108 -
   2.109 -# Parse repositories list to be able to have an icon and remove link
   2.110 -list_repos() {
   2.111 -	ls $LOCALSTATE/undigest 2> /dev/null | while read repo ; do
   2.112 -		cat <<EOT
   2.113 -	<li><a href="$SCRIPT_NAME?admin=rm-repo=$repo">
   2.114 -	    <img src="$IMAGES/clear.png">$repo</a></li>
   2.115 -EOT
   2.116 -	done
   2.117 -}
   2.118 -
   2.119 -#
   2.120 -# xHTML functions
   2.121 -#
   2.122 -
   2.123 -# ENTER will search but user may search for a button, so put one.
   2.124 -search_form() {
   2.125 -	[ -n "$repo" ] || repo="$(GET repo)"
   2.126 -	[ -n "$repo" ] || repo=Any
   2.127 -	cat << EOT
   2.128 -<div class="search">
   2.129 -	<form method="get" action="$SCRIPT_NAME">
   2.130 -		<p>
   2.131 -			<input type="text" name="search" size="20">
   2.132 -			<input type="submit" value="$(gettext 'Search')">
   2.133 -			<input class="radius" type="submit" name="files"
   2.134 -				value="$(gettext 'Files')">
   2.135 -			<input type="hidden" name="repo" value="$repo" />
   2.136 -		</p>
   2.137 -	</form>
   2.138 -</div>
   2.139 -EOT
   2.140 -}
   2.141 -
   2.142 -table_head() {
   2.143 -	cat << EOT
   2.144 -		<thead>
   2.145 -		<tr>
   2.146 -			<td>$(gettext 'Name')</td>
   2.147 -			<td>$(gettext 'Version')</td>
   2.148 -			<td>$(gettext 'Description')</td>
   2.149 -			<td>$(gettext 'Web')</td>
   2.150 -		</tr>
   2.151 -		</thead>
   2.152 -EOT
   2.153 -}
   2.154 -
   2.155 -sidebar() {
   2.156 -	[ -n "$repo" ] || repo=Public
   2.157 -	cat << EOT
   2.158 -<div id="sidebar">
   2.159 -	<h4>$(gettext 'Categories')</h4>
   2.160 -	<a class="active_base-system" href="$SCRIPT_NAME?cat=base-system&repo=$repo">$(gettext 'Base-system')</a>
   2.161 -	<a class="active_x-window" href="$SCRIPT_NAME?cat=x-window&repo=$repo">$(gettext 'X window')</a>
   2.162 -	<a class="active_utilities" href="$SCRIPT_NAME?cat=utilities&repo=$repo">$(gettext 'Utilities')</a>
   2.163 -	<a class="active_network" href="$SCRIPT_NAME?cat=network&repo=$repo">$(gettext 'Network')</a>
   2.164 -	<a class="active_games" href="$SCRIPT_NAME?cat=games&repo=$repo">$(gettext 'Games')</a>
   2.165 -	<a class="active_graphics" href="$SCRIPT_NAME?cat=graphics&repo=$repo">$(gettext 'Graphics')</a>
   2.166 -	<a class="active_office" href="$SCRIPT_NAME?cat=office&repo=$repo">$(gettext 'Office')</a>
   2.167 -	<a class="active_multimedia" href="$SCRIPT_NAME?cat=multimedia&repo=$repo">$(gettext 'Multimedia')</a>
   2.168 -	<a class="active_development" href="$SCRIPT_NAME?cat=development&repo=$repo">$(gettext 'Development')</a>
   2.169 -	<a class="active_system-tools" href="$SCRIPT_NAME?cat=system-tools&repo=$repo">$(gettext 'System tools')</a>
   2.170 -	<a class="active_security" href="$SCRIPT_NAME?cat=security&repo=$repo">$(gettext 'Security')</a>
   2.171 -	<a class="active_misc" href="$SCRIPT_NAME?cat=misc&repo=$repo">$(gettext 'Misc')</a>
   2.172 -	<a class="active_meta" href="$SCRIPT_NAME?cat=meta&repo=$repo">$(gettext 'Meta')</a>
   2.173 -	<a class="active_non-free" href="$SCRIPT_NAME?cat=non-free&repo=$repo">$(gettext 'Non free')</a>
   2.174 -	<a class="active_all" href="$SCRIPT_NAME?cat=all&repo=$repo">$(gettext 'All')</a>
   2.175 -EOT
   2.176 -
   2.177 -	if [ -d $LOCALSTATE/undigest ]; then
   2.178 -		[ -n "$category" ] || category="base-system"
   2.179 -		cat << EOT
   2.180 -	<h4>$(gettext 'Repositories')</h4>
   2.181 -	<a class="repo_Public" href="$SCRIPT_NAME?repo=Public&cat=$category">$(gettext 'Public')</a>
   2.182 -EOT
   2.183 -		for i in $(ls $LOCALSTATE/undigest); do
   2.184 -			cat << EOT
   2.185 -	<a class="repo_$i" href="$SCRIPT_NAME?repo=$i&cat=$category">$i</a>
   2.186 -EOT
   2.187 -		done
   2.188 -		cat << EOT
   2.189 -	<a class="repo_Any" href="$SCRIPT_NAME?repo=Any&cat=$category">$(gettext 'Any')</a>
   2.190 -EOT
   2.191 -	fi
   2.192 -	echo "</div>"
   2.193 -}
   2.194 -
   2.195 -repo_list() {
   2.196 -	if [ -n "$(ls $LOCALSTATE/undigest/ 2> /dev/null)" ]; then
   2.197 -		case "$repo" in
   2.198 -		Public)	;;
   2.199 -		""|Any) for i in $LOCALSTATE/undigest/* ; do
   2.200 -				[ -d "$i" ] && echo "$i$1"
   2.201 -			done ;;
   2.202 -		*)	echo "$LOCALSTATE/undigest/$repo$1"
   2.203 -			return ;;
   2.204 -		esac
   2.205 -	fi
   2.206 -	echo "$LOCALSTATE$1"
   2.207 -}
   2.208 -
   2.209 -repo_name() {
   2.210 -	case "$1" in
   2.211 -	$LOCALSTATE)		echo "Public" ;;
   2.212 -	$LOCALSTATE/undigest/*)	echo ${1#$LOCALSTATE/undigest/} ;;
   2.213 -	esac
   2.214 -}
   2.215 -
   2.216 -#
   2.217 -# Commands
   2.218 -#
   2.219 -
   2.220 -case " $(GET) " in
   2.221 -	*\ list\ *)
   2.222 -		#
   2.223 -		# List installed packages. This is the default because parsing
   2.224 -		# the full packages.desc can be long and take up some resources
   2.225 -		#
   2.226 -		cd $INSTALLED
   2.227 -		search_form
   2.228 -		sidebar
   2.229 -		LOADING_MSG="$(gettext 'Listing packages...')"
   2.230 -		loading_msg
   2.231 -		cat << EOT
   2.232 -<h2>$(gettext 'My packages')</h2>
   2.233 -<form method='get' action='$SCRIPT_NAME'>
   2.234 -	<input type="hidden" name="do" value="Remove" />
   2.235 -<div id="actions">
   2.236 -	<div class="float-left">
   2.237 -		$(gettext 'Selection:')
   2.238 -		<input type="submit" value="$(gettext 'Remove')" />
   2.239 -	</div>
   2.240 -	<div class="float-right">
   2.241 -		<a class="button" href="$SCRIPT_NAME?recharge">
   2.242 -			<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.243 -		<a class="button" href='$SCRIPT_NAME?up'>
   2.244 -			<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.245 -	</div>
   2.246 -</div>
   2.247 -EOT
   2.248 -		cat << EOT
   2.249 -<table class="zebra outbox">
   2.250 -$(table_head)
   2.251 -<tbody>
   2.252 -EOT
   2.253 -		for pkg in *
   2.254 -		do
   2.255 -			. $pkg/receipt
   2.256 -			echo '<tr>'
   2.257 -			# Use default tazpkg icon since all packages displayed are
   2.258 -			# installed
   2.259 -			colorpkg=$pkg
   2.260 -			grep -qs "^$pkg$" $LOCALSTATE/blocked-packages.list &&
   2.261 -				colorpkg="<span style='color: red;'>$pkg</span>"
   2.262 -			i18n_desc
   2.263 -			cat << EOT
   2.264 -<td class="pkg">
   2.265 -	<input type="checkbox" name="pkg" value="$pkg" />
   2.266 -		<a href="$(pkg_info_link $pkg)"><img
   2.267 -			src="$IMAGES/tazpkg-installed.png"/>$colorpkg</a></td>
   2.268 -<td>$VERSION</td>
   2.269 -<td class="desc">$SHORT_DESC</td>
   2.270 -<td><a href="$WEB_SITE"><img src="$IMAGES/browser.png"/></a></td>
   2.271 -</tr>
   2.272 -EOT
   2.273 -		done
   2.274 -		cat << EOT
   2.275 -</tbody>
   2.276 -</table>
   2.277 -</form>
   2.278 -EOT
   2.279 -		;;
   2.280 -
   2.281 -	*\ linkable\ *)
   2.282 -		#
   2.283 -		# List linkable packages.
   2.284 -		#
   2.285 -		cd $INSTALLED
   2.286 -		search_form
   2.287 -		sidebar
   2.288 -		LOADING_MSG=$(gettext 'Listing linkable packages...')
   2.289 -		loading_msg
   2.290 -		cat << EOT
   2.291 -<h2>$(gettext 'Linkable packages')</h2>
   2.292 -
   2.293 -<form method='get' action='$SCRIPT_NAME'>
   2.294 -	<input type="hidden" name="do" value="Link" />
   2.295 -<div id="actions">
   2.296 -	<div class="float-left">
   2.297 -		$(gettext 'Selection:')
   2.298 -		<input type="submit" value="$(gettext 'Link')" />
   2.299 -	</div>
   2.300 -	<div class="float-right">
   2.301 -		<a class="button" href="$SCRIPT_NAME?recharge">
   2.302 -			<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.303 -		<a class="button" href="$SCRIPT_NAME?up">
   2.304 -			<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.305 -	</div>
   2.306 -</div>
   2.307 -EOT
   2.308 -		cat << EOT
   2.309 -<table class="zebra outbox">
   2.310 -$(table_head)
   2.311 -<tbody>
   2.312 -EOT
   2.313 -		target=$(readlink $LOCALSTATE/fslink)
   2.314 -		for pkg in $(ls $target/$INSTALLED)
   2.315 -		do
   2.316 -			[ -s $pkg/receipt ] && continue
   2.317 -			. $target/$INSTALLED/$pkg/receipt
   2.318 -			i18n_desc
   2.319 -			cat << EOT
   2.320 -<tr>
   2.321 -	<td class="pkg">
   2.322 -		<input type="checkbox" name="pkg" value="$pkg" />
   2.323 -			<a href="$(pkg_info_link $pkg)"><img
   2.324 -				src="$IMAGES/tazpkg.png"/>$pkg</a>
   2.325 -	</td>
   2.326 -	<td>$VERSION</td>
   2.327 -	<td class="desc">$SHORT_DESC</td>
   2.328 -	<td><a href="$WEB_SITE"><img src="$IMAGES/browser.png"/></a></td>
   2.329 -</tr>
   2.330 -EOT
   2.331 -		done
   2.332 -		cat << EOT
   2.333 -</tbody>
   2.334 -</table>
   2.335 -</form>
   2.336 -EOT
   2.337 -		;;
   2.338 -
   2.339 -
   2.340 -	*\ cat\ *)
   2.341 -		#
   2.342 -		# List all available packages by category on mirror. Listing all
   2.343 -		# packages is too resource intensive and not useful.
   2.344 -		#
   2.345 -		cd  $LOCALSTATE
   2.346 -		repo=$(GET repo)
   2.347 -		category=$(GET cat)
   2.348 -		[ "$category" == "cat" ] && category="base-system"
   2.349 -		grep_category=$category
   2.350 -		[ "$grep_category" == "all" ] && grep_category=".*"
   2.351 -		search_form
   2.352 -		sidebar | sed "s/active_$category/active/;s/repo_$repo/active/"
   2.353 -		LOADING_MSG="$(gettext 'Listing packages...')"
   2.354 -		loading_msg
   2.355 -		cat << EOT
   2.356 -<h2>$(eval_gettext 'Category: $category')</h2>
   2.357 -
   2.358 -<form method='get' action='$SCRIPT_NAME'>
   2.359 -<div id="actions">
   2.360 -<div class="float-left">
   2.361 -	$(gettext 'Selection:')
   2.362 -	<input type="submit" name="do" value="Install" />
   2.363 -	<input type="submit" name="do" value="Remove" />
   2.364 -	<input type="hidden" name="repo" value="$repo" />
   2.365 -</div>
   2.366 -<div class="float-right">
   2.367 -	<a class="button" href="$SCRIPT_NAME?recharge">
   2.368 -		<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.369 -	<a class="button" href="$SCRIPT_NAME?up">
   2.370 -		<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.371 -	<a class="button" href='$SCRIPT_NAME?list'>
   2.372 -		<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.373 -</div>
   2.374 -</div>
   2.375 -EOT
   2.376 -		for i in $(repo_list ""); do
   2.377 -			if [ "$repo" != "Public" ]; then
   2.378 -				Repo_Name="$(repo_name $i)"
   2.379 -				cat << EOT
   2.380 -<h3>$(eval_gettext "Repository: \$Repo_Name")</h3>
   2.381 -EOT
   2.382 -			fi
   2.383 -			cat << EOT
   2.384 -<table class="zebra outbox">
   2.385 -$(table_head)
   2.386 -<tbody>
   2.387 -EOT
   2.388 -			grep "| $grep_category |" $i/packages.desc | \
   2.389 -				parse_packages_desc
   2.390 -			cat << EOT
   2.391 -</tbody>
   2.392 -</table>
   2.393 -EOT
   2.394 -		done
   2.395 -		echo '</form>' ;;
   2.396 -
   2.397 -
   2.398 -	*\ search\ *)
   2.399 -		#
   2.400 -		# Search for packages. Here default is to search in packages.desc
   2.401 -		# and so get result including packages names and descriptions
   2.402 -		#
   2.403 -		pkg=$(GET search)
   2.404 -		repo=$(GET repo)
   2.405 -		cd  $LOCALSTATE
   2.406 -		search_form
   2.407 -		sidebar | sed "s/repo_$repo/active/"
   2.408 -		LOADING_MSG="$(gettext 'Searching packages...')"
   2.409 -		loading_msg
   2.410 -		cat << EOT
   2.411 -<h2>$(gettext 'Search packages')</h2>
   2.412 -<form method="get" action="$SCRIPT_NAME">
   2.413 -<div id="actions">
   2.414 -<div class="float-left">
   2.415 -	$(gettext 'Selection:')
   2.416 -	<input type="submit" name="do" value="Install" />
   2.417 -	<input type="submit" name="do" value="Remove" />
   2.418 -	<a href="`cat $PANEL/lib/checkbox.js`">$(gettext 'Toogle all')</a>
   2.419 -</div>
   2.420 -<div class="float-right">
   2.421 -	<a class="button" href="$SCRIPT_NAME?recharge">
   2.422 -		<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.423 -	<a class="button" href="$SCRIPT_NAME?up">
   2.424 -		<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.425 -	<a class="button" href='$SCRIPT_NAME?list'>
   2.426 -		<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.427 -</div>
   2.428 -</div>
   2.429 -	<input type="hidden" name="repo" value="$repo" />
   2.430 -
   2.431 -	<table class="zebra outbox">
   2.432 -EOT
   2.433 -		if [ "$(GET files)" ]; then
   2.434 -			cat <<EOT
   2.435 -	<thead>
   2.436 -		<tr>
   2.437 -			<td>$(gettext 'Package')</td>
   2.438 -			<td>$(gettext 'File')</td>
   2.439 -		</tr>
   2.440 -	<thead>
   2.441 -	<tbody>
   2.442 -EOT
   2.443 -			unlzma -c $(repo_list /files.list.lzma) \
   2.444 -				| grep -Ei ": .*$(GET search)" | \
   2.445 -				while read PACKAGE FILE; do
   2.446 -					PACKAGE=${PACKAGE%:}
   2.447 -					image=tazpkg-installed.png
   2.448 -					[ -d $INSTALLED/$PACKAGE ] || image=tazpkg.png
   2.449 -					cat << EOT
   2.450 -<tr>
   2.451 -	<td><input type="checkbox" name="pkg" value="$PACKAGE">
   2.452 -		<a href="$(pkg_info_link $PACKAGE)"><img src="$IMAGES/$image" />$PACKAGE</a></td>
   2.453 -	<td>$FILE</td>
   2.454 -</tr>
   2.455 -EOT
   2.456 -				done
   2.457 -		else
   2.458 -			cat << EOT
   2.459 -$(table_head)
   2.460 -	<tbody>
   2.461 -EOT
   2.462 -			grep -ih $pkg $(repo_list /packages.desc) | \
   2.463 -				parse_packages_desc
   2.464 -		fi
   2.465 -		cat << EOT
   2.466 -	</tbody>
   2.467 -	</table>
   2.468 -</form>
   2.469 -EOT
   2.470 -		;;
   2.471 -
   2.472 -
   2.473 -	*\ recharge\ *)
   2.474 -		#
   2.475 -		# Lets recharge the packages list
   2.476 -		#
   2.477 -		search_form
   2.478 -		sidebar
   2.479 -		LOADING_MSG="$(gettext 'Recharging lists...')"
   2.480 -		loading_msg
   2.481 -		cat << EOT
   2.482 -<h2>$(gettext 'Recharge')</h2>
   2.483 -
   2.484 -<form method='get' action='$SCRIPT_NAME'>
   2.485 -<div id="actions">
   2.486 -	<div class="float-left">
   2.487 -		<p>$(gettext 'Recharge checks for new or updated packages')</p>
   2.488 -	</div>
   2.489 -	<div class="float-right">
   2.490 -		<a class="button" href='$SCRIPT_NAME?up'>
   2.491 -			<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.492 -		<a class="button" href='$SCRIPT_NAME?list'>
   2.493 -			<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.494 -	</div>
   2.495 -</div>
   2.496 -<div class="wrapper">
   2.497 -<pre>
   2.498 -EOT
   2.499 -		echo $(gettext 'Recharging packages list') | log
   2.500 -		tazpkg recharge | filter_taztools_msgs
   2.501 -		cat << EOT
   2.502 -</pre>
   2.503 -</div>
   2.504 -<p>$(gettext "Packages lists are up-to-date. You should check for upgrades \
   2.505 -now.")</p>
   2.506 -EOT
   2.507 -		;;
   2.508 -
   2.509 -
   2.510 -	*\ up\ *)
   2.511 -		#
   2.512 -		# Upgrade packages
   2.513 -		#
   2.514 -		cd $LOCALSTATE
   2.515 -		search_form
   2.516 -		sidebar
   2.517 -		LOADING_MSG="$(gettext 'Checking for upgrades...')"
   2.518 -		loading_msg
   2.519 -		cat << EOT
   2.520 -<h2>$(gettext 'Up packages')</h2>
   2.521 -
   2.522 -<form method="get" action="$SCRIPT_NAME">
   2.523 -<div id="actions">
   2.524 -	<div class="float-left">
   2.525 -		$(gettext 'Selection:')
   2.526 -		<input type="submit" name="do" value="Install" />
   2.527 -		<input type="submit" name="do" value="Remove" />
   2.528 -		<a href="$(cat $PANEL/lib/checkbox.js)">$(gettext 'Toogle all')</a>
   2.529 -	</div>
   2.530 -	<div class="float-right">
   2.531 -		<a class="button" href="$SCRIPT_NAME?recharge">
   2.532 -			<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.533 -		<a class="button" href="$SCRIPT_NAME?list">
   2.534 -			<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.535 -	</div>
   2.536 -</div>
   2.537 -EOT
   2.538 -		tazpkg up --check >/dev/null
   2.539 -		cat << EOT
   2.540 -<table class="zebra outbox">
   2.541 -$(table_head)
   2.542 -<tbody>
   2.543 -EOT
   2.544 -		for pkg in `cat packages.up`
   2.545 -		do
   2.546 -			grep -hs "^$pkg |" $LOCALSTATE/packages.desc \
   2.547 -				$LOCALSTATE/undigest/*/packages.desc | \
   2.548 -				parse_packages_desc
   2.549 -		done
   2.550 -		cat << EOT
   2.551 -</tbody>
   2.552 -</table>
   2.553 -</form>
   2.554 -EOT
   2.555 -		;;
   2.556 -
   2.557 -
   2.558 -	*\ do\ *)
   2.559 -		#
   2.560 -		# Do an action on one or some packages
   2.561 -		#
   2.562 -		opt=""
   2.563 -		pkgs=""
   2.564 -		cmdline=$(echo ${QUERY_STRING#do=} | sed s'/&/ /g')
   2.565 -		cmd=$(echo ${cmdline} | awk '{print $1}')
   2.566 -		cmdline=${cmdline#*repo=* }
   2.567 -		pkgs=$(echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//)
   2.568 -		pkgs="$(httpd -d "$pkgs")"
   2.569 -		cmd=$(echo $cmd | tr [:upper:] [:lower:])
   2.570 -		case $cmd in
   2.571 -			install)
   2.572 -				cmd=get-install opt=--forced
   2.573 -				LOADING_MSG="get-installing packages..."
   2.574 -				;;
   2.575 -			link)
   2.576 -				opt=$(readlink $LOCALSTATE/fslink)
   2.577 -				LOADING_MSG="linking packages..."
   2.578 -				;;
   2.579 -		esac
   2.580 -		search_form
   2.581 -		sidebar
   2.582 -		loading_msg
   2.583 -		cat << EOT
   2.584 -<h2>Tazpkg: $cmd</h2>
   2.585 -
   2.586 -<form method="get" action="$SCRIPT_NAME">
   2.587 -<div id="actions">
   2.588 -	<div class="float-left">
   2.589 -		<p>$(gettext 'Performing tasks on packages')</p>
   2.590 -	</div>
   2.591 -	<div class="float-right">
   2.592 -		<p>
   2.593 -			<a class="button" href="$SCRIPT_NAME?list">
   2.594 -				<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.595 -		</p>
   2.596 -	</div>
   2.597 -</div>
   2.598 -<div class="box">
   2.599 -$(eval_gettext 'Executing $cmd for: $pkgs')
   2.600 -</div>
   2.601 -EOT
   2.602 -		for pkg in $pkgs
   2.603 -		do
   2.604 -			echo '<pre>'
   2.605 -			    echo $(gettext 'y') | tazpkg $cmd $pkg $opt 2>/dev/null | filter_taztools_msgs
   2.606 -			echo '</pre>'
   2.607 -		done ;;
   2.608 -
   2.609 -
   2.610 -	*\ info\ *)
   2.611 -		#
   2.612 -		# Packages info
   2.613 -		#
   2.614 -		pkg=$(GET info)
   2.615 -		search_form
   2.616 -		sidebar
   2.617 -		if [ -d $INSTALLED/$pkg ]; then
   2.618 -			. $INSTALLED/$pkg/receipt
   2.619 -			files=`cat $INSTALLED/$pkg/files.list | wc -l`
   2.620 -			action="Remove"
   2.621 -			action_i18n=$(gettext 'Remove')
   2.622 -		else
   2.623 -			cd  $LOCALSTATE
   2.624 -			LOADING_MSG=$(gettext 'Getting package info...')
   2.625 -			loading_msg
   2.626 -			IFS='|'
   2.627 -			set -- $(grep -hs "^$pkg |" packages.desc \
   2.628 -				 undigest/*/packages.desc)
   2.629 -			unset IFS
   2.630 -			PACKAGE=$1
   2.631 -			VERSION="$(echo $2)"
   2.632 -			SHORT_DESC="$(echo $3)"
   2.633 -			CATEGORY="$(echo $4)"
   2.634 -			WEB_SITE="$(echo $5)"
   2.635 -			action="Install"
   2.636 -			action_i18n=$(gettext 'Install')
   2.637 -			temp="$(echo $pkg | sed 's/get-//g')"
   2.638 -		fi
   2.639 -		cat << EOT
   2.640 -<h2>$(eval_gettext 'Package $PACKAGE')</h2>
   2.641 -
   2.642 -<div id="actions">
   2.643 -	<div class="float-left">
   2.644 -		<p>
   2.645 -EOT
   2.646 -		if [ "$temp" != "$pkg" -a "$action" == "Install" ]; then
   2.647 -			temp="$(echo $pkg | sed 's/get-//g')"
   2.648 -			echo "<a class='button' href='$SCRIPT_NAME?do=Install&$temp'>$(gettext 'Install (Non Free)')</a>"
   2.649 -		else
   2.650 -			echo "<a class='button' href='$SCRIPT_NAME?do=$action&$pkg'>$action_i18n</a>"
   2.651 -		fi
   2.652 -
   2.653 -		if [ -d $INSTALLED/$pkg ]; then
   2.654 -			if grep -qs "^$pkg$" $LOCALSTATE/blocked-packages.list; then
   2.655 -				cat << EOT
   2.656 -			<a class="button" href="$SCRIPT_NAME?do=Unblock&$pkg">$(gettext 'Unblock')</a>
   2.657 -EOT
   2.658 -			else
   2.659 -				cat << EOT
   2.660 -			<a class="button" href='$SCRIPT_NAME?do=Block&$pkg'>$(gettext 'Block')</a>
   2.661 -EOT
   2.662 -			fi
   2.663 -			cat << EOT
   2.664 -			<a class="button" href='$SCRIPT_NAME?do=Repack&$pkg'>$(gettext 'Repack')</a>
   2.665 -EOT
   2.666 -		fi
   2.667 -		i18n_desc
   2.668 -		cat << EOT
   2.669 -		</p>
   2.670 -	</div>
   2.671 -	<div class="float-right">
   2.672 -		<p>
   2.673 -			<a class="button" href='$SCRIPT_NAME?list'>
   2.674 -				<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.675 -		</p>
   2.676 -	</div>
   2.677 -</div>
   2.678 -<table class="zebra outbox">
   2.679 -<tbody>
   2.680 -	<tr><td>$(gettext 'Name:')</td><td>$PACKAGE</td></tr>
   2.681 -	<tr><td>$(gettext 'Version:')</td><td>$VERSION</td></tr>
   2.682 -	<tr><td>$(gettext 'Description:')</td><td>$SHORT_DESC</td></tr>
   2.683 -	<tr><td>$(gettext 'Category:')</td><td>$CATEGORY</td></tr>
   2.684 -EOT
   2.685 -		if [ -d $INSTALLED/$pkg ]; then
   2.686 -			cat << EOT
   2.687 -	<tr><td>$(gettext 'Maintainer:')</td><td>$MAINTAINER</td></tr>
   2.688 -	<tr><td>$(gettext 'Website:')</td><td><a href="$WEB_SITE">$WEB_SITE</a></td></tr>
   2.689 -	<tr><td>$(gettext 'Sizes:')</td><td>$PACKED_SIZE/$UNPACKED_SIZE</td></tr>
   2.690 -EOT
   2.691 -			if [ -n "$DEPENDS" ]; then
   2.692 -				echo "<tr><td>$(gettext 'Depends:')</td><td>"
   2.693 -				for i in $DEPENDS; do
   2.694 -					echo -n "<a href="$(pkg_info_link $i)">$i</a> "
   2.695 -				done
   2.696 -				echo "</td></tr>"
   2.697 -			fi
   2.698 -			if [ -n "$SUGGESTED" ]; then
   2.699 -				echo "<tr><td>$(gettext 'Suggested:')</td><td>"
   2.700 -				for i in $SUGGESTED; do
   2.701 -					echo -n "<a href="$(pkg_info_link $i)">$i</a> "
   2.702 -				done
   2.703 -				echo "</td></tr>"
   2.704 -			fi
   2.705 -			[ -n "$TAGS" ] && echo "<tr><td>$(gettext 'Tags:')</td><td>$TAGS</td></tr>"
   2.706 -			I_FILES=$(cat $INSTALLED/$pkg/files.list | wc -l)
   2.707 -			cat << EOT
   2.708 -</tbody>
   2.709 -</table>
   2.710 -
   2.711 -<p>$(eval_gettext 'Installed files: $I_FILES')</p>
   2.712 -
   2.713 -<pre>$(cat $INSTALLED/$pkg/files.list)</pre>
   2.714 -EOT
   2.715 -		else
   2.716 -			cat << EOT
   2.717 -<tr><td>$(gettext 'Website:')</td><td><a href="$WEB_SITE">$WEB_SITE</a></td></tr>
   2.718 -<tr><td>$(gettext 'Sizes:')</td><td>$(grep -hsA 3 ^$pkg$ packages.txt undigest/*/packages.txt | \
   2.719 -		tail -n 1 | sed 's/ *//')</td></tr>
   2.720 -</table>
   2.721 -
   2.722 -<p>$(gettext 'Installed files:')</p>
   2.723 -
   2.724 -<pre>
   2.725 -`unlzma -c files.list.lzma undigest/*/files.list.lzma 2> /dev/null | \
   2.726 - sed "/^$pkg: /!d;s/^$pkg: //"`
   2.727 -</pre>
   2.728 -EOT
   2.729 -		fi
   2.730 -		;;
   2.731 -
   2.732 -
   2.733 -	*\ admin\ * )
   2.734 -		#
   2.735 -		# Tazpkg configuration page
   2.736 -		#
   2.737 -		cmd=$(GET admin)
   2.738 -		case "$cmd" in
   2.739 -			clean)
   2.740 -				rm -rf /var/cache/tazpkg/* ;;
   2.741 -			add-mirror)
   2.742 -				# Decode url
   2.743 -				mirror=$(GET mirror)
   2.744 -				case "$mirror" in
   2.745 -				http://*|ftp://*)
   2.746 -					echo "$mirror" >> $(GET file) ;;
   2.747 -				esac ;;
   2.748 -			rm-mirror=http://*|rm-mirror=ftp://*)
   2.749 -				mirror=${cmd#rm-mirror=}
   2.750 -				sed -i -e "s@$mirror@@" -e '/^$/d' $(GET file) ;;
   2.751 -			select-mirror*)
   2.752 -				release=`cat /etc/slitaz-release`
   2.753 -				mirror="$(GET mirror)packages/$release/"
   2.754 -				tazpkg setup-mirror $mirror | log
   2.755 -				;;
   2.756 -			add-repo)
   2.757 -				# Decode url
   2.758 -				mirror=$(GET mirror)
   2.759 -				repository=$LOCALSTATE/undigest/$(GET repository)
   2.760 -				case "$mirror" in
   2.761 -				http://*|ftp://*)
   2.762 -					mkdir -p $repository
   2.763 -					echo "$mirror" > $repository/mirror
   2.764 -					echo "$mirror" > $repository/mirrors ;;
   2.765 -				esac ;;
   2.766 -			rm-repo=*)
   2.767 -				repository=${cmd#rm-repo=}
   2.768 -				rm -rf $LOCALSTATE/undigest/$repository ;;
   2.769 -		esac
   2.770 -		[ "$cmd" == "$(gettext 'Set link')" ] &&
   2.771 -			[ -d "$(GET link)/$INSTALLED" ] &&
   2.772 -			ln -fs $(GET link) $LOCALSTATE/fslink
   2.773 -		[ "$cmd" == "$(gettext 'Remove link')" ] &&
   2.774 -			rm -f $LOCALSTATE/fslink
   2.775 -		cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l`
   2.776 -		cache_size=`du -sh /var/cache/tazpkg`
   2.777 -		sidebar
   2.778 -		cat << EOT
   2.779 -<h2>$(gettext 'Administration')</h2>
   2.780 -<div>
   2.781 -	<p>$(gettext 'Tazpkg administration and settings')</p>
   2.782 -</div>
   2.783 -<div id="actions">
   2.784 -	<a class="button" href='$SCRIPT_NAME?admin=&action=saveconf'>
   2.785 -		<img src="$IMAGES/tazpkg.png" />$(gettext 'Save configuration')</a>
   2.786 -	<a class="button" href='$SCRIPT_NAME?admin=&action=listconf'>
   2.787 -		<img src="$IMAGES/edit.png" />$(gettext 'List configuration files')</a>
   2.788 -	<a class="button" href='$SCRIPT_NAME?admin=&action=quickcheck'>
   2.789 -		<img src="$IMAGES/recharge.png" />$(gettext 'Quick check')</a>
   2.790 -	<a class="button" href='$SCRIPT_NAME?admin=&action=fullcheck'>
   2.791 -		<img src="$IMAGES/recharge.png" />$(gettext 'Full check')</a>
   2.792 -</div>
   2.793 -EOT
   2.794 -		case "$(GET action)" in
   2.795 -				saveconf)
   2.796 -					LOADING_MSG=$(gettext 'Creating the package...')
   2.797 -					loading_msg
   2.798 -					echo "<pre>"
   2.799 -					cd $HOME
   2.800 -					tazpkg repack-config | filter_taztools_msgs
   2.801 -					echo -n "$(gettext 'Path:') " && ls $HOME/config-*.tazpkg
   2.802 -					echo "</pre>" ;;
   2.803 -				listconf)
   2.804 -					echo "<h4>$(gettext 'Configuration files')</h4>"
   2.805 -					echo "<ul>"
   2.806 -					tazpkg list-config | while read file; do
   2.807 -						[ "${file:0:1}" == "/" ] || continue
   2.808 -						if [ -e $file ]; then
   2.809 -							echo "<li><a href=\"index.cgi?file=$file\">$file</a></li>"
   2.810 -						else
   2.811 -							echo "<li>$file</li>"
   2.812 -						fi
   2.813 -					done
   2.814 -					echo "</ul>"
   2.815 -					echo "</pre>" ;;
   2.816 -				quickcheck)
   2.817 -					LOADING_MSG=$(gettext 'Checking packages consistency...')
   2.818 -					loading_msg
   2.819 -					echo "<pre>"
   2.820 -					tazpkg check
   2.821 -					echo "</pre>" ;;
   2.822 -				fullcheck)
   2.823 -					LOADING_MSG=$(gettext 'Full packages check...')
   2.824 -					loading_msg
   2.825 -					echo "<pre>"
   2.826 -					tazpkg check --full
   2.827 -					echo "</pre>" ;;
   2.828 -				esac
   2.829 -		cat << EOT
   2.830 -<h3>$(gettext 'Packages cache')</h3>
   2.831 -
   2.832 -<div>
   2.833 -	<form method="get" action="$SCRIPT_NAME">
   2.834 -		<p>
   2.835 -			$(eval_gettext 'Packages in the cache: $cache_files ($cache_size)')
   2.836 -			<input type="hidden" name="admin" value="clean" />
   2.837 -			<input type="submit" value="Clean" />
   2.838 -		</p>
   2.839 -	</form>
   2.840 -</div>
   2.841 -
   2.842 -<h3>$(gettext 'Default mirror')</h3>
   2.843 -
   2.844 -<pre>$(cat /var/lib/tazpkg/mirror)</pre>
   2.845 -
   2.846 -<h3>$(gettext 'Current mirror list')</h3>
   2.847 -EOT
   2.848 -		for i in $LOCALSTATE/mirrors $LOCALSTATE/undigest/*/mirrors; do
   2.849 -			[ -s $i ] || continue
   2.850 -			echo '<div class="box">'
   2.851 -			if [ $i != $LOCALSTATE/mirrors ]; then
   2.852 -				Repo_Name="$(repo_name $(dirname $i))"
   2.853 -				echo "<h4>$(eval_gettext 'Repository: $Repo_Name')</h4>"
   2.854 -			fi
   2.855 -			echo "<ul>"
   2.856 -			list_mirrors $i
   2.857 -			echo "</ul>"
   2.858 -			cat << EOT
   2.859 -</div>
   2.860 -<form method="get" action="$SCRIPT_NAME">
   2.861 -	<p>
   2.862 -		<input type="hidden" name="admin" value="add-mirror" />
   2.863 -		<input type="hidden" name="file" value="$i" />
   2.864 -		<input type="text" name="mirror" size="60">
   2.865 -		<input type="submit" value="Add mirror" />
   2.866 -	</p>
   2.867 -</form>
   2.868 -EOT
   2.869 -		done
   2.870 -		echo "<h3>$(gettext 'Private repositories')</h3>"
   2.871 -		[ -n "$(ls $LOCALSTATE/undigest 2> /dev/null)" ] && cat << EOT
   2.872 -<div class="box">
   2.873 -	<ul>
   2.874 -		$(list_repos)
   2.875 -	</ul>
   2.876 -</div>
   2.877 -EOT
   2.878 -		cat << EOT
   2.879 -<form method="get" action="$SCRIPT_NAME">
   2.880 -	<p>
   2.881 -		<input type="hidden" name="admin" value="add-repo" />
   2.882 -		$(gettext 'Name') <input type="text" name="repository" size="10">
   2.883 -		$(gettext 'mirror')
   2.884 -		<input type="text" name="mirror" value="http://" size="50">
   2.885 -		<input type="submit" value="Add repository" />
   2.886 -	</p>
   2.887 -</form>
   2.888 -
   2.889 -<h3>$(gettext 'Link to another SliTaz installation')</h3>
   2.890 -
   2.891 -<p>$(gettext "This link points to the root of another SliTaz installation. \
   2.892 -You will be able to install packages using soft links to it.")</p>
   2.893 -
   2.894 -<form method="get" action="$SCRIPT_NAME">
   2.895 -<p>
   2.896 -	<input type="hidden" name="admin" value="add-link" />
   2.897 -	<input type="text" name="link"
   2.898 -	 value="$(readlink $LOCALSTATE/fslink 2> /dev/null)" size="50">
   2.899 -	<input type="submit" name="admin" value="$(gettext 'Set link')" />
   2.900 -	<input type="submit" name="admin" value="$(gettext 'Remove link')" />
   2.901 -</p>
   2.902 -</form>
   2.903 -EOT
   2.904 -		version=$(cat /etc/slitaz-release)
   2.905 -		cat << EOT
   2.906 -
   2.907 -<h3 id="dvd">$(gettext 'SliTaz packages DVD')</h3>
   2.908 -
   2.909 -<p>$(eval_gettext "A bootable DVD image of all available packages for the \
   2.910 -\$version version is generated every day. It also contains a copy of the \
   2.911 -website and can be used without an internet connection. This image can be \
   2.912 -installed on a DVD or an USB key.")</p>
   2.913 -
   2.914 -<div>
   2.915 -	<form method="post" action='$SCRIPT_NAME?admin&action=dvdimage#dvd'>
   2.916 -	<p>
   2.917 -		<a class="button"
   2.918 -			href='http://mirror.slitaz.org/iso/$version/packages-$version.iso'>
   2.919 -			<img src="$IMAGES/tazpkg.png" />$(gettext 'Download DVD image')</a>
   2.920 -		<a class="button" href='$SCRIPT_NAME?admin&action=dvdusbkey#dvd'>
   2.921 -			<img src="$IMAGES/tazpkg.png" />$(gettext 'Install from DVD/USB key')</a>
   2.922 -	</p>
   2.923 -	<div class="box">
   2.924 -		$(gettext 'Install from ISO image:')
   2.925 -		<input type="text" name="dvdimage" size="40" value="/root/packages-$version.iso">
   2.926 -	</div>
   2.927 -	</form>
   2.928 -</div>
   2.929 -EOT
   2.930 -		if [ "$(GET action)" == "dvdimage" ]; then
   2.931 -			dev=$(POST dvdimage)
   2.932 -			mkdir -p /mnt/packages 2> /dev/null
   2.933 -			echo "<pre>"
   2.934 -			mount -t iso9660 -o loop,ro $dev /mnt/packages &&
   2.935 -			/mnt/packages/install.sh &&
   2.936 -			echo "$dev is installed on /mnt/packages"
   2.937 -			echo "</pre>"
   2.938 -		fi
   2.939 -		if [ "$(GET action)" == "dvdusbkey" ]; then
   2.940 -			mkdir -p /mnt/packages 2> /dev/null
   2.941 -			for tag in "LABEL=\"packages-$version\" TYPE=\"iso9660\"" \
   2.942 -				"LABEL=\"sources-$version\" TYPE=\"iso9660\"" ; do
   2.943 -				dev=$(blkid | grep "$tag" | cut -d: -f1)
   2.944 -				[ -n "$dev" ] || continue
   2.945 -				echo "<pre>"
   2.946 -				mount -t iso9660 -o ro $dev /mnt/packages &&
   2.947 -				/mnt/packages/install.sh &&
   2.948 -				echo "$dev is installed on /mnt/packages"
   2.949 -				echo "</pre>"
   2.950 -				break
   2.951 -			done
   2.952 -		fi
   2.953 -		 ;;
   2.954 -	*)
   2.955 -		#
   2.956 -		# Default to summary
   2.957 -		#
   2.958 -		search_form
   2.959 -		sidebar
   2.960 -		[ -n "$(GET block)" ] && tazpkg block $(GET block)
   2.961 -		[ -n "$(GET unblock)" ] && tazpkg unblock $(GET unblock)
   2.962 -		cat << EOT
   2.963 -<h2>$(gettext 'Summary')</h2>
   2.964 -
   2.965 -<div id="actions">
   2.966 -	<a class="button" href="$SCRIPT_NAME?list">
   2.967 -		<img src="$IMAGES/tazpkg.png" />$(gettext 'My packages')</a>
   2.968 -EOT
   2.969 -		fslink=$(readlink $LOCALSTATE/fslink)
   2.970 -		[ -n "$fslink" -a -d "$fslink/$INSTALLED" ] &&
   2.971 -			cat << EOT
   2.972 -	<a class="button" href="$SCRIPT_NAME?linkable">
   2.973 -		<img src="$IMAGES/tazpkg.png" />$(gettext 'Linkable packages')</a>
   2.974 -EOT
   2.975 -		cat << EOT
   2.976 -	<a class="button" href="$SCRIPT_NAME?recharge">
   2.977 -		<img src="$IMAGES/recharge.png" />$(gettext 'Recharge list')</a>
   2.978 -	<a class="button" href="$SCRIPT_NAME?up">
   2.979 -		<img src="$IMAGES/update.png" />$(gettext 'Check upgrades')</a>
   2.980 -	<a class="button" href="$SCRIPT_NAME?admin">
   2.981 -		<img src="$IMAGES/edit.png" />$(gettext 'Administration')</a>
   2.982 -</div>
   2.983 -
   2.984 -$(packages_summary)
   2.985 -
   2.986 -
   2.987 -<h3>$(gettext 'Latest log entries')</h3>
   2.988 -
   2.989 -<pre>
   2.990 -`tail -n 5 /var/log/tazpkg.log | fgrep "-" | \
   2.991 -	awk '{print $1, $2, $3, $4, $5, $6, $7}'`
   2.992 -</pre>
   2.993 -EOT
   2.994 -		;;
   2.995 -esac
   2.996 -
   2.997 -# xHTML 5 footer
   2.998 -xhtml_footer
   2.999 -exit 0
     3.1 --- a/styles/default/header.html	Sat Jun 29 17:06:39 2013 +0200
     3.2 +++ b/styles/default/header.html	Sat Jun 29 20:23:30 2013 +0200
     3.3 @@ -39,18 +39,6 @@
     3.4  				$(for i in menu.d/panel/* ; do [ -f $i ] && . $i menu $i ; done)
     3.5  			</ul>
     3.6  		</li>
     3.7 -		<li><a href="/pkgs.cgi">$(gettext 'Packages')</a>
     3.8 -			<ul>
     3.9 -				<li><a href="/pkgs.cgi?list"><img
    3.10 -					src="/styles/default/images/tazpkg.png" />$(gettext 'My packages')</a></li>
    3.11 -				<li><a href="/pkgs.cgi?recharge"><img
    3.12 -					src="/styles/default/images/update.png" />$(gettext 'Recharge list')</a></li>
    3.13 -				<li><a href="/pkgs.cgi?up"><img
    3.14 -					src="/styles/default/images/update.png" />$(gettext 'Check updates')</a></li>
    3.15 -				<li><a href="/pkgs.cgi?admin"><img
    3.16 -					src="/styles/default/images/edit.png" />$(gettext 'Administration')</a></li>
    3.17 -			</ul>
    3.18 -		</li>
    3.19  		<li><a href="/network.cgi">$(gettext 'Network')</a>
    3.20  			<ul>
    3.21  				<li><a href="/network.cgi?eth"><img
    3.22 @@ -93,15 +81,6 @@
    3.23  				$(for i in menu.d/hardware/* ; do [ -f $i ] && . $i menu $i ; done)
    3.24  			</ul>
    3.25  		</li>
    3.26 -		<li><a href="/live.cgi">$(gettext 'Live')</a>
    3.27 -			<ul>
    3.28 -				<li><a href="/live.cgi?liveusb">$(gettext 'Create a live USB key')</a></li>
    3.29 -				<li><a href="/live.cgi#liveiso">$(gettext 'Create a live CD-ROM')</a></li>
    3.30 -				<li><a href="/live.cgi#hybrid">$(gettext 'Create a hybrid ISO')</a></li>
    3.31 -				<li><a href="/live.cgi#loram">$(gettext 'Convert ISO to loram')</a></li>
    3.32 -				<li><a href="/live.cgi#meta">$(gettext 'Build a meta ISO')</a></li>
    3.33 -			</ul>
    3.34 -		</li>
    3.35  		$(for i in menu.d/* ; do [ -f $i ] && . $i menu $i ; done)
    3.36  	</ul>
    3.37  </div>