rev |
line source |
pankso@7
|
1 #!/bin/sh
|
pankso@7
|
2 #
|
pankso@7
|
3 # TazPKG CGI interface - Manage packages via the a browse
|
pankso@7
|
4 #
|
pankso@7
|
5 # This CGI interface intensively use tazpkg to manage package and have
|
pankso@37
|
6 # it own code for some tasks. Please KISS it important and keep speed
|
pankso@7
|
7 # in mind. Thanks, Pankso.
|
pankso@7
|
8 #
|
pankso@44
|
9 # (C) 2011 SliTaz GNU/Linux - GNU gpl v3
|
pankso@7
|
10 #
|
pankso@7
|
11 echo "Content-Type: text/html"
|
pankso@7
|
12 echo ""
|
pankso@7
|
13
|
pankso@17
|
14 . lib/libtazpanel
|
pankso@17
|
15 get_config
|
pankso@7
|
16
|
pankso@7
|
17 # Include gettext helper script.
|
pankso@7
|
18 . /usr/bin/gettext.sh
|
pankso@7
|
19
|
pankso@7
|
20 # Export package name for gettext.
|
pankso@39
|
21 TEXTDOMAIN='tazpanel'
|
pankso@7
|
22 export TEXTDOMAIN
|
pankso@7
|
23
|
pankso@7
|
24 # xHTML 5 header
|
pankso@34
|
25 TITLE="- Packages"
|
pankso@41
|
26 xhtml_header | sed 's/id="content"/id="content-sidebar"/'
|
pankso@7
|
27
|
pankso@7
|
28 # DEBUG mode
|
pankso@10
|
29 if [ $DEBUG == "1" ]; then
|
pankso@10
|
30 echo "<p class='debug'>$REQUEST_METHOD ${QUERY_STRING}</p>"
|
pankso@10
|
31 fi
|
pankso@7
|
32
|
pankso@7
|
33 # We need packages information for list and search
|
pankso@7
|
34 parse_packages_desc() {
|
pankso@45
|
35 IFS="|"
|
pankso@45
|
36 cut -f 1,2,3,5 -d "|" | while read PACKAGE VERSION SHORT_DESC WEB_SITE
|
pankso@7
|
37 do
|
pankso@7
|
38 echo '<tr>'
|
pankso@46
|
39 if [ -d $INSTALLED/${PACKAGE% } ]; then
|
pankso@46
|
40 echo -e "<td><input type='checkbox' name='pkg' value='$PACKAGE'>\n
|
pankso@45
|
41 <a href='$SCRIPT_NAME?info=$PACKAGE'>
|
pankso@45
|
42 <img src='$IMAGES/tazpkg-installed.png'/>$PACKAGE</a></td>"
|
pankso@7
|
43 else
|
pankso@46
|
44 echo -e "<td><input type='checkbox' name='pkg' value='$PACKAGE'>\n
|
pankso@45
|
45 <img src='$IMAGES/tazpkg.png'/>$PACKAGE</td>"
|
pankso@7
|
46 fi
|
pankso@45
|
47 echo "<td>$VERSION</td>"
|
pankso@45
|
48 echo "<td class='desc'>$SHORT_DESC</td>"
|
pankso@45
|
49 echo "<td><a href='$WEB_SITE'>web</a></td>"
|
pankso@7
|
50 echo '</tr>'
|
pankso@7
|
51 done
|
pankso@45
|
52 unset IFS
|
pankso@7
|
53 }
|
pankso@7
|
54
|
pankso@7
|
55 # Remove status and ESC char from tazpkg commands output
|
pankso@7
|
56 filter_tazpkg_msgs() {
|
pankso@7
|
57 grep ^[a-zA-Z0-9] | sed s'/\.*\]//'
|
pankso@7
|
58 }
|
pankso@7
|
59
|
pankso@7
|
60 # Display a full summary of packages stats
|
pankso@7
|
61 packages_summary() {
|
pankso@37
|
62 gettext "Last recharge : "
|
pankso@37
|
63 stat=`stat -c %y $LOCALSTATE/packages.list | \
|
pankso@37
|
64 sed 's/\(:..\):.*/\1/' | awk '{print $1}'`
|
pankso@37
|
65 mtime=`find /var/lib/tazpkg/packages.list -mtime +10`
|
pankso@37
|
66 echo -n "$stat "
|
pankso@37
|
67 if [ "$mtime" ]; then
|
pankso@37
|
68 echo "(Older than 10 days)"
|
pankso@37
|
69 else
|
pankso@37
|
70 echo "(Not older than 10 days)"
|
pankso@37
|
71 fi
|
pankso@8
|
72 gettext "Installed packages : "
|
pankso@7
|
73 ls $INSTALLED | wc -l
|
pankso@8
|
74 gettext "Mirrored packages : "
|
pankso@7
|
75 cat $LOCALSTATE/packages.list | wc -l
|
pankso@8
|
76 gettext "Upgradeable packages : "
|
pankso@8
|
77 cat $LOCALSTATE/upgradeable-packages.list | wc -l
|
pankso@44
|
78 #gettext "Installed files : "
|
pankso@44
|
79 #cat $INSTALLED/*/files.list | wc -l
|
pankso@8
|
80 gettext "Blocked packages : "
|
pankso@8
|
81 cat $LOCALSTATE/blocked-packages.list | wc -l
|
pankso@7
|
82 }
|
pankso@7
|
83
|
pankso@10
|
84 # Parse mirrors list to be able to have an icon an remove link
|
pankso@10
|
85 list_mirrors() {
|
pankso@10
|
86 cat $LOCALSTATE/mirrors | while read line
|
pankso@10
|
87 do
|
pankso@10
|
88 cat << EOT
|
pankso@10
|
89 <li><a href="$SCRIPT_NAME?config=rm-mirror=$line"><img
|
pankso@10
|
90 src="$IMAGES/clear.png" /></a><a href="$line">$line</a></li>
|
pankso@10
|
91 EOT
|
pankso@10
|
92 done
|
pankso@10
|
93 }
|
pankso@10
|
94
|
pankso@7
|
95 #
|
pankso@7
|
96 # xHTML functions
|
pankso@7
|
97 #
|
pankso@7
|
98
|
pankso@17
|
99 # ENTER will search but user may search for a button, so put one.
|
pankso@9
|
100 search_form() {
|
pankso@9
|
101 cat << EOT
|
pankso@9
|
102 <div class="search">
|
pankso@17
|
103 <form method="get" action="$SCRIPT_NAME">
|
pankso@17
|
104 <p>
|
pankso@17
|
105 <input type="text" name="search" size="20">
|
pankso@17
|
106 <input type="submit" value="`gettext "Search"`">
|
pankso@17
|
107 </p>
|
pankso@17
|
108 </form>
|
pankso@9
|
109 </div>
|
pankso@9
|
110 EOT
|
pankso@9
|
111 }
|
pankso@9
|
112
|
pankso@17
|
113 table_head() {
|
pankso@7
|
114 cat << EOT
|
pankso@7
|
115 <tr id="thead">
|
pankso@7
|
116 <td>`gettext "Name"`</td>
|
pankso@7
|
117 <td>`gettext "Version"`</td>
|
pankso@7
|
118 <td>`gettext "Description"`</td>
|
pankso@7
|
119 <td>`gettext "Web"`</td>
|
pankso@7
|
120 </tr>
|
pankso@7
|
121 EOT
|
pankso@7
|
122 }
|
pankso@7
|
123
|
pankso@41
|
124 sidebar() {
|
pankso@7
|
125 cat << EOT
|
pankso@41
|
126 <div id="sidebar">
|
pankso@41
|
127 <h4>Categories</h4>
|
pankso@41
|
128 <a class="active_base-system" href="$SCRIPT_NAME?cat=base-system">Base-system</a>
|
pankso@41
|
129 <a class="active_x-window" href="$SCRIPT_NAME?cat=x-window">X window</a>
|
pankso@41
|
130 <a class="active_utilities" href="$SCRIPT_NAME?cat=utilities">Utilities</a>
|
pankso@41
|
131 <a class="active_network" href="$SCRIPT_NAME?cat=network">Network</a>
|
pankso@41
|
132 <a class="active_games" href="$SCRIPT_NAME?cat=games">Games</a>
|
pankso@41
|
133 <a class="active_graphics" href="$SCRIPT_NAME?cat=graphics">Graphics</a>
|
pankso@41
|
134 <a class="active_office" href="$SCRIPT_NAME?cat=office">Office</a>
|
pankso@41
|
135 <a class="active_multimedia" href="$SCRIPT_NAME?cat=multimedia">Multimedia</a>
|
pankso@41
|
136 <a class="active_developement" href="$SCRIPT_NAME?cat=development">Development</a>
|
pankso@41
|
137 <a class="active_system-tools" href="$SCRIPT_NAME?cat=system-tools">System tools</a>
|
pankso@41
|
138 <a class="active_security" href="$SCRIPT_NAME?cat=security">Security</a>
|
pankso@41
|
139 <a class="active_misc" href="$SCRIPT_NAME?cat=misc">Misc</a>
|
pankso@41
|
140 <a class="active_meta" href="$SCRIPT_NAME?cat=meta">Meta</a>
|
pankso@41
|
141 <a class="active_non-free" href="$SCRIPT_NAME?cat=non-free">Non free</a>
|
pankso@9
|
142 </div>
|
pankso@7
|
143 EOT
|
pankso@7
|
144 }
|
pankso@7
|
145
|
pankso@45
|
146 #
|
pankso@45
|
147 # Commands
|
pankso@45
|
148 #
|
pankso@45
|
149
|
pankso@45
|
150 case "$QUERY_STRING" in
|
pankso@45
|
151 list*)
|
pankso@45
|
152 #
|
pankso@45
|
153 # List installed packages. This is the default because parsing
|
pankso@45
|
154 # the full packages.desc can be long and take some resources
|
pankso@45
|
155 #
|
pankso@45
|
156 cd $INSTALLED
|
pankso@45
|
157 search_form
|
pankso@45
|
158 sidebar
|
pankso@45
|
159 LOADING_MSG="Listing packages..."
|
pankso@45
|
160 loading_msg
|
pankso@45
|
161 cat << EOT
|
pankso@45
|
162 <h2>`gettext "My packages"`</h2>
|
pankso@45
|
163 <form method='get' action='$SCRIPT_NAME'>
|
pankso@45
|
164 <div id="actions">
|
pankso@46
|
165 <div class="float-left">
|
pankso@46
|
166 `gettext "Selection:"`
|
pankso@46
|
167 <input type="submit" name="do" value="Remove" />
|
pankso@46
|
168 </div>
|
pankso@46
|
169 <div class="float-right">
|
pankso@46
|
170 `gettext "List:"`
|
pankso@46
|
171 <input type="submit" name="recharge" value="Recharge" />
|
pankso@46
|
172 <input type="submit" name="upgradeable" value="Upgrade" />
|
pankso@46
|
173 </div>
|
pankso@41
|
174 </div>
|
pankso@7
|
175 EOT
|
pankso@7
|
176 table_start
|
pankso@41
|
177 table_head
|
pankso@7
|
178 for pkg in *
|
pankso@7
|
179 do
|
pankso@7
|
180 . $pkg/receipt
|
pankso@7
|
181 echo '<tr>'
|
pankso@7
|
182 # Use default tazpkg icon since all packages displayed are
|
pankso@7
|
183 # installed
|
pankso@7
|
184 echo "<td class='pkg'>
|
pankso@7
|
185 <input type='checkbox' name='pkg' value=\"$pkg\" />
|
pankso@7
|
186 <a href='$SCRIPT_NAME?info=$pkg'><img
|
pankso@41
|
187 src='$IMAGES/tazpkg-installed.png'/>$pkg</a></td>"
|
pankso@7
|
188 echo "<td>$VERSION</td>"
|
pankso@7
|
189 echo "<td class='desc'>$SHORT_DESC</td>"
|
pankso@7
|
190 echo "<td><a href='$WEB_SITE'>web</a></td>"
|
pankso@7
|
191 echo '</tr>'
|
pankso@7
|
192 done
|
pankso@7
|
193 table_end
|
pankso@7
|
194 echo '</form>' ;;
|
pankso@41
|
195 cat*)
|
pankso@45
|
196 #
|
pankso@41
|
197 # List all available packages by category on mirror. Listing all
|
pankso@41
|
198 # packages is to resource intensive and not usefull.
|
pankso@45
|
199 #
|
pankso@9
|
200 cd $LOCALSTATE
|
pankso@41
|
201 category=${QUERY_STRING#cat=}
|
pankso@41
|
202 [ "${QUERY_STRING}" == "cat" ] && category="base-system"
|
pankso@9
|
203 search_form
|
pankso@41
|
204 sidebar | sed s/"active_${category}"/"active"/
|
pankso@45
|
205 LOADING_MSG="Listing packages..."
|
pankso@45
|
206 loading_msg
|
pankso@9
|
207 cat << EOT
|
pankso@41
|
208 <h2>`gettext "Category:"` $category</h2>
|
pankso@9
|
209 <form method='get' action='$SCRIPT_NAME'>
|
pankso@9
|
210 <div id="actions">
|
pankso@45
|
211 <div class="float-left">
|
pankso@45
|
212 `gettext "Selection:"`
|
pankso@45
|
213 <input type="submit" name="do" value="Install" />
|
pankso@45
|
214 <input type="submit" name="do" value="Remove" />
|
pankso@45
|
215 </div>
|
pankso@45
|
216 <div class="float-right">
|
pankso@45
|
217 `gettext "List:"`
|
pankso@45
|
218 <input type="submit" name="recharge" value="Recharge" />
|
pankso@45
|
219 <input type="submit" name="upgradeable" value="Upgrade" />
|
pankso@45
|
220 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@45
|
221 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@45
|
222 </div>
|
pankso@9
|
223 EOT
|
pankso@9
|
224 echo '</div>'
|
pankso@7
|
225 table_start
|
pankso@17
|
226 table_head
|
pankso@41
|
227 grep "| $category |" packages.desc | parse_packages_desc
|
pankso@7
|
228 table_end
|
pankso@7
|
229 echo '</form>' ;;
|
pankso@7
|
230 search=*)
|
pankso@45
|
231 #
|
pankso@7
|
232 # Search for packages
|
pankso@45
|
233 #
|
pankso@7
|
234 pkg=${QUERY_STRING#*=}
|
pankso@9
|
235 cd $LOCALSTATE
|
pankso@9
|
236 search_form
|
pankso@41
|
237 sidebar
|
pankso@45
|
238 LOADING_MSG="Searching packages..."
|
pankso@45
|
239 loading_msg
|
pankso@7
|
240 cat << EOT
|
pankso@17
|
241 <h2>`gettext "Search packages"`</h2>
|
pankso@7
|
242 <form method="get" action="$SCRIPT_NAME">
|
pankso@9
|
243 <div id="actions">
|
pankso@45
|
244 <div class="float-left">
|
pankso@45
|
245 `gettext "Selection:"`
|
pankso@45
|
246 <input type="submit" name="do" value="Install" />
|
pankso@45
|
247 <input type="submit" name="do" value="Remove" />
|
pankso@45
|
248 <a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a>
|
pankso@45
|
249 </div>
|
pankso@45
|
250 <div class="float-right">
|
pankso@45
|
251 `gettext "List:"`
|
pankso@45
|
252 <input type="submit" name="recharge" value="Recharge" />
|
pankso@45
|
253 <input type="submit" name="upgradeable" value="Upgrade" />
|
pankso@45
|
254 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@45
|
255 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@45
|
256 </div>
|
pankso@7
|
257 EOT
|
pankso@9
|
258 echo '</div>'
|
pankso@7
|
259 table_start
|
pankso@17
|
260 table_head
|
pankso@7
|
261 grep $pkg packages.desc | parse_packages_desc
|
pankso@7
|
262 table_end
|
pankso@7
|
263 echo '</form>' ;;
|
pankso@41
|
264 recharge*)
|
pankso@45
|
265 #
|
pankso@7
|
266 # Let recharge the packages list
|
pankso@45
|
267 #
|
pankso@9
|
268 search_form
|
pankso@41
|
269 sidebar
|
pankso@45
|
270 LOADING_MSG="Recharging lists..."
|
pankso@45
|
271 loading_msg
|
pankso@8
|
272 cat << EOT
|
pankso@9
|
273 <h2>`gettext "Recharge"`</h2>
|
pankso@9
|
274 <form method='get' action='$SCRIPT_NAME'>
|
pankso@9
|
275 <div id="actions">
|
pankso@41
|
276 <div class="float-left">
|
pankso@41
|
277 <p>
|
pankso@45
|
278 `gettext "Recharge checks for new or updated packages"`
|
pankso@41
|
279 </p>
|
pankso@41
|
280 </div>
|
pankso@41
|
281 <div class="float-right">
|
pankso@41
|
282 <p>
|
pankso@45
|
283 <a class="button" href='$SCRIPT_NAME?upgradeable'>
|
pankso@45
|
284 `gettext "Check upgrade"`</a>
|
pankso@41
|
285 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@41
|
286 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@41
|
287 </p>
|
pankso@41
|
288 </div>
|
pankso@41
|
289 </div>
|
pankso@22
|
290 <pre>
|
pankso@8
|
291 EOT
|
pankso@8
|
292 tazpkg recharge | filter_tazpkg_msgs
|
pankso@45
|
293 cat << EOT
|
pankso@45
|
294 </pre>
|
pankso@45
|
295 <p>
|
pankso@45
|
296 `gettext "Packages lists are up-to-date. You should check for upgrade now."`
|
pankso@45
|
297 </p>
|
pankso@45
|
298 EOT
|
pankso@45
|
299 ;;
|
pankso@41
|
300 upgradeable*)
|
pankso@45
|
301 #
|
pankso@45
|
302 # Ugrade packages
|
pankso@45
|
303 #
|
pankso@9
|
304 cd $LOCALSTATE
|
pankso@9
|
305 search_form
|
pankso@41
|
306 sidebar
|
pankso@45
|
307 LOADING_MSG="Checking for upgrade..."
|
pankso@45
|
308 loading_msg
|
pankso@8
|
309 cat << EOT
|
pankso@9
|
310 <h2>`gettext "Upgradeable packages"`</h2>
|
pankso@8
|
311 <form method="get" action="$SCRIPT_NAME">
|
pankso@9
|
312 <div id="actions">
|
pankso@45
|
313 <div class="float-left">
|
pankso@45
|
314 `gettext "Selection:"`
|
pankso@45
|
315 <input type="submit" name="do" value="Install" />
|
pankso@45
|
316 <input type="submit" name="do" value="Remove" />
|
pankso@45
|
317 <a href="`cat $PANEL/lib/checkbox.js`">`gettext "Toogle all"`</a>
|
pankso@45
|
318 </div>
|
pankso@45
|
319 <div class="float-right">
|
pankso@45
|
320 `gettext "List:"`
|
pankso@45
|
321 <input type="submit" name="recharge" value="Recharge" />
|
pankso@45
|
322 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@45
|
323 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@45
|
324 </div>
|
pankso@8
|
325 EOT
|
pankso@9
|
326 tazpkg upgradeable
|
pankso@9
|
327 echo '</div>'
|
pankso@8
|
328 table_start
|
pankso@17
|
329 table_head
|
pankso@9
|
330 for pkg in `cat upgradeable-packages.list`
|
pankso@8
|
331 do
|
pankso@8
|
332 grep "^$pkg |" $LOCALSTATE/packages.desc | parse_packages_desc
|
pankso@8
|
333 done
|
pankso@8
|
334 table_end
|
pankso@8
|
335 echo '</form>' ;;
|
pankso@7
|
336 do=*)
|
pankso@45
|
337 #
|
pankso@7
|
338 # Do an action on one or some packages
|
pankso@45
|
339 #
|
pankso@7
|
340 cmdline=`echo ${QUERY_STRING#do=} | sed s'/&/ /g'`
|
pankso@7
|
341 cmd=`echo ${cmdline} | awk '{print $1}'`
|
pankso@7
|
342 pkgs=`echo $cmdline | sed -e s'/+/ /g' -e s'/pkg=//g' -e s/$cmd//`
|
pankso@41
|
343 case $cmd in
|
pankso@41
|
344 install|Install)
|
pankso@41
|
345 cmd=get-install opt=--forced ;;
|
pankso@41
|
346 remove|Remove)
|
pankso@41
|
347 cmd=remove ;;
|
pankso@41
|
348 esac
|
pankso@9
|
349 search_form
|
pankso@41
|
350 sidebar
|
pankso@45
|
351 LOADING_MSG="${cmd}ing packages..."
|
pankso@45
|
352 loading_msg
|
pankso@9
|
353 cat << EOT
|
pankso@9
|
354 <h2>Tazpkg: $cmd</h2>
|
pankso@9
|
355 <form method="get" action="$SCRIPT_NAME">
|
pankso@9
|
356 <div id="actions">
|
pankso@41
|
357 <div class="float-left">
|
pankso@41
|
358 <p>
|
pankso@45
|
359 `gettext "Performing task on packages"`
|
pankso@41
|
360 </p>
|
pankso@41
|
361 </div>
|
pankso@41
|
362 <div class="float-right">
|
pankso@41
|
363 <p>
|
pankso@41
|
364 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@41
|
365 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@41
|
366 </p>
|
pankso@41
|
367 </div>
|
pankso@41
|
368 </div>
|
pankso@9
|
369 EOT
|
pankso@45
|
370 echo '<div class="box">'
|
pankso@10
|
371 gettext "Executing $cmd for:$pkgs"
|
pankso@45
|
372 echo '</div>'
|
pankso@7
|
373 for pkg in $pkgs
|
pankso@7
|
374 do
|
pankso@10
|
375 echo '<pre>'
|
pankso@45
|
376 echo 'o' | tazpkg $cmd $pkg $opt 2>/dev/null | filter_tazpkg_msgs
|
pankso@7
|
377 echo '</pre>'
|
pankso@7
|
378 done ;;
|
pankso@7
|
379 info=*)
|
pankso@45
|
380 #
|
pankso@45
|
381 # Packages info
|
pankso@45
|
382 #
|
pankso@7
|
383 pkg=${QUERY_STRING#*=}
|
pankso@9
|
384 search_form
|
pankso@41
|
385 sidebar
|
pankso@7
|
386 . $INSTALLED/$pkg/receipt
|
pankso@41
|
387 files=`cat $INSTALLED/$pkg/files.list | wc -l`
|
pankso@7
|
388 cat << EOT
|
pankso@41
|
389 <h2>`gettext "Package"` $PACKAGE</h2>
|
pankso@9
|
390 <div id="actions">
|
pankso@41
|
391 <div class="float-left">
|
pankso@41
|
392 <p>
|
pankso@41
|
393 <a class="button" href='$SCRIPT_NAME?do=remove&$pkg'>`gettext "Remove"`</a>
|
pankso@41
|
394 </p>
|
pankso@41
|
395 </div>
|
pankso@41
|
396 <div class="float-right">
|
pankso@41
|
397 <p>
|
pankso@41
|
398 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@41
|
399 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@41
|
400 </p>
|
pankso@41
|
401 </div>
|
pankso@9
|
402 </div>
|
pankso@22
|
403 <pre>
|
pankso@7
|
404 Name : $PACKAGE
|
pankso@7
|
405 Version : $VERSION
|
pankso@7
|
406 Description : $SHORT_DESC
|
pankso@41
|
407 Category : $CATEGORY
|
pankso@10
|
408 Maintainer : $MAINTAINER
|
pankso@8
|
409 Depends : `for i in $DEPENDS; do echo -n \
|
pankso@8
|
410 "<a href="$SCRIPT_NAME?info=$i">$i</a> "; done`
|
pankso@7
|
411 Website : <a href="$WEB_SITE">$WEB_SITE</a>
|
pankso@7
|
412 Sizes : $PACKED_SIZE/$UNPACKED_SIZE
|
pankso@7
|
413 </pre>
|
pankso@7
|
414
|
pankso@41
|
415 <p>`gettext "Installed files:"` `cat $INSTALLED/$pkg/files.list | wc -l`</p>
|
pankso@7
|
416 <pre>
|
pankso@7
|
417 `cat $INSTALLED/$pkg/files.list`
|
pankso@7
|
418 </pre>
|
pankso@7
|
419 EOT
|
pankso@7
|
420 ;;
|
pankso@10
|
421 config*)
|
pankso@45
|
422 #
|
pankso@10
|
423 # Tazpkg configuration page
|
pankso@45
|
424 #
|
pankso@10
|
425 cmd=${QUERY_STRING#*=}
|
pankso@10
|
426 case "$cmd" in
|
pankso@10
|
427 clean)
|
pankso@10
|
428 rm -rf /var/cache/tazpkg/* ;;
|
pankso@10
|
429 add-mirror*=http*|add-mirror*=ftp*)
|
pankso@10
|
430 # Decode url
|
pankso@10
|
431 mirror=`httpd -d ${cmd#*=}`
|
pankso@10
|
432 echo "$mirror" >> $LOCALSTATE/mirrors ;;
|
pankso@10
|
433 rm-mirror=http://*|rm-mirror=ftp://*)
|
pankso@10
|
434 mirror=${QUERY_STRING#*=rm-mirror=}
|
pankso@10
|
435 sed -i -e "s@$mirror@@" -e '/^$/d' $LOCALSTATE/mirrors ;;
|
pankso@10
|
436 esac
|
pankso@10
|
437 cache_files=`find /var/cache/tazpkg -name *.tazpkg | wc -l`
|
pankso@10
|
438 cache_size=`du -sh /var/cache/tazpkg`
|
pankso@41
|
439 sidebar
|
pankso@10
|
440 cat << EOT
|
pankso@10
|
441 <h2>`gettext "Configuration"`</h2>
|
pankso@10
|
442 <div>
|
pankso@10
|
443 <p>`gettext "Tazpkg configuration and settings"`</p>
|
pankso@10
|
444 </div>
|
pankso@10
|
445 <div>
|
pankso@10
|
446 <form method="get" action="$SCRIPT_NAME">
|
pankso@17
|
447 <p>
|
pankso@17
|
448 `gettext "Packages in the cache:"` $cache_files ($cache_size)
|
pankso@17
|
449 <input type="hidden" name="config" value="clean" />
|
pankso@17
|
450 <input type="submit" value="Clean" />
|
pankso@17
|
451 </p>
|
pankso@10
|
452 </form>
|
pankso@10
|
453 </div>
|
pankso@17
|
454
|
pankso@10
|
455 <h3>`gettext "Current mirror list"`</h3>
|
pankso@10
|
456 <div class="box">
|
pankso@10
|
457 <ul>
|
pankso@10
|
458 `list_mirrors`
|
pankso@10
|
459 </ul>
|
pankso@10
|
460 </div>
|
pankso@10
|
461 <form method="get" action="$SCRIPT_NAME">
|
pankso@10
|
462 <p>
|
pankso@10
|
463 <input type="hidden" name="config" value="add-mirror" />
|
pankso@10
|
464 <input type="text" name="mirror" size="60">
|
pankso@10
|
465 <input type="submit" value="Add mirror" />
|
pankso@10
|
466 </p>
|
pankso@10
|
467 </form>
|
pankso@10
|
468 EOT
|
pankso@10
|
469 ;;
|
pankso@7
|
470 *)
|
pankso@14
|
471 #
|
pankso@7
|
472 # Default to summary
|
pankso@14
|
473 #
|
pankso@10
|
474 search_form
|
pankso@41
|
475 sidebar
|
pankso@7
|
476 cat << EOT
|
pankso@9
|
477 <h2>`gettext "Summary"`</h2>
|
pankso@9
|
478 <div id="actions">
|
pankso@45
|
479 <a class="button" href='$SCRIPT_NAME?list'>
|
pankso@45
|
480 <img src="$IMAGES/tazpkg.png" />`gettext "My packages"`</a>
|
pankso@45
|
481 <a class="button" href='$SCRIPT_NAME?recharge'>
|
pankso@45
|
482 <img src="$IMAGES/recharge.png" />`gettext "Recharge list"`</a>
|
pankso@45
|
483 <a class="button" href='$SCRIPT_NAME?upgradeable'>
|
pankso@45
|
484 <img src="$IMAGES/update.png" />`gettext "Check upgrade"`</a>
|
pankso@45
|
485 <a class="button" href='$SCRIPT_NAME?config'>
|
pankso@45
|
486 <img src="$IMAGES/edit.png" />`gettext "Configuration"`</a>
|
pankso@9
|
487 </div>
|
pankso@41
|
488 <pre class="pre-main">
|
pankso@7
|
489 `packages_summary`
|
pankso@7
|
490 </pre>
|
pankso@41
|
491
|
pankso@10
|
492 <h3>`gettext "Latest log entries"`</h3>
|
pankso@10
|
493 <pre>
|
pankso@45
|
494 `tail -n 5 /var/log/tazpkg.log | fgrep "-" | \
|
pankso@10
|
495 awk '{print $1, $2, $3, $4, $5, $6, $7}'`
|
pankso@10
|
496 </pre>
|
pankso@10
|
497
|
pankso@7
|
498 EOT
|
pankso@10
|
499 ;;
|
pankso@7
|
500 esac
|
pankso@7
|
501
|
pankso@7
|
502 # xHTML 5 footer
|
pankso@33
|
503 xhtml_footer
|
pankso@7
|
504 exit 0
|