summaryrefslogtreecommitdiffstats
path: root/move
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2003-11-19 16:41:08 +0000
committerPascal Rigaux <pixel@mandriva.com>2003-11-19 16:41:08 +0000
commitb0338f11edbe92c2efb4b24fffa228e9f8a64186 (patch)
tree5f780833bda8806d69e4727bba38db842acc20b6 /move
parent4884b70c27f8ae16d89111bdcfdde21e37d7bbae (diff)
downloaddrakx-b0338f11edbe92c2efb4b24fffa228e9f8a64186.tar
drakx-b0338f11edbe92c2efb4b24fffa228e9f8a64186.tar.gz
drakx-b0338f11edbe92c2efb4b24fffa228e9f8a64186.tar.bz2
drakx-b0338f11edbe92c2efb4b24fffa228e9f8a64186.tar.xz
drakx-b0338f11edbe92c2efb4b24fffa228e9f8a64186.zip
- mount removable devices
- fix chown'ing cache directory
Diffstat (limited to 'move')
-rw-r--r--move/move.pm19
1 files changed, 12 insertions, 7 deletions
diff --git a/move/move.pm b/move/move.pm
index 0c2adbf56..5ea93fb72 100644
--- a/move/move.pm
+++ b/move/move.pm
@@ -329,8 +329,17 @@ sub install2::configMove {
modules::load_category('multimedia/sound');
run_program::run('service', 'sound', 'start');
+ install_TrueFS_in_home($o);
+
+ $o->{useSupermount} = 1;
+ fs::set_removable_mntpoints($o->{all_hds});
+ fs::set_all_default_options($o->{all_hds}, %$o, lang::fs_options($o->{locale}));
+
require install_any;
install_any::write_fstab($o);
+ $_->{mntpoint} && !$_->{isMounted} and run_program::run('mount', $_->{mntpoint}) foreach fsedit::get_really_all_fstab($o->{all_hds});
+ $o->{fstab} = [ fsedit::get_all_fstab($o->{all_hds}) ];
+
modules::write_conf('');
detect_devices::install_addons('');
@@ -364,20 +373,16 @@ sub install_TrueFS_in_home {
} list_users();
$home->{loopback} = [ values %loopbacks ];
fsedit::recompute_loopbacks($o->{all_hds});
-
- $o->{fstab} = [ fsedit::get_all_fstab($o->{all_hds}) ];
- install_steps::formatMountPartitions($o);
+ fs::formatMount_all([], $home->{loopback}, $o->{prefix});
foreach my $user (keys %loopbacks) {
my $dir = $loopbacks{$user}{mntpoint};
- run_program::run("/bin/chown", "$user.$user", $dir);
foreach (qw(.kde .openoffice)) {
if (-d "/home/$user/$_" && ! -d "$dir/$_") {
run_program::run('mv', "/home/$user/$_", "$dir/$_");
}
- mkdir $_ and run_program::run("/bin/chown", "$user.$user", $_)
- foreach "/home/$user/$_", "$dir/$_";
+ mkdir $_ foreach "/home/$user/$_", "$dir/$_";
run_program::run('mount', '-o', 'bind', "$dir/$_", "/home/$user/$_");
}
@@ -388,6 +393,7 @@ sub install_TrueFS_in_home {
mkdir_p("/home/$user/" . dirname($_));
symlink "$cache/$_", "/home/$user/$_";
}
+ run_program::run('chown', '-R', "$user.$user", $dir);
run_program::run('chown', '-R', "$user.$user", $cache);
$ENV{ICEAUTHORITY} = "$dir/.ICEauthority";
@@ -405,7 +411,6 @@ sub install2::startMove {
$root->draw_pixbuf(Gtk2::Gdk::GC->new($root), $pixbuf, 0, 0, ($::rootwidth - $w) / 2, ($::rootheight - $h)/2, $w, $h, 'none', 0, 0);
ugtk2::gtkflush();
- install_TrueFS_in_home($o);
run_program::run('/sbin/service', 'syslog', 'start');
run_program::run('killall', 'minilogd'); #- get rid of minilogd
run_program::run('/sbin/service', 'syslog', 'restart'); #- otherwise minilogd will strike back