Hello,

 I am writing a debian binary package for my application (foo). The
postinst (post install) script wants to ask the user few questions and get
the answers as well. I am trying to achieve this using debconf.

But I am not able to see the UI screen, prompting user with questions.  I
doubt if my config and templates are even called by dpkg. I am using all
the instructions as per the links
http://www.fifi.org/doc/debconf-doc/tutorial.html.

Could someone please help me find what is going wrong?



*Snippet of my build script *build.sh* *: (only relevant fields)

PKG_NAME=foo

mkdir -p debian/DEBIAN

sed "s/VERSION/$PKG_VERSION/" control > debian/DEBIAN/control
         #PKG_VERSION and other variables are delared in my script

cp preinst debian/DEBIAN/preinst

cp postinst debian/DEBIAN/postinst

cp prerm debian/DEBIAN/prerm

cp postrm debian/DEBIAN/postrm

cp config debian/DEBIAN/config

cp templates debian/DEBIAN/templates

 chmod 755 debian/DEBIAN/postinst

chmod 755 debian/DEBIAN/preinst

chmod 755 debian/DEBIAN/prerm

chmod 755 debian/DEBIAN/postrm

chmod 755 debian/DEBIAN/config

chmod 755 debian/DEBIAN/templates



#commands to actually build the packageā€¦

 *Snippet of control file: (only relevant fields)*

 Depends: debconf (>= 0.2.17)

 *Snippet of config file*:

 #!/bin/sh

set -e

 DEBCONF_DEBUG=developer

DEBIAN_FRONTEND=gnome

 # Source debconf library.

. /usr/share/debconf/confmodule



db_input medium foo/like_debian || true

db_go



# Check their answer.

db_get foo/like_debian

if [ "$RET" = "false" ]; then

    # Poor misguided one..

    db_input high foo/why_debian_is_great || true

    db_go

fi

 *Snippet of templates file*:

 Template: foo/like_debian

Type: boolean

Description: Do you like Debian?

We'd like to know if you like the Debian GNU/Linux system.



Template: foo/why_debian_is_great

Type: note

Description: Poor misguided one. Why are you installing this package?

Debian is great. As you continue using Debian, we hope you will

discover the error in your ways.



*Snippet of postinst*:

#!/bin/sh

set -e

 # Source debconf library.

. /usr/share/debconf/confmodule

 db_get foo/like_debian

if [ "$RET" = "false" ]; then

    touch "/home/myhome/ITWORKED"

fi



exit 0



I do not see any errors also when I have set DEBCONF_DEBUG=developer.



Thanks and Regards,

-Sandeep

Reply via email to