blob: 1d9eb2e3e410116df85967b8a8417fbf1367fecf [file] [log] [blame]
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH dpkg\-maintscript\-helper 1 2011\-08\-14 "Proyecto Debian" "Herramientas de dpkg"
.SH NOMBRE
dpkg\-maintscript\-helper \- Solución alternativa a las limitaciones de dpkg en
scripts de mantenedor
.
.SH SINOPSIS
\fBdpkg\-maintscript\-helper\fP \fIcommand\fP [\fIparameter\fP...] \fB\-\-\fP
\fImaint\-script\-parameter\fP...
.
.SH "ÓRDENES Y PARÁMETROS"
.P
\fBrm_\fP \fIconffile\fP [\fIúltima\-versión\fP [\fIpaquete\fP]]
.P
\fBmv_conffile\fP \fIconffile\-antiguo\fP \fIconffile\-nuevo\fP [\fIúltima\-versión\fP
[\fIpaquete\fP]]
.
.SH DESCRIPCIÓN
.P
Este programa está diseñado 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 diseño o limitaciones actuales.
.P
Many of those tasks require coordinated actions from several maintainer
scripts (\fBpreinst\fP, \fBpostinst\fP, \fBprerm\fP, \fBpostrm\fP). To avoid mistakes
the same call simply needs to be put in all scripts and the program will
automatically adapt its behaviour based on the environment variable
\fBDPKG_MAINTSCRIPT_NAME\fP and on the maintainer scripts arguments that you
have to forward after a double dash.
.
.SH "TAREAS CON FICHEROS DE CONFIGURACIÓN «CONFFILES»"
.P
Al actualizar un paquete, dpkg no eliminará automáticamente un fichero de
configuración (un fichero de configuración con cambios del usuario que dpkg
debería preservar) si no está presente en la versión más reciente. Existen
dos razones principales para esto: la primera es que puede que el fichero de
configuración «conffile» haya desaparecido accidentalmente, con lo que la
siguiente versión la restauraría. Los usuarios no querrían ver desparecer
los cambios hechos. La segunda es permitir a los paquetes una transición de
un fichero de configuración «conffile» mantenido por dpkg a un fichero
mantenido por los scripts de mantenedor del paquete, habitualmente con una
herramienta como debconf o ucf.
.P
Esto significa que si un paquete pretende renombrar o eliminar un fichero de
configuración, debe hacerlo de forma explícita. \fBdpkg\-maintscript\-helper\fP
se puede usar para implementar con sencillez dentro de los scripts del
mantenedor la eliminación y el desplazamiento de ficheros de configuración
«conffile».
.
.SS "ELIMINAR UN FICHERO DE CONFIGURACIÓN «CONFFILE»"
.P
Si se elimina un fichero de configuración «conffile» por completo, se
debería eliminar del disco a menos que un usuario lo haya modificado. Se
deberían preservar modificaciones locales en caso de existir. Si se cancela
la actualización del paquete, el fichero de configuración «conffile»
declarado como obsoleto no debería desaparecer.
.P
Esto se puede integrar introduciendo el siguiente texto de consola en los
scripts de mantenedor \fBpreinst\fP, \fBpostinst\fP y \fBpostrm\fP:
.P
dpkg\-maintscript\-helper rm_conffile \e
\fIconffile\fP \fIúltima\-versión\fP \fIpaquete\fP \-\- "$@"
.P
\fIconffile\fP es el nombre del fichero de configuración «conffile» a
eliminar. \fIúltima\-versión\fP es la última versión del paquete que contenía el
fichero de configuración «conffile» (o la última versión del paquete que no
se ocupó de eliminar el fichero de configuración «conffile» obsoleto en el
caso de que este método no se implementó inmediatamente). Si
\fIúltima\-versión\fP está vacío o se omite, se intentará la operación en cada
actualización. \fIpaquete\fP es el nombre del paquete, su aparición es opcional
ya que el valor por omisión es «$DPKG_MAINTSCRIPT_PACKAGE» (dpkg define esta
variable con el nombre del paquete sobre el que actúa). Todos los parámetros
de los scripts de mantenedor se deben introducir al programa después de
«\-\-».
.P
Implementación actual: en el script \fBpreinst\fP, comprueba si se ha
modificado el fichero de configuración y lo renombra bien como
\fIconffile\fP\fB.dpkg\-remove\fP (si no se ha modificado), o como
\fIconffile\fP\fB.dpkg\-backup\fP (si se ha modificado). En el script \fBpostinst\fP,
el segundo fichero se renombra a \fIconffile\fP\fB.dpkg\-bak\fP y se guarda como
referencia ya que contiene modificaciones del usuario, mientras que el
primer script se elimina. Si se interrumpe la actualización del paquete, el
script \fBpostrm\fP reinstalará el fichero de configuración «conffile»
original. Durante el purgado, el script \fBpostrm\fP borrará también el fichero
\&\fB.dpkg\-bak\fP mantenido hasta ahora.
.
.SS "RENOMBRAR UN FICHERO DE CONFIGURACIÓN «CONFFILE»"
.P
Si se ha cambiado la ubicación de un fichero de configuración «conffile»
debe asegurarse de que también migra los cambios hechos por el usuario. Esto
puede parecer en principio como un sencillo cambio en el script \fBpreinst\fP,
aunque resultará en un diálogo de dpkg para confirmar la edición del fichero
«conffile» incluso si no son responsables de ellos.
.P
Puede integrar renombrar con sencillez insertando el siguiente texto de
consola en los scripts de mantenedor \fBpreinst\fP, \fBpostinst\fP y \fBpostrm\fP.
.P
dpkg\-maintscript\-helper mv_conffile \e
\fIconffile\-antiguo\fP \fIconffile\-nuevo\fP \fIúltima\-versión\fP
\fIpaquete\fP \-\- "$@"
.P
\fIconffile\-antiguo\fP y \fIconffile\-nuevo\fP son el nombre antiguo y nuevo del
fichero de configuración «conffile» a renombrar. \fIúltima\-versión\fP es la
última versión del paquete que contenía el fichero de configuración
«conffile» con el nombre antiguo. Si \fIultima\-versión\fP está vacío o se
omite, se ejecutará la operación en cada actualización (nota: es más seguro
dar la versión y ejecutar la operación una sola vez). \fIpaquete\fP es el
nombre del paquete, opcional ya que su valor por omisión es
«$DPKG_MAINTSCRIPT_PACKAGE» (dpkg define esta variable con el nombre del
paquete sobre el que actúa). Todos los parámetros de scripts de mantenedor
se deben introducir después de «\-\-».
.P
Implementación actual: el script \fBpreinst\fP comprueba si se ha modificado el
fichero de configuración «conffile», preservándolo en su lugar si es así, o
renombrándolo como \fIconffile\-antiguo\fP\fB.dpkg\-remove\fP en caso
contrario. Durante la configuración, el script \fBpostinst\fP elimina
\fIconffile\-antiguo\fP\fB.dpkg\-remove\fP y renombra \fIconffile\-antiguo\fP como
\fIconffile\-nuevo\fP si el primero aún está disponible. Durante la cancelación
de una instalación o actualización el script \fIpostrm\fP renombra
\fIconffile\-antiguo\fP\fB.dpkg\-remove\fP nuevamente como \fIconffile\-antiguo\fP de
ser necesario.
.
.SH "INTEGRACIÓN EN PAQUETES"
.P
Given that \fBdpkg\-maintscript\-helper\fP is used in the \fBpreinst\fP, 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 \fBrm_conffile\fP and \fBmv_conffile\fP it is 1.15.7.2:
.P
\fBPre\-Depends:\fP dpkg (>= 1.15.7.2)
.P
Aún así, en muchos casos la operación efectuada por el programa no es
crítica para el paquete, y en lugar de usar un pre\-dependencia puede invocar
el programa sólo si sabemos que la orden requerida es compatible con la
versión de dpkg actualmente instalada:
.P
if dpkg\-maintscript\-helper supports \fIcommand\fP; then
dpkg\-maintscript\-helper \fIcommand\fP ...
fi
.
.SH AUTORES
Copyright \(co 2010 Rapha\[:e]l Hertzog
.br
Copyright \(co 2008 Joey Hess
.br
Copyright \(co 2007 Guillem Jover
.br
Copyright \(co 2005 Scott James Remnant
.sp
Esto es software libre; vea la versión 2 o posterior de la Licencia Pública
General GNU para condiciones de copia. NO hay ninguna garantía.
.SH "TRADUCTOR"
Rudy Godoy <rudy@kernel\-panik.org>,
Rubén 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>.
.br
Revisiones por Santiago Vila <sanvila@unex.es>,
Javier Fernández\-Sanguino, Rubén Porras,
Luis Uribe y Omar Campagne.