summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/fs.pm12
-rw-r--r--perl-install/install2.pm10
-rw-r--r--perl-install/install_any.pm40
3 files changed, 43 insertions, 19 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index a7180aad9..46f569589 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -238,7 +238,7 @@ sub write_fstab($;$$) {
isNfs($_) and $dir = '', $options ||= 'ro,rsize=8192,wsize=8192';
#- keep in mind the new line for fstab.
- @new{($_->{mntpoint}, $_->{"$dir$_->{device}"})} = undef;
+ @new{($_->{mntpoint}, "$dir$_->{device}")} = undef;
#- tested? devices::make("$prefix/$dir$_->{device}") if $_->{device} && $dir && !$_->{noMakeDevice};
eval { devices::make("$prefix/$dir$_->{device}") } if $_->{device} && $dir;
@@ -247,21 +247,23 @@ sub write_fstab($;$$) {
[ ( $_->{device} =~ /^\// ? $_->{device} : "$dir$_->{device}" ),
$_->{mntpoint}, type2fs($_->{type}), $options, $freq, $passno ];
- } grep { $_->{mntpoint} && type2fs($_->{type}) &&
+ } grep { $_->{mntpoint} && type2fs($_->{type}) && !isFat($_) &&
! exists $new{$_->{mntpoint}} && ! exists $new{"/dev/$_->{device}"} } @$fstab;
#- inserts dos/win partitions in fstab.
#- backward compatible win kdeicons script to handle upgrade correctly?
+ #- take into account an already provided mount point.
unshift @to_add,
map_index {
my $i = $::i ? $::i + 1 : '';
my $device = $_->{device} =~ /^\/dev\/(.*)$/ ? $1 : $_->{device};
+ my $mntpoint = $_->{mntpoint} ? $_->{mntpoint} : "/mnt/DOS_$device";
#- keep in mind the new line for fstab.
- @new{("/mnt/DOS_$device", "/dev/$device")} = undef;
+ @new{($mntpoint, "/dev/$device")} = undef;
- mkdir "$prefix/mnt/DOS_$device", 0755 or log::l("failed to mkdir $prefix/mnt/DOS_$device: $!");
- [ "/dev/$device", "/mnt/DOS_$device", "vfat", "user,exec,conv=auto", 0, 0 ];
+ mkdir "$prefix/$mntpoint", 0755 or log::l("failed to mkdir $prefix/$mntpoint: $!");
+ [ "/dev/$device", $mntpoint, "vfat", "user,exec,conv=auto", 0, 0 ];
} grep { isFat($_) &&
! exists $new{"/dev/$_->{device}"} } @$fstab;
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index f326ad1dc..006fc3901 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -356,10 +356,6 @@ sub doInstallStep {
$o->beforeInstallPackages;
$o->installPackages($o->{packages});
$o->afterInstallPackages;
-
- #- make icons for KDE.
- log::l("updating kde icons according to available devices");
- install_any::kdeicons_postinstall($o->{prefix});
}
#------------------------------------------------------------------------------
sub miscellaneous {
@@ -617,6 +613,12 @@ sub main {
fs::write($o->{prefix}, $o->{fstab}, $o->{manualFstab}, $o->{useSupermount});
modules::write_conf("$o->{prefix}/etc/conf.modules", 'append');
+ #- update language and icons for KDE.
+ log::l("updating language for kde");
+ install_any::kdelang_postinstall($o->{prefix});
+ log::l("updating kde icons according to available devices");
+ install_any::kdeicons_postinstall($o->{prefix});
+
install_any::lnx4win_postinstall($o->{prefix}) if $o->{lnx4win};
install_any::killCardServices();
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 7b5a38863..da0a773a2 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -533,23 +533,18 @@ sub template2userfile($$$$%) {
}
}
-sub kderc_largedisplay($) {
- my ($prefix) = @_;
+sub update_userkderc($$$) {
+ my ($prefix, $cat, $subst) = @_;
foreach ("/etc/skel", "/root", list_home()) {
my ($inputfile, $outputfile) = ("$prefix$_/.kderc", "$prefix$_/.kderc.new");
- my %subst = ( contrast => "Contrast=7\n",
- kfmiconstyle => "kfmIconStyle=Large\n",
- kpaneliconstyle => "kpanelIconStyle=Normal\n", #- to change to Large when icons looks better
- kdeiconstyle => "KDEIconStyle=Large\n",
- );
-
+ my %subst = %$subst;
local *INFILE; local *OUTFILE;
open INFILE, $inputfile or return;
open OUTFILE, ">$outputfile" or return;
print OUTFILE map {
- if (my $i = /^\s*\[KDE\]/ ... /^\s*\[/) {
+ if (my $i = /^\s*\[$cat\]/i ... /^\s*\[/) {
if (/^\s*(\w*)=/ && $subst{lc($1)}) {
delete $subst{lc($1)};
} else {
@@ -559,12 +554,34 @@ sub kderc_largedisplay($) {
$_;
}
} <INFILE>;
+ print OUTFILE "[$cat]\n", values %subst if values %subst; #- if categorie has not been found above.
unlink $inputfile;
rename $outputfile, $inputfile;
}
}
+sub kderc_largedisplay($) {
+ my ($prefix) = @_;
+
+ update_userkderc($prefix, 'KDE', {
+ contrast => "Contrast=7\n",
+ kfmiconstyle => "kfmIconStyle=Large\n",
+ kpaneliconstyle => "kpanelIconStyle=Normal\n", #- to change to Large when icons looks better
+ kdeiconstyle => "KDEIconStyle=Large\n",
+ });
+}
+
+sub kdelang_postinstall($) {
+ my ($prefix) = @_;
+ my %i18n = getVarsFromSh("$prefix/etc/sysconfig/i18n");
+ my $lang = $i18n{LANG} eq 'se' ? 'sv' : $i18n{LANG};
+
+ update_userkderc($prefix, 'Locale', {
+ language => "Language=$lang\n",
+ });
+}
+
sub kdeicons_postinstall($) {
my ($prefix) = @_;
@@ -593,8 +610,11 @@ sub kdeicons_postinstall($) {
my %toreplace = ( id => $1 );
template2userfile($prefix, "/usr/share/floppy.kdelnk.in", "Desktop/floppy$2.kdelnk", 1, %toreplace);
} elsif (/^\/dev\/(\S+)\s+\/mnt\/DOS_ (\S*)\s+/x) {
- my %toreplace = ( device => $1, id => $2 );
+ my %toreplace = ( device => $1, id => $2, mntpoint => "/mnt/DOS_$2" );
template2userfile($prefix, "/usr/share/Dos_.kdelnk.in", "Desktop/Dos_$2.kdelnk", 1, %toreplace);
+ } elsif (/^\/dev\/(\S+)\s+(\S*)\s+vfat\s+/x) {
+ my %toreplace = ( device => $1, id => $1, mntpoint => $2 );
+ template2userfile($prefix, "/usr/share/Dos_.kdelnk.in", "Desktop/Dos_$1.kdelnk", 1, %toreplace);
}
}
}