diff options
author | Thierry Vignaud <thierry.vignaud@gmail.com> | 2014-10-26 09:05:04 +0100 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2014-10-26 09:23:20 +0100 |
commit | 4cd217c05ea6fbb9e9269fdd202bafe4d190c29a (patch) | |
tree | 22e475bedbd3e65f60c3c255bf2572a36ee62fc2 | |
parent | e9d30f33a0edb88a819c67cfc14ed5ce66312ceb (diff) | |
download | drakx-4cd217c05ea6fbb9e9269fdd202bafe4d190c29a.tar drakx-4cd217c05ea6fbb9e9269fdd202bafe4d190c29a.tar.gz drakx-4cd217c05ea6fbb9e9269fdd202bafe4d190c29a.tar.bz2 drakx-4cd217c05ea6fbb9e9269fdd202bafe4d190c29a.tar.xz drakx-4cd217c05ea6fbb9e9269fdd202bafe4d190c29a.zip |
fix selecting of uneeded locales (mga#3723)
original fix by Pablo Saratxaga
Mageia has he ability to choose both *language* and *country*
Language is used for choosing translations to be displayed, etc.
country for things like currency, etc.
(country may be deduced from other geographical settings rather than
choosen directly, but that is not the problem).
GNU libc locales embedd both concepts (language and country) in a single
locale.
Obviously those exists for only some combinations.
For cases were an existing matching locale doesn't exists, Mageia
chooses two locales, one for the language oriented settings, and another
four the country oriented settings.
Unlike normal installer where packages to be installed are choosen; in
draklive-install, we have a set of "all packages", and "uneeded" ones
are removed.
The problem was obviously the installer didn't see the "need" for the
locales-xx package for country; only language was checked.
This fixes that, the idea is to check for *both* $locale->{lang} and
$locale->{country}, which can lead two *two* neeeded locales-xx packages
-rw-r--r-- | perl-install/install/NEWS | 1 | ||||
-rw-r--r-- | perl-install/pkgs.pm | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 5ff5595fc..244b2b5cd 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,5 +1,6 @@ - drakx-in-chroot: o pre-create /dev/null & co again (for draklive) +- fix selecting of uneeded locales (mga#3723) Version 16.44 - 23 October 2014 diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 6fbf00ed7..afc5cc784 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -242,9 +242,10 @@ sub detect_unselected_locale_packages { require lang; my $locales_prefix = 'locales-'; my $locale = lang::read(); - my $selected_locale = $locales_prefix . lang::locale_to_main_locale($locale->{lang}); + my @selected_locales = map { $locales_prefix . $_ } lang::locale_to_main_locale($locale->{lang}), lang::c2locale($locale->{country}); my @available_locales = $do_pkgs->are_installed($locales_prefix . '*'); - member($selected_locale, @available_locales) ? difference2(\@available_locales, [ $selected_locale ]) : (); + my @unneeded_locales = difference2(\@available_locales, \@selected_locales); + $do_pkgs->are_installed(@unneeded_locales); } sub remove_unused_packages { |