[Debconf-devel] Bug#451130: debconf: Please split out a debconf-shell package to support cdebconf usage [cross-built]

Neil Williams codehelp at debian.org
Tue Nov 13 15:35:37 UTC 2007

Package: debconf
Version: 1.5.17
Severity: wishlist

This is part of the long term mass bug filing for cross build support:

No patch this time, as I'm not sure how debconf would actually fit these
changes into the Debian package.

Emdebian is using cdebconf and removing perl from 'Essential' so there
is no place for debconf as-is. Unfortunately, cdebconf is not complete
when used alone; two problems exist.

1. cdebconf wants /usr/share/debconf/confmodule

2. cdebconf does not initialise the debconf template database.

Emdebian is working around this by creating a 'debconf-shell' package
that includes:
drwxr-xr-x root/root         0 ./
drwxr-xr-x root/root         0 ./usr/
drwxr-xr-x root/root         0 ./usr/share/
drwxr-xr-x root/root         0 ./usr/share/debconf/
-rw-r--r-- root/root      2577 ./usr/share/debconf/confmodule
-rwxr-xr-x root/root      1844 ./usr/share/debconf/demo
-rw-r--r-- root/root      5174 ./usr/share/debconf/demo.templates

Described as:
 Package: debconf-shell
 Source: debconf
 Version: 1.5.17em1
 Architecture: all
 Maintainer: Debconf Developers <debconf-devel at lists.alioth.debian.org>
 Installed-Size: 48
 Depends: cdebconf
 Section: devel
 Priority: extra
 Description: debconf confmodule shell library
  This package contains the usr/share/debconf/confmodule shell
  library to retrieve debconf values without perl.
  It also bypasses the DEBCONF_USE_CDEBCONF
  environment variable which can be problematic
  during installations.

(You can ignore the em1 suffix to the version string, that just helps
Emdebian separate our packages from Debian test builds from the same

Note that Emdebian does not use 'Essential:' at all and I have no
preference for whether this package should be essential - Emdebian will
throw away the 'Essential:' tag anyway. However, if this new package
were to become the home of /usr/share/debconf/confmodule in Debian
(as would probably be necessary), it would probably need the same
Priority etc. as debconf itself.

I am using this postinst for debconf-shell:
set -e

if [ "$1" = configure ]; then
        export DEBCONF_USE_CDEBCONF=true
        # emdebian initialise database with demo templates.
        /usr/lib/cdebconf/debconf-loadtemplate /usr/share/debconf/demo


This works for us. (TM)

The demo template produces a bit of unwanted output so there may be a
smoother way of initialising the template database without output and
that would be useful.

I was also wondering if this could be a new *source* package as well as
a new binary because then Emdebian would not need to patch out 90% of
the existing debconf debian/* content to build debconf-shell. (why
cross-build perl to cross-build debconf when Emdebian won't be using 
either perl or debconf?)

Alternatively, maybe these changes need to be migrated from debconf into
cdebconf? (One less package for me to cross build.)

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.22-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages debconf depends on:
ii  debconf-i18n                  1.5.17     full internationalization support 
ii  perl-base                     5.8.8-11.1 The Pathologically Eclectic Rubbis

Versions of packages debconf recommends:
ii  apt-utils                     0.7.9      APT utility programs

-- debconf information:
* debconf/priority: medium
* debconf/frontend: Gnome

More information about the Debconf-devel mailing list