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

Bug#513408: buildd.emdebian.org: Config packages need a Policy



Package: buildd.emdebian.org
Severity: important

There needs to be some discussion about config packages for Grip and
Crush.

grip-config is OK with debootstrap but awkward inside D-I.

balloon3-config is too specialised and doesn't include all the support
implemented in grip-config so cannot (currently) completely replace it.

The task of grip-config
=======================

1. It's a placeholder for fixes that need to be reconciled within
Debian.
   1.1 Make install-info into a no-op as there are no infopages.
   1.2 make update-alternatives not fail if an alternative points to a
manpage as there are no manpages. (This does not remove the
functionality of alternative manpages if using Debian packages.)
   1.3 handle gcc-4.3-base misbehaviour whereby it fiddles around with
files in /usr/share/doc/ in the postinst and fails if those files have
been modified (as in Grip). e.g. we compress copyright and omit
changelog.Debian.gz - both are targets of 'ln -s' in the gcc-4.3-base
postinst. grip-config contains the files until gcc can be fixed.

2. It carries important dependencies that turn a debootstrap into a
bootable system.

The actual implementation will vary as bugs are fixed, so there should
really only be a need for one config package for Grip.

balloon3-config is much more specialised, including setting a default
root password and having a slightly different range of dependencies.

To work with debootstrap, the relevant config package(s) need to be
either Priority: required or --include'd explicitly.

To work with Debian-Installer, the relevant config package(s) must be
brought in by *dependencies* and, in particular, in order to work for
d-i and Grip, grip-config must be *unpacked* before gcc-4.3-base is
upgraded to the Grip version. Therefore, grip-config is going to need
to be a dependency of gcc-4.3-base and this can be done using an
override file for the Grip repository. Equally, the override file can
downgrade the priority of packages where necessary.

I need information, testing and bug reports to determine a Policy for
such packages and how to create new ones for other devices.

-config packages are going to be the main method of customising Grip
for particular devices. These packages can do lots more things, like:

 + Handle customisations for /etc/profile for automatic bash_completion
support

 + Handle network customisation, like setting a default hostname.

 + Extend a basic Grip install to a full desktop install without
needing Tasks via extra dependencies

 + Configure packages like splashy by setting appropriate kernel
parameters for the framebuffer (need to look at the d-i pre-seeding
code for how this is done because there is an option to do just this in
d-i but the value for vga=$value is not pre-determined). Really, this
probably needs to be a bug report against splashy to provide a udeb
that calculates the necessary value and passes it to debconf.

i.e. providing the "it-just-works" infrastructure that is so important
in real life.

The difficulty is retaining both debootstrap AND d-i support. This will
require ongoing testing and bug filing.

Note that it also appears impossible to customise the actual
pre-seeding itself - any one website can only have one pre-seed file
for Lenny, one for Squeeze, one for Etch etc. in order to use a sane
pre-seeding location like "www.emdebian.org" without having to specify
the complete path of "http://www.emdebian.org/d-i/lenny/preseed.cfg";.
It's important because d-i doesn't have particularly robust safeguards
against the specified URL giving a 404, in fact it can turn d-i into an
infinite loop that is particularly annoying because the screen keeps
flashing between virtual consoles, completely preventing the user from
reading or retrieving the debug messages that flash past every second
or two.



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

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



Reply to: