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

packages' config scripts creating files, chroots and buildds.



Hi,

part of the debconf stuff in our packages is the config script.  This
script's purpose is to ask the sysadmin questions via debconf.  The
action should then happen in the postinst maintainer script.

The way our buildds work right now is that the host apt and host dpkg
are asked to install the packages in chroots, with appropriate flags
that cause those programs to chroot[1].

Recently we changed all debian.org systems to have apt-utils installed.
This package causes the apt/debconf/dpkg trinity to preconfigure
packages, i.e. ask all those questions before the packages in question
are actually starting to get installed.

**This preconfiguring does not happen in the chroots, but in the host
system.**

So far we have identified at least two packages that do this: pbuilder
and htdig.  We found them by configuration being dumped on the / of
several systems without DSA ever having those packages installed on
those machines - the buildd installed them into a chroot.


This raises some questions:
 - should config scripts be allowed to create/touch/modify files
   (I think the answer here is no)

 - it's probably broken to run the preconfiguring outside of the chroot,
   at least I see no way how it can possibly work with the config script
   updating the host's debconf database and the postinst reading from
   the chroot's debconf database.

   o Is the fact that the config script is run on the host a bug in
     apt-get, dpkg, debconf, or apt-utils?
   o Do the buildds just forgot a set of extra weird options?
   o Is this whole idea that you can cause apt-get and dpkg to act on a
      root other than / doomed to failure to begin with?

 - when will the buildds be changed to call the chroot tools?


Cheers,
weasel

[mailfup2 d-d@ldo]

1. e.g.
 Mar 24 16:33:59 peri sudo:   buildd : TTY=unknown ; PWD=/home/buildd/build ; USER=root ; COMMAND=/usr/bin/apt-get --purge -o Dir::State::status=/home/buildd/build/chroot-unstable/var/lib/dpkg/status -o DPkg::Options::=--root=/home/buildd/build/chroot-unstable -o DPkg::Run-Directory=/home/buildd/build/chroot-unstable -o DPkg::Options::=--force-confold -q -y install cdbs quilt ffmpeg imagemagick kdelibs5-dev ladspa-sdk libavdevice-dev libavformat-dev libdv4-dev libgtk2.0-dev libjack-dev libquicktime-dev libsamplerate-dev libsdl1.2-dev libsox-dev libswscale-dev libvorbis-dev libxine-dev libxml2-dev
-- 
                           |  .''`.  ** Debian GNU/Linux **
      Peter Palfrader      | : :' :      The  universal
 http://www.palfrader.org/ | `. `'      Operating System
                           |   `-    http://www.debian.org/


Reply to: