You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Antonio Rendina 5dc8fddc4e Merge remote-tracking branch 'devuan/suites/unstable' 1 month ago
debian Version 2.118devuan2 (unstable). 1 month ago
.gitignore Add HTTPS support (LP: #1135163). 9 years ago
Makefile Use 1 month ago
Mirrors.masterlist Merge remote-tracking branch 'devuan/suites/unstable' 1 month ago
README update rather outdated README 13 years ago
TODO typo 16 years ago
choose-mirror.c Revert "Set choose country priority to low (expert mode)." 1 month ago
get-iso-codes We don't need an en.po for iso-codes anymore 13 years ago Match case insensitively. 1 month ago
mirrorlist Revert unnecessary changes: Primary is no longer a type. 1 month ago
mirrors.h Bump maximum suite length from 32 to 128. 4 years ago
mktemplates Drop our copy of intltool-merge 3 months ago
sort-templates Fix incorrect sorting of country lists for English 13 years ago


This little program allows the user to pick mirror, by choosing first a
country, then a mirror, or by manually entering mirror info.
The mirror list is built into it at compile time based on the canonical
Debian mirrors list, Mirrors.masterlist.

After it has run, the debconf question mirror/http/hostname will have
the mirror host, mirror/http/directory will have the base of the mirror,
and mirror/http/proxy may contain proxy info in standard form. These
are used by retrievers and by apt-setup.

The system for building the country list

1) get-iso-codes script
Get ISO 3166 (country names) translations

This needs the iso-codes package installed on the build machine

The translations are picked from *.mo files by using msgunfmt utility and
put into PO files in debian/iso-codes

2) mktemplates script
Create the Choices lists in the templates file
Insert translations in the templates file
Create the translated templates file

The Choices list are first grabbed from
Mirrors.masterlist (this file is refreshed at build time if possible).

Then, the codes list is transformed into a country name list (in English)
by using the file from the iso-codes package.

This list is transformed into a comma-separated list (NOTE : country "names"
may contain commas which need to be escaped) and inserted into the Choices
lists in the templates file

The translations (from debian/iso-codes/*po) and the "normal" translations
of the remaining fields of the templates (from debian/po/*po) are merged
together into PO files in debian/po-build

The po2debconf utility inserts these translations into the templates

To ensure the list of countries is sorted appropriatly for each language,
this uses Indices-xx fields, which is a special debconf feature currently
only implemented in cdebconf, the debconf flavour used in Debian Installer
first stage.

The result is very sensitive to strange errors. For instance, one
common symptom during the early development of this script was Indices-xx
field not having all the same number of choices and not the same number of
choices than Choices-xx fields. When this happens, the multiselect
screen is completely *BROKEN* with "/dev/null" as the only choice..:-)

So, if this happens again, please look at the generated templates file
and count the number of Choices in each Indices fields and each Choices fields.