summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-01-06 00:13:50 +0000
committerThierry Vignaud <tv@mageia.org>2012-01-06 00:13:50 +0000
commitd8ee2b56b6f9ca81ef2c7cca348db14f2350f925 (patch)
tree11406d0391fc6f24af1cde927de2a68664cc2eaa
parent80fd86c39e3ef0d58790fa0f71531c162506eee7 (diff)
downloaddrakx-backup-do-not-use-d8ee2b56b6f9ca81ef2c7cca348db14f2350f925.tar
drakx-backup-do-not-use-d8ee2b56b6f9ca81ef2c7cca348db14f2350f925.tar.gz
drakx-backup-do-not-use-d8ee2b56b6f9ca81ef2c7cca348db14f2350f925.tar.bz2
drakx-backup-do-not-use-d8ee2b56b6f9ca81ef2c7cca348db14f2350f925.tar.xz
drakx-backup-do-not-use-d8ee2b56b6f9ca81ef2c7cca348db14f2350f925.zip
(stop_udev) introduce it in order to stop udev & umount associated mount
points at end of installation
-rw-r--r--perl-install/install/NEWS2
-rw-r--r--perl-install/install/install2.pm8
2 files changed, 10 insertions, 0 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index 45938a5ab..faaadc2a9 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,3 +1,5 @@
+- stop udev at end of install
+
Version 13.74.1 - 29 December 2011
- rebuild with updated list_modules.pm forkernel-3.2.0-0.rc7.2.mga2
diff --git a/perl-install/install/install2.pm b/perl-install/install/install2.pm
index a22f54887..4112b0932 100644
--- a/perl-install/install/install2.pm
+++ b/perl-install/install/install2.pm
@@ -306,6 +306,12 @@ sub start_udev() {
run_program::run("udevadm", "trigger", "--type=devices", "--action=add");
}
+sub stop_udev() {
+ run_program::run('killall', 'udevd');
+ require fs::mount;
+ fs::mount::umount($_) foreach '/dev/pts', '/dev/shm', '/run', '/dev';
+}
+
#-######################################################################################
#- MAIN
#-######################################################################################
@@ -316,6 +322,7 @@ sub main {
log::l("$msg\n" . backtrace());
$o->ask_warn('', $msg);
setVirtual(1);
+ stop_udev() if !$::local_install;
require install::steps_auto_install;
install::steps_auto_install_non_interactive::errorInStep($o, $msg);
};
@@ -648,6 +655,7 @@ sub main {
#- ala pixel? :-) [fpons]
common::sync(); common::sync();
+ stop_udev() if !$::local_install;
log::l("installation complete, leaving");
log::l("files still open by install2: ", readlink($_)) foreach glob_("/proc/self/fd/*");
print "\n" x 80 if !$::local_install;