Re: Interfaz dpkg>web
Javier Viñuales Gutiérrez wrote:
>
> No he sabido resolverlo, pero te mando un paquete deb, "deb2html_0.1-1.deb"
> que al instalarlo y ejecutar "deb2html nombre_pagina " te crea una
> bonita pagina con los paquetes deb instalados con la rutina que tu hiciste,
> y un enlace a un fichero de texto que crea automáticamente deb2html y que
> contiene una lista ordenada de mayor a menor espacio ocupado en disco por el
> paquete.
Muchas gracias por el paquete que me enviaste.
He seguido comiendome la cabeza y finalmente he conseguido algo que
funciona
(adjunto el codigo)
Va lento, ( 5 minutos en un K6-300 ) pero dado que pienso correrlo en un
cron de madrugada no me importa.
Habra que aprender C :-).
Muchas gracias a todos.
--
Antonio Calvo Rodriguez
ancalvo@mx2.redestb.es
Vigo/Galicia/España
--
#! /bin/bash
# ------------------------------------------------------------------------
# Program : deb2web [lista Detallada de DEB]
# Written : jue 31 dic 1998 21:43:16 CET
# Copyright : (c) Antonio Calvo Rodriguez ( 1998 )
# ------------------------------------------------------------------------
# $Id: deb2web,v 1.5 1999/01/01 20:47:27 antonio Exp antonio $
# VARS
PAQFILE=/var/lib/dpkg/status
# functions
usage()
{
cat <<-EOF
Deb 2 Web (deb2web)
Generate tables of Debian packages to stdout
--
Usage: deb2web [options]
where options are:
-h help
--
EOF
}
function indice()
{
echo "<table><tr><th>Paquete</th><th>Version</th><th>Comentario</th></tr>"
dpkg -l |grep ^ii | while read basura paquete version resto
do
echo "<tr>"
echo "<td><a href=\"#${paquete}\">$paquete</a></td>"
echo "<td>$version</td>"
echo "<td>$resto</td>"
done
echo "</table>"
}
function debians()
{
switch=1
echo "<table><hr><th>Descripciones de los paquetes</th></hr><tr><td>"
cat $PAQFILE| while read linea ; do
linea=`echo $linea | sed "s/>/\>\;/g"| sed "s/</\<\;/g"`
if [ "`echo $linea|grep Package`" != "" ]; then
oldlinea=$linea
read linea
if [ "`echo $linea|grep "install ok installed"`" != "" ]; then
linea="</td></tr><tr><td>Package:<a name=\"${oldlinea:9}\">${oldlinea:9}</a>"
switch=1
else
switch=0
fi
fi
if [ $switch -eq 1 ]; then
echo $linea"<br>"
fi
done
echo "</td></tr></table>"
}
while getopts :h OPT; do
case $OPT in
h|+h)
usage
exit 0
;;
*)
echo "usage: ${0##*/} [+-h] [--] [file]..."
exit 2
esac
done
shift $[ OPTIND - 1 ]
indice
debians
Reply to: