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]

Responder a