Hello community,
here is the log from the commit of package yast2-bootloader
checked in at Mon Jun 9 14:57:11 CEST 2008.
--------
--- yast2-bootloader/yast2-bootloader.changes 2008-06-04 15:05:45.000000000 +0200
+++ /mounts/work_src_done/STABLE/STABLE/yast2-bootloader/yast2-bootloader.changes 2008-06-09 14:28:29.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Jun 9 13:35:26 CEST 2008 - juhliarik@suse.cz
+- added fix for problem with booting Vista bnc #396444
+- 2.16.20
+
+-------------------------------------------------------------------
Old:
----
yast2-bootloader-2.16.19.tar.bz2
New:
----
yast2-bootloader-2.16.20.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.U27268/_old 2008-06-09 14:57:05.000000000 +0200
+++ /var/tmp/diff_new_pack.U27268/_new 2008-06-09 14:57:05.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-bootloader (Version 2.16.19)
+# spec file for package yast2-bootloader (Version 2.16.20)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-bootloader
-Version: 2.16.19
+Version: 2.16.20
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-bootloader-2.16.19.tar.bz2
+Source0: yast2-bootloader-2.16.20.tar.bz2
Prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen gcc-c++ libxslt limal-perl perl-Bootloader perl-XML-Writer perl-gettext sgml-skel swig update-alternatives update-desktop-files yast2-devtools yast2-installation yast2-perl-bindings yast2-storage yast2-testsuite
# to eliminate a cyclic dependency in autobuild:
@@ -54,7 +54,7 @@
Daniel Fiser
%prep
-%setup -n yast2-bootloader-2.16.19
+%setup -n yast2-bootloader-2.16.20
%build
%{prefix}/bin/y2tool y2autoconf
@@ -99,6 +99,9 @@
/var/adm/fillup-templates/*
/usr/share/YaST2/schema/autoyast/rnc/bootloader.rnc
%changelog
+* Mon Jun 09 2008 juhliarik@suse.cz
+- added fix for problem with booting Vista bnc #396444
+- 2.16.20
* Wed Jun 04 2008 juhliarik@suse.cz
- added fix for problem with deleting boot sections bnc #396810
- 2.16.19
++++++ yast2-bootloader-2.16.19.tar.bz2 -> yast2-bootloader-2.16.20.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.16.19/scripts/examine_mbr.pl new/yast2-bootloader-2.16.20/scripts/examine_mbr.pl
--- old/yast2-bootloader-2.16.19/scripts/examine_mbr.pl 2008-06-03 16:42:35.000000000 +0200
+++ new/yast2-bootloader-2.16.20/scripts/examine_mbr.pl 2008-06-09 13:55:36.000000000 +0200
@@ -63,6 +63,13 @@
exit 0;
}
+if (substr($MBR, 320, 126) =~
+ m,invalid partition table.*Error loading operating system,i) {
+ print "Vista MBR\n";
+ exit 0;
+}
+
+
print "unknown\n";
exit 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.16.19/src/grub/misc.ycp new/yast2-bootloader-2.16.20/src/grub/misc.ycp
--- old/yast2-bootloader-2.16.19/src/grub/misc.ycp 2008-06-03 16:42:33.000000000 +0200
+++ new/yast2-bootloader-2.16.20/src/grub/misc.ycp 2008-06-09 13:38:36.000000000 +0200
@@ -12,7 +12,7 @@
* Jiri Srain
* Olaf Dabrunz
*
- * $Id: misc.ycp 46737 2008-04-16 13:21:01Z juhliarik $
+ * $Id: misc.ycp 48161 2008-06-09 11:38:35Z juhliarik $
*
*/
@@ -274,6 +274,8 @@
string device_file = mergestring (splitstring (device, "/"), "_");
string device_file_path = "/var/lib/YaST2/backup_boot_sectors/"
+ device_file;
+ string device_file_path_to_logs = "/var/log/YaST2/"
+ + device_file;
SCR::Execute (.target.bash,
"test -d /var/lib/YaST2/backup_boot_sectors || mkdir /var/lib/YaST2/backup_boot_sectors");
if (SCR::Read (.target.size, device_file_path) > 0)
@@ -298,6 +300,10 @@
SCR::Execute (.target.bash, sformat (
"/bin/dd if=%1 of=%2 bs=512 count=1 2>&1",
device, device_file_path));
+ // save MBR to yast2 log directory
+ SCR::Execute (.target.bash, sformat (
+ "/bin/dd if=%1 of=%2 bs=512 count=1 2>&1",
+ device, device_file_path_to_logs));
if (device == BootCommon::mbrDisk)
{
SCR::Execute (.target.bash, sformat (
@@ -352,8 +358,9 @@
list<string> disks_to_rewrite = grub_getMbrsToRewrite ();
foreach (string d, disks_to_rewrite, {
y2milestone ("Copying generic MBR code to %1", d);
+ // added fix 446 -> 440 for Vista booting problem bnc #396444
string command = sformat (
- "/bin/dd bs=446 count=1 if=%1 of=%2",
+ "/bin/dd bs=440 count=1 if=%1 of=%2",
"/usr/lib/boot/master-boot-code",
d);
y2milestone ("Running command %1", command);
@@ -559,6 +566,8 @@
boolean keep_mbr = BootCommon::KeepMBR (BootCommon::mbrDisk);
// if is primary, store bootloader there
+
+ integer exit = 0;
if (boot_partition_is_on_mbr_disk && ! is_logical)
{
selected_location = `boot;
@@ -572,11 +581,14 @@
// - 0 for a "Generic MBR" (DOS MBR)
// - 254 for a GRUB or lilo "stage 1"
// - 0 for an unknown MBR
+ // - 0 for Vista MBR
map out = (map)SCR::Execute (.target.bash_output, sformat (
"/usr/lib/YaST2/bin/examine_mbr.pl %1", boot_partition_disk));
y2milestone ("MBR examining script returned %1", out);
- integer exit = out["exit"]:0;
+ exit = out["exit"]:0;
BootCommon::globals["generic_mbr"] = ((exit == 254) && (! keep_mbr)) ? "true" : "false";
+
+
}
else if (size (underlying_boot_partition_devices) > 1)
{
@@ -620,7 +632,8 @@
// other installed OSes like Windows (older versions assign the C:
// drive letter to the activated partition).
BootCommon::globals["activate"] =
- (size (Storage::GetBootPartition (BootCommon::mbrDisk)) == 0) ? "true" : "false";
+ (size (Storage::GetBootPartition (BootCommon::mbrDisk)) == 0) ? "true" : "false";
+
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.16.19/src/routines/lilolike.ycp new/yast2-bootloader-2.16.20/src/routines/lilolike.ycp
--- old/yast2-bootloader-2.16.19/src/routines/lilolike.ycp 2008-06-03 16:42:34.000000000 +0200
+++ new/yast2-bootloader-2.16.20/src/routines/lilolike.ycp 2008-06-09 13:33:21.000000000 +0200
@@ -12,7 +12,7 @@
* Jiri Srain
* Olaf Dabrunz
*
- * $Id: lilolike.ycp 47359 2008-05-07 15:19:39Z juhliarik $
+ * $Id: lilolike.ycp 48160 2008-06-09 11:33:21Z juhliarik $
*
*/
{
@@ -204,6 +204,7 @@
// is recognized)
boolean keep_mbr = KeepMBR (loader_device);
+ integer exit = 0;
// if is primary, store bootloader there
if (disk_is_mbr && ! is_logical)
{
@@ -219,11 +220,13 @@
// - 0 for a "Generic MBR" (DOS MBR)
// - 254 for a GRUB or lilo "stage 1"
// - 0 for an unknown MBR
+ // - 0 for a Vista MBR
map out = (map)SCR::Execute (.target.bash_output, sformat (
"/usr/lib/YaST2/bin/examine_mbr.pl %1", disk));
y2milestone ("MBR examining script returned %1", out);
- integer exit = out["exit"]:0;
+ exit = out["exit"]:0;
repl_mbr = (exit == 254) && (! keep_mbr);
+
}
else if (size (needed_devices) > 1)
{
@@ -254,7 +257,7 @@
// we are installing into MBR:
// if there is an active partition, then we do not need to activate
// one (otherwise we do)
- activate = size (Storage::GetBootPartition (mbrDisk)) == 0;
+ activate = size (Storage::GetBootPartition (mbrDisk)) == 0;
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.16.19/src/routines/misc.ycp new/yast2-bootloader-2.16.20/src/routines/misc.ycp
--- old/yast2-bootloader-2.16.19/src/routines/misc.ycp 2008-06-03 16:42:34.000000000 +0200
+++ new/yast2-bootloader-2.16.20/src/routines/misc.ycp 2008-06-09 13:33:21.000000000 +0200
@@ -12,7 +12,7 @@
* Jiri Srain
* Olaf Dabrunz
*
- * $Id: misc.ycp 46737 2008-04-16 13:21:01Z juhliarik $
+ * $Id: misc.ycp 48160 2008-06-09 11:33:21Z juhliarik $
*
* WARNING:
* To be included to BootCommon.ycp only, requires function
@@ -1032,6 +1032,8 @@
string device_file = mergestring (splitstring (device, "/"), "_");
string device_file_path = "/var/lib/YaST2/backup_boot_sectors/"
+ device_file;
+ string device_file_path_to_logs = "/var/log/YaST2/"
+ + device_file;
SCR::Execute (.target.bash,
"test -d /var/lib/YaST2/backup_boot_sectors || mkdir /var/lib/YaST2/backup_boot_sectors");
if (SCR::Read (.target.size, device_file_path) > 0)
@@ -1056,6 +1058,10 @@
SCR::Execute (.target.bash, sformat (
"/bin/dd if=%1 of=%2 bs=512 count=1 2>&1",
device, device_file_path));
+ // save MBR to yast2 log directory
+ SCR::Execute (.target.bash, sformat (
+ "/bin/dd if=%1 of=%2 bs=512 count=1 2>&1",
+ device, device_file_path_to_logs));
if (device == mbrDisk)
{
SCR::Execute (.target.bash, sformat (
@@ -1107,8 +1113,9 @@
list<string> disks_to_rewrite = getMbrsToRewrite ();
foreach (string d, disks_to_rewrite, {
y2milestone ("Copying generic MBR code to %1", d);
+ // added fix 446 -> 440 Vista booting problem bnc # 396444
string command = sformat (
- "/bin/dd bs=446 count=1 if=%1 of=%2",
+ "/bin/dd bs=440 count=1 if=%1 of=%2",
"/usr/lib/boot/master-boot-code",
d);
y2milestone ("Running command %1", command);
@@ -1175,7 +1182,7 @@
/**
* Rewrite current MBR with /var/lib/YaST2/backup_boot_sectors/%device
- * Warning!!! don't use for bootsectors, 446 bytes of sector are written
+ * Warning!!! don't use for bootsectors, 440 bytes of sector are written
* @param device string device to rewrite MBR to
* @return boolean true on success
*/
@@ -1187,8 +1194,9 @@
Report::Error ("Can't restore MBR. No saved MBR found");
return false;
}
+ // added fix 446 -> 440 for Vista booting problem bnc #396444
integer ret = (integer) SCR::Execute (.target.bash, sformat (
- "/bin/dd of=%1 if=/var/lib/YaST2/backup_boot_sectors/%2 bs=446 count=1",
+ "/bin/dd of=%1 if=/var/lib/YaST2/backup_boot_sectors/%2 bs=440 count=1",
device, device_file));
return (ret == 0);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-bootloader-2.16.19/VERSION new/yast2-bootloader-2.16.20/VERSION
--- old/yast2-bootloader-2.16.19/VERSION 2008-06-04 13:40:47.000000000 +0200
+++ new/yast2-bootloader-2.16.20/VERSION 2008-06-09 13:36:56.000000000 +0200
@@ -1 +1 @@
-2.16.19
+2.16.20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org