On Wed, Nov 11, 1998 at 07:39:34PM +0100, Miguel Barrio Orsikowsky wrote:
> - � Es realmente *muy* recomendable que sean "scripts" de shell ?
s�... no es necesario, pero s�...
> � no pueden ser guiones de awk, sin necesidad de incluir awk en
> la lista de dependencias del paquete que estoy haciendo ?
a ver...
It is not necessary for other packages to declare any
dependencies they have on other packages which are marked
�ssential'(see below).
$ dpkg -l | grep awk
ii gawk 3.0.3-1 GNU awk, a pattern scanning and processing
ii mawk 1.3.3-2 a pattern scanning and text processing lan
$ dpkg -s gawk | grep ^Essential:
$ dpkg -s mawk | grep ^Essential:
Ninguno de los dos es escencial, as� que s�, hay que declarar una
dependencia en awk. Y como no[*] se puede depender de un paquete
puramente virtual, la l�nea de dependencias ir�a as�:
Depends: gawk | mawk | awk
> � no est� bien visto el que sean binarios ?
a menos que exista una muy buena raz�n para que sean binarios, no, no
est� bien visto. (M�ltiples razones)
> - En caso de que sea necesario hacer "scripts" de, por ejemplo
> "sh"; � alguien puede decirme si es posible desde "sh" hacer lo
> siguiente ? :
Si vas a hacer un script de sh debe ser POSIX, no sh � l� bash. Si el
script es de bash entonces pon #!/bin/bash en lugar de #!/bin/sh
> a) mirar si /etc/modules contiene una l�nea con la palabra "joystick", que
> no est� precedida de #
> a1) en caso afirmativo, salir
> a2) en caso negativo, a�adir una l�nea "joystick" al final
Lo puedes hacer en Perl... (eso si se puede pues perl-base es
escencial) pero en sh va como as�:
#!/bin/sh -e
case "$1"in
configure)
if ! egrep -q '^[^#]? *joystick *$' /etc/modules ; then
echo joystick >> /etc/modules
fi
;;
abort-upgrade|abort-deconfigure|abort-remove)
;;
*)
echo "postinst called with unkown argument: \$1">&2
;;
esac
exit 0
Ahora nada m�s hay un problema... /etc/modules es un archivo de
configuraci�n de modutils, lo que quiere decir que no lo puedes
tocar. Tienes que poner una nota en /usr/doc/<paquete>/README.Debian
> Gui�n postrm:
>
> a) mirar si /etc/modules contiene una l�nea con la palabra "joystick", que
> no est� precedida de #
> a1) en caso afirmativo, eliminar esa l�nea
> a2) en caso negativo, salir
es casi igual, los casos son distintos y hay que reemplazar el if con
algo como:
grep -v '^[^#]? *joystick *$' /etc/modules > /etc/modules.new-paquete
mv /etc/modules.new-paquete /etc/modules
� m�s f�cil:
perl -ni -e 'print unless m/^[^#]? *joystick *$/;' /etc/modutils
pero otra vez no puedes hacer eso...
Marcelo
PS: Esta pregunta es m�s de [email protected]