Hello community,
here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2016-07-01 09:53:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
and /work/SRC/openSUSE:Factory/.grub2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grub2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2016-06-13 21:51:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2016-07-01 09:54:00.000000000 +0200
@@ -1,0 +2,17 @@
+Tue Jun 28 00:31:47 CEST 2016 - ro(a)suse.de
+
+- fix filelist for s390x
+
+-------------------------------------------------------------------
+Tue Jun 21 06:19:27 UTC 2016 - mchang(a)suse.com
+
+- Fix grub2-editenv error on encrypted lvm installation (bsc#981621)
+ * modified grub2-btrfs-workaround-grub2-once.patch
+- Add missing closing bracket in 'grub2-snapper-plugin.sh'.
+- Fix snapshot booting on s390x (bsc#955115)
+ * modified grub2-snapper-plugin.sh
+- Fallback to old subvol name scheme to support old snapshot config
+ (bsc#953538)
+ * added grub2-btrfs-07-subvol-fallback.patch
+
+-------------------------------------------------------------------
New:
----
grub2-btrfs-07-subvol-fallback.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.sWUY48/_old 2016-07-01 09:54:02.000000000 +0200
+++ /var/tmp/diff_new_pack.sWUY48/_new 2016-07-01 09:54:02.000000000 +0200
@@ -193,6 +193,7 @@
Patch104: grub2-btrfs-04-grub2-install.patch
Patch105: grub2-btrfs-05-grub2-mkconfig.patch
Patch106: grub2-btrfs-06-subvol-mount.patch
+Patch107: grub2-btrfs-07-subvol-fallback.patch
# Support EFI xen loader
Patch120: grub2-efi-xen-chainload.patch
Patch121: grub2-efi-chainloader-root.patch
@@ -421,6 +422,7 @@
%patch104 -p1
%patch105 -p1
%patch106 -p1
+%patch107 -p1
%patch120 -p1
%patch121 -p1
%patch122 -p1
@@ -864,6 +866,7 @@
%{_bindir}/%{name}-editenv
%{_bindir}/%{name}-file
%{_bindir}/%{name}-fstest
+%{_bindir}/%{name}-glue-efi
%{_bindir}/%{name}-kbdcomp
%{_bindir}/%{name}-menulst2cfg
%{_bindir}/%{name}-mkfont
@@ -876,7 +879,6 @@
%{_bindir}/%{name}-mkstandalone
%{_bindir}/%{name}-render-label
%{_bindir}/%{name}-script-check
-%{_bindir}/%{name}-syslinux2cfg
%if 0%{?has_systemd:1}
%{_unitdir}/grub2-once.service
%endif
@@ -892,6 +894,7 @@
%{_mandir}/man1/%{name}-editenv.1.*
%{_mandir}/man1/%{name}-file.1.*
%{_mandir}/man1/%{name}-fstest.1.*
+%{_mandir}/man1/%{name}-glue-efi.1.*
%{_mandir}/man1/%{name}-kbdcomp.1.*
%{_mandir}/man1/%{name}-menulst2cfg.1.*
%{_mandir}/man1/%{name}-mkfont.1.*
@@ -904,7 +907,6 @@
%{_mandir}/man1/%{name}-mkstandalone.1.*
%{_mandir}/man1/%{name}-render-label.1.*
%{_mandir}/man1/%{name}-script-check.1.*
-%{_mandir}/man1/%{name}-syslinux2cfg.1.*
%{_mandir}/man8/%{name}-install.8.*
%{_mandir}/man8/%{name}-mkconfig.8.*
%{_mandir}/man8/%{name}-probe.8.*
@@ -916,18 +918,18 @@
%{_mandir}/man1/%{name}-emu.1.*
%else
%config %{_sysconfdir}/grub.d/30_os-prober
-%{_bindir}/%{name}-glue-efi
%{_bindir}/%{name}-mount
+%{_bindir}/%{name}-syslinux2cfg
%{_sbindir}/%{name}-bios-setup
%{_sbindir}/%{name}-macbless
%{_sbindir}/%{name}-ofpathname
%{_sbindir}/%{name}-sparc64-setup
-%{_mandir}/man1/%{name}-glue-efi.1.*
%{_mandir}/man1/%{name}-mount.1.*
%{_mandir}/man8/%{name}-bios-setup.8.*
%{_mandir}/man8/%{name}-macbless.8.*
%{_mandir}/man8/%{name}-ofpathname.8.*
%{_mandir}/man8/%{name}-sparc64-setup.8.*
+%{_mandir}/man1/%{name}-syslinux2cfg.1.*
%endif
%files branding-upstream
++++++ grub2-btrfs-07-subvol-fallback.patch ++++++
Index: grub-2.02~beta3/grub-core/fs/btrfs.c
===================================================================
--- grub-2.02~beta3.orig/grub-core/fs/btrfs.c
+++ grub-2.02~beta3/grub-core/fs/btrfs.c
@@ -925,10 +925,40 @@ lookup_root_by_name(struct grub_btrfs_da
}
static grub_err_t
+lookup_root_by_name_fallback(struct grub_btrfs_data *data, const char *path)
+{
+ grub_err_t err;
+ grub_uint64_t tree = 0;
+ grub_uint8_t type;
+ struct grub_btrfs_key key;
+
+ err = find_path (data, path, &key, &tree, &type);
+ if (err)
+ return grub_error(GRUB_ERR_FILE_NOT_FOUND, "couldn't locate %s\n", path);
+
+ if (key.object_id != grub_cpu_to_le64_compile_time (GRUB_BTRFS_OBJECT_ID_CHUNK) || tree == 0)
+ return grub_error(GRUB_ERR_BAD_FILE_TYPE, "%s: not a subvolume\n", path);
+
+ data->fs_tree = tree;
+ return GRUB_ERR_NONE;
+}
+
+static grub_err_t
btrfs_handle_subvol(struct grub_btrfs_data *data __attribute__ ((unused)))
{
if (btrfs_default_subvol)
- return lookup_root_by_name(data, btrfs_default_subvol);
+ {
+ grub_err_t err;
+ err = lookup_root_by_name(data, btrfs_default_subvol);
+
+ /* Fallback to old schemes */
+ if (err == GRUB_ERR_FILE_NOT_FOUND)
+ {
+ err = GRUB_ERR_NONE;
+ return lookup_root_by_name_fallback(data, btrfs_default_subvol);
+ }
+ return err;
+ }
if (btrfs_default_subvolid)
return lookup_root_by_id(data, btrfs_default_subvolid);
++++++ grub2-btrfs-workaround-grub2-once.patch ++++++
--- /var/tmp/diff_new_pack.sWUY48/_old 2016-07-01 09:54:02.000000000 +0200
+++ /var/tmp/diff_new_pack.sWUY48/_new 2016-07-01 09:54:02.000000000 +0200
@@ -1,7 +1,7 @@
-Index: grub-2.02~beta2/grub-core/kern/fs.c
+Index: grub-2.02~beta3/grub-core/kern/fs.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/fs.c
-+++ grub-2.02~beta2/grub-core/kern/fs.c
+--- grub-2.02~beta3.orig/grub-core/kern/fs.c
++++ grub-2.02~beta3/grub-core/kern/fs.c
@@ -27,6 +27,7 @@
#include <grub/mm.h>
#include <grub/term.h>
@@ -24,11 +24,11 @@
ret += size;
len -= size;
sector -= ((size + offset) >> GRUB_DISK_SECTOR_BITS);
-Index: grub-2.02~beta2/util/grub-editenv.c
+Index: grub-2.02~beta3/util/grub-editenv.c
===================================================================
---- grub-2.02~beta2.orig/util/grub-editenv.c
-+++ grub-2.02~beta2/util/grub-editenv.c
-@@ -23,8 +23,10 @@
+--- grub-2.02~beta3.orig/util/grub-editenv.c
++++ grub-2.02~beta3/util/grub-editenv.c
+@@ -23,8 +23,11 @@
#include <grub/util/misc.h>
#include <grub/lib/envblk.h>
#include <grub/i18n.h>
@@ -37,10 +37,11 @@
#include <grub/util/install.h>
+#include <grub/emu/getroot.h>
+#include <grub/fs.h>
++#include <grub/crypto.h>
#include <stdio.h>
#include <unistd.h>
-@@ -120,6 +122,140 @@ block, use `rm %s'."),
+@@ -120,6 +123,140 @@ block, use `rm %s'."),
NULL, help_filter, NULL
};
@@ -181,7 +182,7 @@
static grub_envblk_t
open_envblk_file (const char *name)
{
-@@ -176,10 +312,17 @@ static void
+@@ -176,10 +313,17 @@ static void
list_variables (const char *name)
{
grub_envblk_t envblk;
@@ -199,7 +200,7 @@
}
static void
-@@ -202,6 +345,38 @@ write_envblk (const char *name, grub_env
+@@ -202,6 +346,38 @@ write_envblk (const char *name, grub_env
}
static void
@@ -238,7 +239,7 @@
set_variables (const char *name, int argc, char *argv[])
{
grub_envblk_t envblk;
-@@ -217,8 +392,26 @@ set_variables (const char *name, int arg
+@@ -217,8 +393,26 @@ set_variables (const char *name, int arg
*(p++) = 0;
@@ -267,7 +268,7 @@
argc--;
argv++;
-@@ -226,26 +419,147 @@ set_variables (const char *name, int arg
+@@ -226,26 +420,158 @@ set_variables (const char *name, int arg
write_envblk (name, envblk);
grub_envblk_close (envblk);
@@ -319,8 +320,8 @@
+ {
+ have_abstraction = 1;
+ }
-+}
-+
+ }
+
+static fs_envblk_t
+probe_fs_envblk (fs_envblk_spec_t spec)
+{
@@ -338,6 +339,16 @@
+
+ grub_util_biosdisk_init (DEFAULT_DEVICE_MAP);
+ grub_init_all ();
++ grub_gcry_init_all ();
++
++ grub_lvm_fini ();
++ grub_mdraid09_fini ();
++ grub_mdraid1x_fini ();
++ grub_diskfilter_fini ();
++ grub_diskfilter_init ();
++ grub_mdraid09_init ();
++ grub_mdraid1x_init ();
++ grub_lvm_init ();
+
+ grub_devices = grub_guess_root_devices (DEFAULT_DIRECTORY);
+
@@ -388,6 +399,7 @@
+
+ free (grub_drives);
+ grub_device_close (grub_dev);
++ grub_gcry_fini_all ();
+ grub_fini_all ();
+ grub_util_biosdisk_fini ();
+
@@ -409,13 +421,13 @@
+ }
+
+ return NULL;
- }
-
++}
++
+
int
main (int argc, char *argv[])
{
-@@ -277,6 +591,9 @@ main (int argc, char *argv[])
+@@ -277,6 +603,9 @@ main (int argc, char *argv[])
command = argv[curindex++];
}
@@ -425,10 +437,10 @@
if (strcmp (command, "create") == 0)
grub_util_create_envblk_file (filename);
else if (strcmp (command, "list") == 0)
-Index: grub-2.02~beta2/util/grub.d/00_header.in
+Index: grub-2.02~beta3/util/grub.d/00_header.in
===================================================================
---- grub-2.02~beta2.orig/util/grub.d/00_header.in
-+++ grub-2.02~beta2/util/grub.d/00_header.in
+--- grub-2.02~beta3.orig/util/grub.d/00_header.in
++++ grub-2.02~beta3/util/grub.d/00_header.in
@@ -46,6 +46,11 @@ cat << EOF
if [ -s \$prefix/grubenv ]; then
load_env
++++++ grub2-snapper-plugin.sh ++++++
--- /var/tmp/diff_new_pack.sWUY48/_old 2016-07-01 09:54:02.000000000 +0200
+++ /var/tmp/diff_new_pack.sWUY48/_new 2016-07-01 09:54:02.000000000 +0200
@@ -97,13 +97,19 @@
title="${important}${NAME} ${VERSION} ($full_desc)"
fi
+ if test "$s390" = "1"; then
+ subvol="\$2"
+ else
+ subvol="\$3"
+ fi
+
cat <<EOF
if [ -f "${snapper_snapshot_path}/$num/snapshot/boot/grub2/grub.cfg" ]; then
snapshot_found=true
saved_subvol=\$btrfs_subvol
menuentry `print_hotkey` "$title" "${snapper_snapshot_path}/$num/snapshot" "`$grub_mkrelpath ${snapper_snapshot_path}/${num}/snapshot`" {
- btrfs_subvol="\$3"
+ btrfs_subvol="$subvol"
extra_cmdline="rootflags=subvol=\$3"
export extra_cmdline
snapshot_num=$num
@@ -157,7 +163,7 @@
continue
fi
snapshot_cfg="${snapshot_cfg}
- if [ -f \"$c/${snapshot_submenu_name}\"; then
+ if [ -f \"$c/${snapshot_submenu_name}\" ]; then
source \"$c/${snapshot_submenu_name}\"
fi"
done
@@ -226,6 +232,7 @@
case "$machine" in
(s390|s390x)
hotkey=1
+ s390=1
;;
esac
cmdline="$0 $* hotkey='$hotkey'"