Hello community,
here is the log from the commit of package yast2-installation
checked in at Fri Sep 21 11:58:20 CEST 2007.
--------
--- yast2-installation/yast2-installation.changes 2007-09-20 12:29:59.000000000 +0200
+++ /mounts/work_src_done/NOARCH/yast2-installation/yast2-installation.changes 2007-09-21 10:01:46.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Sep 21 09:53:37 CEST 2007 - locilka@suse.cz
+
+- When normal umount at the end of the installation fails, try
+ at least: sync, remount read-only, umount --force.
+- Report all services running in the installation directory
+ (both #326478).
+- 2.15.52
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-2.15.51.tar.bz2
New:
----
yast2-installation-2.15.52.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.Q27537/_old 2007-09-21 11:57:42.000000000 +0200
+++ /var/tmp/diff_new_pack.Q27537/_new 2007-09-21 11:57:42.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-installation (Version 2.15.51)
+# spec file for package yast2-installation (Version 2.15.52)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-installation
-Version: 2.15.51
+Version: 2.15.52
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-installation-2.15.51.tar.bz2
+Source0: yast2-installation-2.15.52.tar.bz2
Prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer sgml-skel update-desktop-files yast2-core-devel yast2-country yast2-devtools yast2-testsuite
# Mode::live_installation
@@ -67,12 +67,12 @@
Summary: YaST2 - Installation Parts
%package devel-doc
-Version: 2.15.51
+Version: 2.15.52
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-installation-2.15.51.tar.bz2
+Source0: yast2-installation-2.15.52.tar.bz2
Prefix: /usr
Requires: yast2-installation >= 2.15.34
PreReq: %fillup_prereq
@@ -105,7 +105,7 @@
Lukas Ocilka
%prep
-%setup -n yast2-installation-2.15.51
+%setup -n yast2-installation-2.15.52
%build
%{prefix}/bin/y2tool y2autoconf
@@ -177,6 +177,12 @@
%exclude %{prefix}/share/doc/packages/yast2-installation/COPYRIGHT.english
%exclude %{prefix}/share/doc/packages/yast2-installation/README
%changelog
+* Fri Sep 21 2007 - locilka@suse.cz
+- When normal umount at the end of the installation fails, try
+ at least: sync, remount read-only, umount --force.
+- Report all services running in the installation directory
+ (both #326478).
+- 2.15.52
* Thu Sep 20 2007 - locilka@suse.cz
- Changed inst_upgrade_urls to add sources not enabled during the
upgrade in a disabled state instead of ignoring them (#326342).
++++++ yast2-installation-2.15.51.tar.bz2 -> yast2-installation-2.15.52.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-installation-2.15.51/src/clients/pre_umount_finish.ycp new/yast2-installation-2.15.52/src/clients/pre_umount_finish.ycp
--- old/yast2-installation-2.15.51/src/clients/pre_umount_finish.ycp 2007-05-18 10:44:04.000000000 +0200
+++ new/yast2-installation-2.15.52/src/clients/pre_umount_finish.ycp 2007-09-21 10:02:19.000000000 +0200
@@ -12,6 +12,8 @@
{
import "Misc";
+import "Installation";
+import "String";
textdomain "installation";
@@ -42,6 +44,13 @@
}
else if (func == "Write")
{
+ // bugzilla #326478
+ // some processes might be still running...
+ string cmd = sformat ("fuser -v '%1' 2>&1", String::Quote (Installation::destdir));
+ map cmd_run = (map) WFM::Execute (.local.bash_output, cmd);
+
+ y2milestone ("These processes are still running at %1 -> %2", Installation::destdir, cmd_run);
+
if (size (Misc::boot_msg) > 0) {
// just a beep
SCR::Execute (.target.bash, "/bin/echo -e '\a'");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-installation-2.15.51/src/clients/umount_finish.ycp new/yast2-installation-2.15.52/src/clients/umount_finish.ycp
--- old/yast2-installation-2.15.51/src/clients/umount_finish.ycp 2007-05-18 10:44:04.000000000 +0200
+++ new/yast2-installation-2.15.52/src/clients/umount_finish.ycp 2007-09-21 10:03:20.000000000 +0200
@@ -8,7 +8,7 @@
* Authors:
* Jiri Srain
*
- * $Id: umount_finish.ycp 36572 2007-02-28 13:13:55Z jsrain $
+ * $Id: umount_finish.ycp 41008 2007-09-21 08:03:19Z locilka $
*
*/
@@ -20,6 +20,7 @@
import "Storage";
import "Hotplug";
import "Vendor";
+import "String";
any ret = nil;
string func = "";
@@ -78,14 +79,21 @@
// /proc/bus/usb
// /proc
- if (Hotplug::haveUSB)
- {
- WFM::Execute(.local.umount, Installation::destdir + "/proc/bus/usb");
+ list <string> umount_these = [ "/proc", "/sys", "/dev" ];
+ if (Hotplug::haveUSB) {
+ umount_these = (list <string>) union (["/proc/bus/usb"], umount_these);
}
- // inst_prepdisk mounts them unconditionally, they keep destdir busy
- WFM::Execute(.local.umount, Installation::destdir + "/proc");
- WFM::Execute(.local.umount, Installation::destdir + "/sys");
- WFM::Execute(.local.umount, Installation::destdir + "/dev");
+
+ foreach (string umount_this, umount_these, {
+ umount_this = sformat ("%1%2", Installation::destdir, umount_this);
+ boolean umount_result = (boolean) WFM::Execute (.local.umount, umount_this);
+
+ if (umount_result != true) {
+ y2warning ("Umount failed, trying to remount read only...");
+ string cmd = sformat ("sync; mount -o remount,ro '%1'; umount --force '%1';", String::Quote (umount_this));
+ y2milestone ("Cmd: '%1' Ret: %2", cmd, WFM::Execute (.local.bash_output, cmd));
+ }
+ });
map targetMap = Storage::GetTargetMap();
@@ -113,9 +121,24 @@
umountLength = umountLength - 1;
string tmp = Installation::destdir + (string) (umountList[umountLength]:"");
y2milestone("umount target: %1", tmp);
- WFM::Execute(.local.umount, tmp);
+
+ boolean umount_status = (boolean) WFM::Execute (.local.umount, tmp);
+
+ // fallback
+ // bugzilla #326478
+ if (umount_status != true) {
+ y2warning ("Umount failed, trying to remount read only...");
+ string cmd = sformat ("mount -o remount,ro '%1'; umount --force '%1';", String::Quote (tmp));
+ y2milestone ("Cmd: '%1' Ret: %2", cmd, WFM::Execute (.local.bash_output, cmd));
+ }
}
+ // bugzilla #326478
+ y2milestone ("Currently mounted partitions: %1", WFM::Execute (.local.bash_output, "mount"));
+
+ string cmd = sformat ("fuser -v '%1' 2>&1", String::Quote (Installation::destdir));
+ map cmd_run = (map) WFM::Execute (.local.bash_output, cmd);
+
// must call .local.bash_output !
integer max_loop_dev = Storage::NumLoopDevices();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-installation-2.15.51/VERSION new/yast2-installation-2.15.52/VERSION
--- old/yast2-installation-2.15.51/VERSION 2007-09-20 12:30:04.000000000 +0200
+++ new/yast2-installation-2.15.52/VERSION 2007-09-21 10:03:10.000000000 +0200
@@ -1 +1 @@
-2.15.51
+2.15.52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org