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 ...

[EMAIL PROTECTED]:~/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

Responder a