Hello community,
here is the log from the commit of package yast2-bootloader
checked in at Sat Sep 6 04:50:28 CEST 2008.
--------
--- yast2-bootloader/yast2-bootloader.changes 2008-08-18 12:58:22.000000000 +0200
+++ yast2-bootloader/yast2-bootloader.changes 2008-09-03 13:28:24.531821000 +0200
@@ -1,0 +2,13 @@
+Wed Sep 3 12:00:58 CEST 2008 - jsrain@suse.cz
+
+- added detection of EFI, proposing ELILO in that case
+ (fate #301882)
+- 2.17.15
+
+-------------------------------------------------------------------
+Wed Aug 20 15:34:22 CEST 2008 - jsrain@suse.cz
+
+- added skeleton for checking whether scenario is supported, not
+ yet actually used (fate #304499)
+
+-------------------------------------------------------------------
Old:
----
yast2-bootloader-2.17.14.tar.bz2
New:
----
yast2-bootloader-2.17.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.x14851/_old 2008-09-06 04:49:55.000000000 +0200
+++ /var/tmp/diff_new_pack.x14851/_new 2008-09-06 04:49:55.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-bootloader (Version 2.17.14)
+# spec file for package yast2-bootloader (Version 2.17.15)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-bootloader
-Version: 2.17.14
+Version: 2.17.15
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-bootloader-2.17.14.tar.bz2
+Source0: yast2-bootloader-2.17.15.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:
@@ -61,7 +61,7 @@
Daniel Fiser
%prep
-%setup -n yast2-bootloader-2.17.14
+%setup -n yast2-bootloader-2.17.15
%build
%{prefix}/bin/y2tool y2autoconf
@@ -106,6 +106,13 @@
/var/adm/fillup-templates/*
/usr/share/YaST2/schema/autoyast/rnc/bootloader.rnc
%changelog
+* Wed Sep 03 2008 jsrain@suse.cz
+- added detection of EFI, proposing ELILO in that case
+ (fate #301882)
+- 2.17.15
+* Wed Aug 20 2008 jsrain@suse.cz
+- added skeleton for checking whether scenario is supported, not
+ yet actually used (fate #304499)
* Mon Aug 18 2008 jsrain@suse.cz
- store bootloader type before installing packages, fixed check
for undefined product name (bnc #417383)
++++++ yast2-bootloader-2.17.14.tar.bz2 -> yast2-bootloader-2.17.15.tar.bz2 ++++++
++++ 2697 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/configure.in new/yast2-bootloader-2.17.15/configure.in
--- old/yast2-bootloader-2.17.14/configure.in 2008-08-18 12:54:51.000000000 +0200
+++ new/yast2-bootloader-2.17.15/configure.in 2008-09-03 13:27:08.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-bootloader, 2.17.14, http://bugs.opensuse.org/, yast2-bootloader)
+AC_INIT(yast2-bootloader, 2.17.15, http://bugs.opensuse.org/, yast2-bootloader)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.14"
+VERSION="2.17.15"
RPMNAME="yast2-bootloader"
MAINTAINER="Jozef Uhliarik "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/clients/bootloader_finish.ycp new/yast2-bootloader-2.17.15/src/clients/bootloader_finish.ycp
--- old/yast2-bootloader-2.17.14/src/clients/bootloader_finish.ycp 2008-04-18 16:35:48.000000000 +0200
+++ new/yast2-bootloader-2.17.15/src/clients/bootloader_finish.ycp 2008-09-02 13:27:27.000000000 +0200
@@ -9,7 +9,7 @@
* Jiri Srain
* Olaf Dabrunz
*
- * $Id: bootloader_finish.ycp 46857 2008-04-18 13:53:36Z juhliarik $
+ * $Id: bootloader_finish.ycp 50458 2008-08-28 13:34:25Z locilka $
*
*/
@@ -24,7 +24,6 @@
import "Misc";
import "Mode";
import "BootCommon";
-import "Update";
// added for fate# 303395
import "Linuxrc";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/modules/BootCommon.ycp new/yast2-bootloader-2.17.15/src/modules/BootCommon.ycp
--- old/yast2-bootloader-2.17.14/src/modules/BootCommon.ycp 2008-08-18 10:19:51.000000000 +0200
+++ new/yast2-bootloader-2.17.15/src/modules/BootCommon.ycp 2008-09-03 12:02:19.000000000 +0200
@@ -15,7 +15,7 @@
* Joachim Plack
* Olaf Dabrunz
*
- * $Id: BootCommon.ycp 50080 2008-08-14 13:57:41Z juhliarik $
+ * $Id: BootCommon.ycp 50600 2008-09-03 10:02:18Z jsrain $
*
*/
@@ -1026,12 +1026,16 @@
y2milestone ("It is XEN domU and the bootloader should be installed");
}
+ if ((Arch::i386() || Arch::x86_64()) && Linuxrc::InstallInf("EFI") == "1")
+ {
+ loader_type = "elilo";
+ }
+
if (loader_type == "grub")
{
prefer_lilo = true;
}
-
loader_type = SupportedLoader (loader_type);
y2milestone ("Detected bootloader %1", loader_type);
setCurrentLoaderAttribs (loader_type);
@@ -1115,6 +1119,8 @@
if (Arch::i386 () || Arch::x86_64 ())
{
ret = (list<string>)merge (ret, ["lilo", "grub"]);
+ if (Arch::x86_64 ())
+ ret = (list<string>)merge (ret, ["elilo"]);
}
// in order not to display it twice when "none" is selected
ret = filter (string l, ret, {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/modules/BootELILO.ycp new/yast2-bootloader-2.17.15/src/modules/BootELILO.ycp
--- old/yast2-bootloader-2.17.14/src/modules/BootELILO.ycp 2008-03-20 12:53:45.000000000 +0100
+++ new/yast2-bootloader-2.17.15/src/modules/BootELILO.ycp 2008-09-03 12:02:19.000000000 +0200
@@ -17,7 +17,7 @@
* Olaf Dabrunz
* Philipp Thomas
*
- * $Id: BootELILO.ycp 45640 2008-03-20 11:53:38Z jsrain $
+ * $Id: BootELILO.ycp 50600 2008-09-03 10:02:18Z jsrain $
*
*/
@@ -63,6 +63,11 @@
string efi_vendor = "SuSE";
+/**
+ * Is the /sys/firmware/efi directory available?
+ */
+boolean efi_available = true;
+
// misc. functions
/**
@@ -299,6 +304,9 @@
create_efi_entry = true;
if (Mode::update ())
create_efi_entry = false;
+ efi_available = 0 == (integer)SCR::Execute (.target.bash, "test -d /sys/firmware/efi");
+ if (! efi_available)
+ create_efi_entry = false;
elilo_conf_filename = getEliloConfFilename ();
BootCommon::DetectDisks ();
BootCommon::del_parts = BootCommon::getPartitionList (`deleted);
@@ -442,6 +450,13 @@
// SCR::Execute (.target.bash, "/sbin/elilo");
boolean ret = BootCommon::UpdateBootloader ();
+// FIXME find a better way to report status
+ if (ret && ! efi_available) {
+ Popup::TimedMessage(
+_("System was not booted via EFI firmware. To boot your
+computer, you need to load ELILO via the EFI shell."), 10);
+ }
+
if (BootCommon::location_changed || create_efi_entry)
{
map mp = Storage::GetMountPoints();
@@ -648,7 +663,7 @@
*/
global define void BootELILO () {
BootCommon::bootloader_attribs["elilo"] = $[
- "required_packages" : ["elilo"],
+ "required_packages" : ["elilo", "efibootmgr"],
"loader_name" : "ELILO",
"initializer" : BootELILO::Initializer,
];
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/modules/BootSupportCheck.ycp new/yast2-bootloader-2.17.15/src/modules/BootSupportCheck.ycp
--- old/yast2-bootloader-2.17.14/src/modules/BootSupportCheck.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-bootloader-2.17.15/src/modules/BootSupportCheck.ycp 2008-08-20 15:38:22.000000000 +0200
@@ -0,0 +1,190 @@
+/**
+ * File:
+ * modules/BootSupportCheck.ycp
+ *
+ * Module:
+ * Bootloader installation and configuration
+ *
+ * Summary:
+ * Check whether the current system setup is a supported configuration
+ *
+ * Authors:
+ * Jiri Srain
+ *
+ * $Id: BootCommon.ycp 49686 2008-08-05 10:04:46Z juhliarik $
+ *
+ */
+
+{
+module "BootSupportCheck";
+
+textdomain "bootloader";
+
+import "Bootloader";
+import "Arch";
+import "Storage";
+import "BootCommon";
+
+/**
+ * List of problems found during last check
+ */
+list<string> detected_problems = [];
+
+/**
+ * Add a new problem description to the list of found problems
+ */
+void AddNewProblem (string description) {
+ detected_problems = add (detected_problems, description);
+}
+
+/**
+ * List detected problems
+ * Always run SystemSupported before calling this function
+ * @return boolean a list of problems, empty if no was found
+ */
+global list<string> DetectedProblems () {
+ return detected_problems;
+}
+
+/**
+ * Check that bootloader is known and supported
+ */
+boolean KnownLoader () {
+ if (! contains (["grub", "elilo", "ppc", "zipl", "none"], Bootloader::getLoaderType ()))
+ {
+ y2error ("Unknown bootloader: %1", Bootloader::getLoaderType ());
+ AddNewProblem (sformat (_("Unknown bootloader: %1"), Bootloader::getLoaderType ()));
+ return false;
+ }
+ return true;
+}
+
+/**
+ * Check that bootloader matches current hardware
+ */
+boolean CorrectLoaderType () {
+ string lt = Bootloader::getLoaderType ();
+ if (lt == "none")
+ return true;
+
+ if (Arch::s390() && lt == "zipl")
+ return true;
+ if (Arch::ppc() && lt == "ppc")
+ return true;
+ if (Arch::ia64() && lt == "elilo")
+ return true;
+ if (Arch::i386() || Arch::x86_64()) {
+ if (false) {// FIXME: check for EFI
+ if (lt == "elilo")
+ return true;
+ } else {
+ if (lt == "grub")
+ return true;
+ }
+ }
+ y2error ("Unsupported combination of hardware platform %1 and bootloader %2", Arch::architecture(), lt);
+ AddNewProblem (sformat (_("Unsupported combination of hardware platform %1 and bootloader %2"), Arch::architecture(), lt));
+ return false;
+}
+
+/**
+ * Checks for GPT partition table
+ // FIXME adapt for ELILO if needed
+ */
+boolean GptPartitionTable () {
+ map tm = Storage::GetTargetMap ();
+ list<string> devices = [ BootCommon::BootPartitionDevice ];
+ // TODO add more devices
+ foreach (string dev, devices, {
+ map p_dev = Storage::GetDiskPartition (dev);
+ integer num = BootCommon::myToInteger( p_dev["nr"]:nil );
+ string mbr_dev = p_dev["disk"]:"";
+ string label = tm[mbr_dev,"label"]:"";
+ y2milestone ("Label: %1", label);
+ y2internal ("Num: %1", num);
+ if (label == "gpt")
+ {
+ if (num > 3)
+ {
+ y2error ("Partitin number > 3 is being used for booting with GPT partition table");
+ AddNewProblem (_("Partitin number > 3 is being used for booting with GPT partition table"));
+ return false;
+ }
+ }
+ });
+ return true;
+}
+
+/**
+ * Check that the root partition is reachable
+ */
+boolean RootPartition () {
+ return true;
+}
+
+/**
+ * GRUB-related check
+ */
+boolean GRUB () {
+ boolean ret = GptPartitionTable ();
+ return ret;
+}
+
+/**
+ * ELILO related check
+ */
+boolean ELILO () {
+ return true;
+}
+
+/**
+ * ZIPL related check
+ */
+boolean ZIPL () {
+ return true;
+}
+
+/**
+ * PPC related check
+ */
+boolean PPC () {
+ return true;
+}
+
+/**
+ * Check if the system configuraiton is supported
+ * Also sets the founds problems into internal variable
+ * Always run this function before calling DetectedProblems()
+ * @return boolean true if supported
+ */
+global boolean SystemSupported () {
+ detected_problems = [];
+
+ // check if the bootloader is known and supported
+ boolean supported = KnownLoader ();
+
+ string lt = Bootloader::getLoaderType ();
+ if (lt == "none")
+ return true;
+
+ // detect correct bootloader type
+ supported = CorrectLoaderType () && supported;
+
+ // check whether root partition can be reached
+ supported = RootPartition () && supported;
+
+ // check specifics for individual loaders
+ if (lt == "grub")
+ supported = GRUB () && supported;
+ else if (lt == "elilo")
+ supported = ELILO () && supported;
+ else if (lt == "ppc")
+ supported = PPC () && supported;
+ else if (lt == "zipl")
+ supported = ZIPL () && supported;
+
+ y2milestone ("Configuration supported: %1", supported);
+ return supported;
+}
+
+} // EOF
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/modules/Makefile.am new/yast2-bootloader-2.17.15/src/modules/Makefile.am
--- old/yast2-bootloader-2.17.14/src/modules/Makefile.am 2007-07-18 12:39:00.000000000 +0200
+++ new/yast2-bootloader-2.17.15/src/modules/Makefile.am 2008-08-20 15:19:56.000000000 +0200
@@ -14,7 +14,8 @@
BootLILO.ycp \
BootPOWERLILO.ycp \
BootZIPL.ycp \
- Bootloader_API.pm
+ Bootloader_API.pm \
+ BootSupportCheck.ycp
# BootS390.ycp \
# BootMILO.ycp \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/src/routines/global_widgets.ycp new/yast2-bootloader-2.17.15/src/routines/global_widgets.ycp
--- old/yast2-bootloader-2.17.14/src/routines/global_widgets.ycp 2008-05-16 16:42:29.000000000 +0200
+++ new/yast2-bootloader-2.17.15/src/routines/global_widgets.ycp 2008-09-03 12:02:19.000000000 +0200
@@ -11,7 +11,7 @@
* Authors:
* Jiri Srain
*
- * $Id: global_widgets.ycp 47593 2008-05-15 15:51:04Z juhliarik $
+ * $Id: global_widgets.ycp 50600 2008-09-03 10:02:18Z jsrain $
*
*/
@@ -334,6 +334,25 @@
return `redraw;
}
+ if (Arch::x86_64 ()) {
+ if (new_bl == "elilo") {
+// continue/cancel pop-up
+ if (! Popup::ContinueCancel (_("
+ELILO supports only the EFI boot architecture. If yor
+firmware does not support it, your computer will not
+boot.")))
+ return nil;
+ }
+ else if (old_bl == "elilo") {
+// continue/cancel pop-up
+ if (! Popup::ContinueCancel (_("
+Bootloader you selected does not support the EFI boot
+architecture. If your firmware does not support legacy
+booting, your computer will not boot.")))
+ return nil;
+ }
+ }
+
// warning - popup, followed by radio buttons
string label = _("
You chose to change your boot loader. When converting
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-bootloader-2.17.14/VERSION new/yast2-bootloader-2.17.15/VERSION
--- old/yast2-bootloader-2.17.14/VERSION 2008-08-18 12:36:10.000000000 +0200
+++ new/yast2-bootloader-2.17.15/VERSION 2008-09-03 12:47:14.000000000 +0200
@@ -1 +1 @@
-2.17.14
+2.17.15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org