Provided by:
dpkg_1.16.0.3ubuntu5_i386 
NOMBRE
dpkg-maintscript-helper - Solucion alternativa a las limitaciones de
dpkg en scripts de mantenedor
SINOPSIS
dpkg-maintscript-helper orden [par'ametros...] --
par'ametros-script-mantenedor
'ORDENES Y PAR'AMETROS
rm_ conffile ['ultima-versi'on [paquete]]
mv_conffile conffile-antiguo conffile-nuevo ['ultima-versi'on [paquete]]
DESCRIPCI'ON
Este programa esta disenado para su uso dentro de scripts de mantenedor
para realizar tareas que dpkg no puede (por ahora) gestionar de forma
nativa, bien por decisiones de diseno o limitaciones actuales.
Muchas de estas tareas requieren la ejecucion coordinada de varios
scripts de mantenedor (preinst, postinst, prerm, postrm). Para evitar
errores solo tiene que insertar la misma invocacion en todos los
scripts, y el programa adaptara automaticamente su comportamiento en
base a la variable de entorno <<DPKG_MAINTSCRIPT_NAME>> y a los
argumentos de los scripts del mantenedor, que debe introducir despues
de un guion doble.
TAREAS CON FICHEROS DE CONFIGURACI'ON <<CONFFILES>>
Al actualizar un paquete, dpkg no eliminara automaticamente un fichero
de configuracion (un fichero de configuracion con cambios del usuario
que dpkg deberia preservar) si no esta presente en la version mas
reciente. Existen dos razones principales para esto: la primera es que
puede que el fichero de configuracion <<conffile>> haya desaparecido
accidentalmente, con lo que la siguiente version la restauraria. Los
usuarios no querrian ver desparecer los cambios hechos. La segunda es
permitir a los paquetes una transicion de un fichero de configuracion
<<conffile>> mantenido por dpkg a un fichero mantenido por los scripts
de mantenedor del paquete, habitualmente con una herramienta como
debconf o ucf.
Esto significa que si un paquete pretende renombrar o eliminar un
fichero de configuracion, debe hacerlo de forma explicita.
dpkg-maintscript-helper se puede usar para implementar con sencillez
dentro de los scripts del mantenedor la eliminacion y el desplazamiento
de ficheros de configuracion <<conffile>>.
ELIMINAR UN FICHERO DE CONFIGURACI'ON <<CONFFILE>>
Si se elimina un fichero de configuracion <<conffile>> por completo, se
deberia eliminar del disco a menos que un usuario lo haya modificado.
Se deberian preservar modificaciones locales en caso de existir. Si se
cancela la actualizacion del paquete, el fichero de configuracion
<<conffile>> declarado como obsoleto no deberia desaparecer.
Esto se puede integrar introduciendo el siguiente texto de consola en
los scripts de mantenedor preinst, postinst y postrm:
dpkg-maintscript-helper rm_conffile \
conffile 'ultima-versi'on paquete -- "$@"
conffile es el nombre del fichero de configuracion <<conffile>> a
eliminar. 'ultima-versi'on es la ultima version del paquete que contenia
el fichero de configuracion <<conffile>> (o la ultima version del
paquete que no se ocupo de eliminar el fichero de configuracion
<<conffile>> obsoleto en el caso de que este metodo no se implemento
inmediatamente). Si 'ultima-versi'on esta vacio o se omite, se intentara
la operacion en cada actualizacion. paquete es el nombre del paquete,
su aparicion es opcional ya que el valor por omision es
<<$DPKG_MAINTSCRIPT_PACKAGE>> (dpkg define esta variable con el nombre
del paquete sobre el que actua). Todos los parametros de los scripts de
mantenedor se deben introducir al programa despues de <<-->>.
Implementacion actual: en el script preinst, comprueba si se ha
modificado el fichero de configuracion y lo renombra bien como
conffile.dpkg-remove (si no se ha modificado), o como
conffile.dpkg-backup (si se ha modificado). En el script postinst, el
segundo fichero se renombra a conffile.dpkg-bak y se guarda como
referencia ya que contiene modificaciones del usuario, mientras que el
primer script se elimina. Si se interrumpe la actualizacion del
paquete, el script postrm reinstalara el fichero de configuracion
<<conffile>> original. Durante el purgado, el script postrm borrara
tambien el fichero .dpkg-bak mantenido hasta ahora.
RENOMBRAR UN FICHERO DE CONFIGURACI'ON <<CONFFILE>>
Si se ha cambiado la ubicacion de un fichero de configuracion
<<conffile>> debe asegurarse de que tambien migra los cambios hechos
por el usuario. Esto puede parecer en principio como un sencillo cambio
en el script preinst, aunque resultara en un dialogo de dpkg para
confirmar la edicion del fichero <<conffile>> incluso si no son
responsables de ellos.
Puede integrar renombrar con sencillez insertando el siguiente texto de
consola en los scripts de mantenedor preinst, postinst y postrm.
dpkg-maintscript-helper mv_conffile \
conffile-antiguo conffile-nuevo 'ultima-versi'on
paquete -- "$@"
conffile-antiguo y conffile-nuevo son el nombre antiguo y nuevo del
fichero de configuracion <<conffile>> a renombrar. 'ultima-versi'on es la
ultima version del paquete que contenia el fichero de configuracion
<<conffile>> con el nombre antiguo. Si ultima-versi'on esta vacio o se
omite, se ejecutara la operacion en cada actualizacion (nota: es mas
seguro dar la version y ejecutar la operacion una sola vez). paquete es
el nombre del paquete, opcional ya que su valor por omision es
<<$DPKG_MAINTSCRIPT_PACKAGE>> (dpkg define esta variable con el nombre
del paquete sobre el que actua). Todos los parametros de scripts de
mantenedor se deben introducir despues de <<-->>.
Implementacion actual: el script preinst comprueba si se ha modificado
el fichero de configuracion <<conffile>>, preservandolo en su lugar si
es asi, o renombrandolo como conffile-antiguo.dpkg-remove en caso
contrario. Durante la configuracion, el script postinst elimina
conffile-antiguo.dpkg-remove y renombra conffile-antiguo como
conffile-nuevo si el primero aun esta disponible. Durante la
cancelacion de una instalacion o actualizacion el script postrm
renombra conffile-antiguo.dpkg-remove nuevamente como conffile-antiguo
de ser necesario.
INTEGRACI'ON EN PAQUETES
Given that dpkg-maintscript-helper is used in the preinst, using it
unconditionally requires a pre-dependency to ensure that the required
version of dpkg has been unpacked before. The required version depends
on the command used, for rm_conffile and mv_conffile it is 1.15.7.2:
Pre-Depends: dpkg (>= 1.15.7.2)
Aun asi, en muchos casos la operacion efectuada por el programa no es
critica para el paquete, y en lugar de usar un pre-dependencia puede
invocar el programa solo si sabemos que la orden requerida es
compatible con la version de dpkg actualmente instalada:
if dpkg-maintscript-helper supports <command>; then
dpkg-maintscript-helper <command> ...
fi
AUTORES
Copyright (C) 2010 Raphael Hertzog
Copyright (C) 2008 Joey Hess
Copyright (C) 2007 Guillem Jover
Copyright (C) 2005 Scott James Remnant
Esto es software libre; vea la version 2 o posterior de la Licencia
Publica General GNU para condiciones de copia. NO hay ninguna garantia.
TRADUCTOR
Rudy Godoy <rudy@kernel-panik.org>, Ruben Porras <nahoo@inicia.es>,
Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo
<gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish
<debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier
Fernandez-Sanguino, Ruben Porras, Luis Uribe y Omar Campagne.