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

Bug#418382: choose-mirror: Better handling of suite/codename; support oldstable



On Monday 09 April 2007 16:13, Frans Pop wrote:
> I have been thinking that better support for oldstable would be good to
> have, even for netboot, floppy installations. This should be
> possible...
[...]
> As the installation is now much more based on codename anyway, maybe we
> should ignore the suite a bit more and switch to matching primairily on
> codename. This would also get rid of having to set suite=<codename> in
> debian/rules for official releases.

OK. Here are some thoughts on making the whole mirror selection more based 
on the codename.

Introduce two new internal, but translatable debconf templates (rootskel):
- debian-installer/suites: oldstable, stable, testing, unstable
- debian-installer/codenames: sarge, etch, lenny, sid
The second template would of course need to be kept up-to-date. Should 
maybe be implemented as Choices to make separate translation of the 
options possible and thus reduce the impact of partial translations.

Introduce two additional preseedable internal templates (rootskel):
debian-installer/codename and debian-installer/udeb/codename.
These would become the central templates for the installation, replacing 
mirror/suite and mirror/udeb/suite. These would also have the correct 
defaults/preseeding based on the version of D-I that is being developed.

The advantage of having these in rootskel would be that they (and 
translations) are available for all components, irrespective of 
installation method (and the required space is relatively small).

For CD-based installs nothing much would change: we continue to read the 
Release file and set debian-installer/codename based on what we find, 
which also determines which release we use from (optional) mirror 
sources.

Selection of the suite for network based installs would change. We'd read 
the Release file for _all_ suites in debian-installer/suites, build an 
array matching suite to codename, and build a choices list based on only 
available releases. This automatically adds support for oldstable.
We'd then (at medium/low priority) ask the question which release is 
wanted, showing both codename and suite (translated) with the default 
determined basically in the same way as it is now.

Main change is that we'd have to retrieve all Release files instead of 
stopping when a match has been found as we do now. However, this should 
not have a really big impact.

I'm not completely sure yet how to display the choices, especially with 
translations.
One option could be to just only display the translated values, but IMO 
the English name still is relevant for users as that is what ends up in 
the sources.list.
Another option would be 'codename-l10n (codename) - suite-l10n (suite)'. 
Or maybe display an additional "You have selected ..." dialog that 
includes the original names if suite and/or codename are translated.

Options in this scheme would be:
- not displaying the question if the default codename matches oldstable
  (after all, a newer installer is almost certainly preferred for other
  suites)
- a hardcoded variable "earliest supported codename" that suppresses for
  example stable if the "testing" installer does not support installing
  it (or displays a message if it is selected)
- displaying a message if testing/unstable is selected in the "stable"
  installer that it may not be supported and to try the "testing"
  installer in case of problems

Attachment: pgpA0pfVy4keN.pgp
Description: PGP signature


Reply to: