From ab2b2390259ef77faf5fbea8553fc1c0e52cf8ff Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 31 Mar 2005 15:40:43 +0000 Subject: better locale-policy.fdi (bugzilla #15025) --- perl-install/lang.pm | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) (limited to 'perl-install/lang.pm') diff --git a/perl-install/lang.pm b/perl-install/lang.pm index b7955eeaf..f0a9149e4 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -1122,27 +1122,50 @@ sub write { sub configure_hal { my ($locale) = @_; - my $options = join("\n", map_each { - if_($::b, qq(\t\ttrue)); - } fs_options($locale)); + my $option = sub { + my ($cat, $val) = @_; + qq(\t\ttrue); + }; + my %options = (fs_options($locale), utf8 => 1); + my %known_options = ( + auto => [ 'iocharset', 'codepage' ], + vfat => [ 'iocharset', 'codepage' ], + msdos => [ 'iocharset', 'codepage' ], + ntfs => [ 'iocharset', 'utf8' ], + cdrom => [ 'iocharset', 'codepage', 'utf8' ], + ); + my $options = sub { + my ($cat, $name) = @_; + join("\n", map { + $option->($cat, $_ eq 'utf8' ? $_ : "$_=$options{$_}"); + } grep { $options{$_} } @{$known_options{$name}}); + }; + my $options_per_fs = join('', map { + my $s = $options->('volume', $_); + $s && sprintf(<<'EOF', $_, $s); + +%s + +EOF + } 'auto', 'vfat', 'msdos', 'ntfs'); - output_p("$::prefix/usr/share/hal/fdi/30osvendor/locale-policy.fdi", sprintf(<<'EOF', $options)); + output_p("$::prefix/usr/share/hal/fdi/30osvendor/locale-policy.fdi", + sprintf(<<'EOF', $options_per_fs, $options->('storage', 'cdrom'))); - - -%s - - +%s - + + +%s + -- cgit v1.2.1