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 - [email protected] + +- fix filelist for s390x + +------------------------------------------------------------------- +Tue Jun 21 06:19:27 UTC 2016 - [email protected] + +- 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'"
