[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Uso de debconf al empaquetar en formato .deb



El vie, 13-07-2007 a las 00:31 -0500, cj.oak escribió:
> Nuevamente solicitando su ayuda. Como comenté en otro correo estoy
> trabajando en una aplicación basada en php la cual ya logre empaquetar
> en formato .deb con los consejos de ustedes pero ese paquete requiere
> de algunos parametros a configurar que nos gustaria que sean
> solicitados en las tipicas ventanas que debconf genera cuando un
> paquete es instalado. 
> 
> Encontré un pequeño tutorial
> ( http://www.fifi.org/doc/debconf-doc/tutorial.html )  que es muy
> claro en lo que presenta, generar un archivo template con la
> información y las opciones a seleccionar en cada ventana y un script
> config que es el que llamará a esas ventanas 'programadas' en el
> archivo templates 
> 
> mi templates de prueba es:
> 
>   1 Template: robles/like_debian
>   2 Type: boolean
>   3 Description: Do you like Debian?
>   4  Nos gustar�a saber si te gusta Debian?
>   5 
>   6 Template: robles/why_debian_is_great 
>   7 Type: note
>   8 Description: Estas perdido si no usan Debian
> 
> y mi script config de prueba es
> 
>   1 #!/bin/bash
>   2 . /usr/share/debconf/confmodule
>   3 
>   4 db_input medium robles/like_debian || true 
>   5 db_go || true
>   6 
>   7 db_get robles/like_debian
>   8 if [ "$RET" = "false" ]; then
>   9     echo "Se respondio falso..."
>  10     echo ""
>  11     exit 1
>  12 fi 
>  13 
>  14 exit 0
> 
> Mi idea era hacer una pequeña prueba de como funcionaba debconf para
> más adelante preparar toda la configuración del paquete. Empaquete un
> porgramita de prueba y nada, nunca funciono el debconf, después de
> acuerdo al man del debconf hice una prueba ejecutando el script
> unicamente, antes de empaquetar lo en deb 
> 
> sudo debconf sh -x config
> 
> y el resultado es el siguiente ...
> 
> jrobles@neuron:~/proyectos/tmp/debconf$ sudo debconf bash -x config 
> + . /usr/share/debconf/confmodule
> ++ '[' '!' 1 ']' 
> ++ '[' -z '' ']'
> ++ exec
> ++ '[' '' ']'
> ++ exec
> ++ DEBCONF_REDIR=1
> ++ export DEBCONF_REDIR
> + db_input medium robles/like_debian
> + _db_cmd 'INPUT medium' robles/like_debian 
> + printf '%s\n' 'INPUT medium robles/like_debian'
> + IFS='
> '
> + read -r _db_internal_line
> + RET='10 "robles/like_debian" doesn'\''t exist'
> + case ${_db_internal_line%%[   ]*} in 
> + return 10
> + true
> + db_go
> + _db_cmd 'GO '
> + printf '%s\n' 'GO '
> + IFS='
> '
> + read -r _db_internal_line
> + RET=ok
> + case ${_db_internal_line%%[   ]*} in
> + return 0 
> + db_get robles/like_debian
> + _db_cmd 'GET robles/like_debian'
> + printf '%s\n' 'GET robles/like_debian'
> + IFS='
> '
> + read -r _db_internal_line
> + RET='10 robles/like_debian doesn'\''t exist' 
> + case ${_db_internal_line%%[   ]*} in
> + return 10
> + '[' '10 robles/like_debian doesn'\''t exist' = false ']'
> 
> no genera la pantalla... baje moodle que es un paquete tambien basado
> en php y recordaba que hacia preguntas sobre el tipo de servidor a
> utilizar y la base de datos etc, entonces baje sus fuentes y ejecute
> la misma instruccion con debconf y si salio la ventana tipo ncurses
> solicitando datos... di algunos datos  termine la falsa configuración
> y al intentar nuevamente ejecutar el debconf me salio un codigo
> similar al de mi config y nunca la ventana. 
> 
> ¿Qué estoy haciendo mal? en el caso de moodle suponia que ya no me
> ponia las ventanas porque las preguntas ya habian sido respondidas...
> entonces fui a /var/cache/debconf y supuestamente borre las lineas que
> genero la respuestas del paquete moodle pero al intentar correr
> nuevamente el script nunca se genera la ventana, solo aparece la serie
> de instrucciones que antes coloque. 
> 
> Tiene alguien algún ejemplo de como integrar debconf en un paquete? He
> buscado un mejor manual o documento que explique con más detalle lo
> que quiero hacer pero nada, si alguien pudiera orientarme lo
> agradeceria, porque incluso ejecutando el ejemplo del man
> debconf-devel(7) no se genera nada. 
> 
> Saludos
> 
> Juan Carlos

¿has descomentado la línea:  #dh_installdebconf en el dichero rules?

De todas maneras, lo que que quieres hacer, huele más a un script
postinstall usando dialog, que a una configuración crítica que requiera
intervención de root. Al menos el ejemplo que pones.

Saludos




Reply to: