Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2014-01-20 20:42:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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      2014-01-10 
21:19:23.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2014-01-23 
15:44:46.000000000 +0100
@@ -1,0 +2,32 @@
+Fri Jan 17 06:23:04 UTC 2014 - mch...@suse.com
+
+- refresh 0001-script-provide-overridable-root-by-subvol.patch
+* Introduce $boot_prefix for setting prefix on seeking other /boot
+  directory.
+- refresh 0002-script-create-menus-for-btrfs-snapshot.patch
+* Support existing snapshots by creating their missing slave configs.
+* Temporarily default to disable this feature until receiving more
+  tests from QA.
+* Introduce GRUB_ENABLE_CUSTOM_SNAPSHOT_SUBMENU to allow custom
+  submenu for listing snapshots rather than the default one.
+
+-------------------------------------------------------------------
+Wed Jan 15 15:46:31 UTC 2014 - arvidj...@gmail.com
+
+- package autoiso.cfg and osdetect.cfg as documentation
+- add 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch -
+  fix configure test for DejaVu font
+- add dejavu-fonts to BR (needed to build starfield theme)
+- package starfield theme as grub2-branding-upstream
+- add grub2-use-DejaVuSansMono-for-starfield-theme.patch - use fixed width
+  font for starfield theme
+- clarify that grub2 subpackage contains only user space tools
+
+-------------------------------------------------------------------
+Wed Jan 15 06:18:10 UTC 2014 - mch...@suse.com
+
+- add new patches for booting btrfs snapshot (fate#316522) (fate#316232)
+  * 0001-script-provide-overridable-root-by-subvol.patch
+  * 0002-script-create-menus-for-btrfs-snapshot.patch
+ 
+-------------------------------------------------------------------

New:
----
  0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch
  0001-script-provide-overridable-root-by-subvol.patch
  0002-script-create-menus-for-btrfs-snapshot.patch
  grub2-use-DejaVuSansMono-for-starfield-theme.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.qcqfdW/_old  2014-01-23 15:44:47.000000000 +0100
+++ /var/tmp/diff_new_pack.qcqfdW/_new  2014-01-23 15:44:47.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package grub2
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -29,6 +29,7 @@
 %endif
 BuildRequires:  automake
 BuildRequires:  bison
+BuildRequires:  dejavu-fonts
 BuildRequires:  device-mapper-devel
 BuildRequires:  fdupes
 BuildRequires:  flex
@@ -125,10 +126,14 @@
 Patch29:        grub2-secureboot-chainloader.patch
 Patch34:        grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch
 Patch35:        grub2-linguas.sh-no-rsync.patch
+Patch36:        0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch
+Patch37:        grub2-use-DejaVuSansMono-for-starfield-theme.patch
 # Btrfs snapshot booting related patches
 Patch101:       0002-btrfs-add-ability-to-boot-from-subvolumes.patch
 Patch102:       0003-cmdline-add-envvar-loader_cmdline_append.patch
 Patch103:       0004-btrfs-export-subvolume-envvars.patch
+Patch110:       0001-script-provide-overridable-root-by-subvol.patch
+Patch111:       0002-script-create-menus-for-btrfs-snapshot.patch
 Requires:       gettext-runtime
 %if 0%{?suse_version} >= 1140
 Requires:       os-prober
@@ -153,6 +158,7 @@
 architecture.  It support rich scale of kernel formats, file systems,
 computer architectures and hardware devices.
 
+This package includes user space utlities to manage GRUB on your system.
 
 
 Authors:
@@ -165,6 +171,15 @@
     Robert Millan
     Carles Pina
 
+%package branding-upstream
+
+Summary:        Upstream branding for GRUB2's graphical console
+Group:          System/Fhs
+Requires:       %{name} = %{version}-%{release}
+
+%description branding-upstream
+Upstream branding for GRUB2's graphical console
+
 %package %{grubarch}
 
 Summary:        Bootloader with support for Linux, Multiboot and more
@@ -240,9 +255,13 @@
 %patch29 -p1
 %patch34 -p1
 %patch35 -p1
+%patch36 -p1
+%patch37 -p1
 %patch101 -p1
 %patch102 -p1
 %patch103 -p1
+%patch110 -p1
+%patch111 -p1
 
 # Generate po/LINGUAS for message catalogs ...
 ./linguas.sh
@@ -546,6 +565,7 @@
 %doc COPYING NEWS README
 %doc THANKS TODO ChangeLog
 %doc README.openSUSE
+%doc docs/autoiso.cfg docs/osdetect.cfg
 %dir /boot/%{name}
 %ghost /boot/%{name}/grub.cfg
 %{_sysconfdir}/bash_completion.d/grub
@@ -583,6 +603,7 @@
 %{_bindir}/%{name}-syslinux2cfg
 %dir %{_libdir}/%{name}
 %dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/themes
 %if 0%{?suse_version} >= 1140
 %{_datadir}/%{name}/*.pf2
 %endif
@@ -617,6 +638,9 @@
 %{_mandir}/man8/%{name}-set-default.8.*
 %{_mandir}/man8/%{name}-sparc64-setup.8.*
 
+%files branding-upstream
+%{_datadir}/%{name}/themes/starfield
+
 %if ! 0%{?only_efi:1}
 
 %files %{grubarch}

++++++ 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch ++++++
>From 2b1fbf23b49586e414d3212544395e18b1c0b9cb Mon Sep 17 00:00:00 2001
From: Andrey Borzenkov <arvidj...@gmail.com>
Date: Sun, 12 Jan 2014 16:16:26 +0400
Subject: [PATCH] look for DejaVu also in /usr/share/fonts/truetype

It is installed in this path on openSUSE.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 7c5d080..e80c074 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1375,7 +1375,7 @@ fi
 
 if test x"$starfield_excuse" = x; then
    for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
-     for dir in . /usr/src /usr/share/fonts/X11/misc 
/usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu; do
+     for dir in . /usr/src /usr/share/fonts/X11/misc 
/usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu 
/usr/share/fonts/truetype; do
         if test -f "$dir/DejaVuSans.$ext"; then
           DJVU_FONT_SOURCE="$dir/DejaVuSans.$ext"
           break 2
-- 
1.8.4

++++++ 0001-script-provide-overridable-root-by-subvol.patch ++++++
From: Michael Chang <mch...@suse.com>
Subject: provide overridable root by subvol 

References: fate#316522, fate#316232
Patch-Mainline: no

This patch provides a environment variable $subvol that can be used
to override path relative to absolute root by specific $subvol.

v1:
Introduce $boot_prefix for setting prefix on seeking other /boot
directory.

Signed-off-by: Michael Chang <mch...@suse.com>

Index: grub-2.02~beta2/util/grub.d/10_linux.in
===================================================================
--- grub-2.02~beta2.orig/util/grub.d/10_linux.in
+++ grub-2.02~beta2/util/grub.d/10_linux.in
@@ -55,7 +55,9 @@ case x"$GRUB_FS" in
     xbtrfs)
        rootsubvol="`make_system_path_relative_to_its_root /`"
        rootsubvol="${rootsubvol#/}"
-       if [ "x${rootsubvol}" != x ]; then
+       if [ "x$overridable_root_by_subvol" = "xtrue" ]; then
+           GRUB_CMDLINE_LINUX="\${rootflags} ${GRUB_CMDLINE_LINUX}"
+       elif [ "x${rootsubvol}" != x ]; then
            GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} 
${GRUB_CMDLINE_LINUX}"
        fi;;
     xzfs)
@@ -126,17 +128,43 @@ linux_entry ()
     fi
     printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   fi
+
+  if [ "x$overridable_root_by_subvol" = "xtrue" -a "x$GRUB_FS" = "xbtrfs" ]; 
then
+    sed "s/^/$submenu_indentation/" << EOF
+       if [ "x\$subvol" = "x" ]; then
+               bootdir="${rel_dirname}"
+               rootdir="${rootsubvol}"
+       else
+               bootdir="\${subvol}${dirname}"
+               rootdir="\${subvol}"
+       fi
+       if [ "x\${rootdir}" != "x" ]; then
+               rootflags="rootflags=subvol=\${rootdir}"
+       else
+               rootflags=""
+       fi
+EOF
+  fi
+
   message="$(gettext_printf "Loading Linux %s ..." ${version})"
   if [ -d /sys/firmware/efi ] && [ "x${GRUB_USE_LINUXEFI}" = "xtrue" ]; then
     sed "s/^/$submenu_indentation/" << EOF
        echo    '$message'
-       linuxefi ${rel_dirname}/${basename} 
root=${linux_root_device_thisversion} ro ${args}
 EOF
+    if [ "x$overridable_root_by_subvol" = "xtrue" -a "x$GRUB_FS" = "xbtrfs" ]; 
then
+        echo " linuxefi \${bootdir}/${basename} 
root=${linux_root_device_thisversion} ro ${args}" | sed 
"s/^/$submenu_indentation/"
+    else
+        echo " linuxefi ${rel_dirname}/${basename} 
root=${linux_root_device_thisversion} ro ${args}" | sed 
"s/^/$submenu_indentation/"
+    fi
   else
     sed "s/^/$submenu_indentation/" << EOF
        echo    '$(echo "$message" | grub_quote)'
-       linux   ${rel_dirname}/${basename} 
root=${linux_root_device_thisversion} ${args}
 EOF
+    if [ "x$overridable_root_by_subvol" = "xtrue" -a "x$GRUB_FS" = "xbtrfs" ]; 
then
+        echo " linux   \${bootdir}/${basename} 
root=${linux_root_device_thisversion} ${args}" | sed "s/^/$submenu_indentation/"
+    else
+        echo " linux   ${rel_dirname}/${basename} 
root=${linux_root_device_thisversion} ${args}" | sed "s/^/$submenu_indentation/"
+    fi
   fi
   if test -n "${initrd}" ; then
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
@@ -144,13 +172,21 @@ EOF
     if [ -d /sys/firmware/efi ] && [ "x${GRUB_USE_LINUXEFI}" = "xtrue" ]; then
       sed "s/^/$submenu_indentation/" << EOF
        echo    '$message'
-       initrdefi ${rel_dirname}/${initrd}
 EOF
+      if [ "x$overridable_root_by_subvol" = "xtrue" -a "x$GRUB_FS" = "xbtrfs" 
]; then
+        echo " initrdefi \${bootdir}/${initrd}" | sed 
"s/^/$submenu_indentation/"
+      else
+        echo " initrdefi ${rel_dirname}/${initrd}" | sed 
"s/^/$submenu_indentation/"
+      fi
     else
       sed "s/^/$submenu_indentation/" << EOF
        echo    '$(echo "$message" | grub_quote)'
-       initrd  ${rel_dirname}/${initrd}
 EOF
+      if [ "x$overridable_root_by_subvol" = "xtrue" -a "x$GRUB_FS" = "xbtrfs" 
]; then
+        echo " initrd \${bootdir}/${initrd}" | sed "s/^/$submenu_indentation/"
+      else
+        echo " initrd ${rel_dirname}/${initrd}" | sed 
"s/^/$submenu_indentation/"
+      fi
     fi
   fi
   sed "s/^/$submenu_indentation/" << EOF
@@ -161,11 +197,11 @@ EOF
 machine=`uname -m`
 case "x$machine" in
     xi?86 | xx86_64)
-       list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
+       list=`for i in ${boot_prefix}/boot/vmlinuz-* ${boot_prefix}/vmlinuz-* 
${boot_prefix}/boot/kernel-* ; do
                   if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
               done` ;;
     *) 
-       list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* 
/boot/kernel-* ; do
+       list=`for i in ${boot_prefix}/boot/vmlinuz-* 
${boot_prefix}/boot/vmlinux-* ${boot_prefix}/vmlinuz-* ${boot_prefix}/vmlinux-* 
${boot_prefix}/boot/kernel-* ; do
                   if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
             done` ;;
 esac
++++++ 0002-script-create-menus-for-btrfs-snapshot.patch ++++++
From: Michael Chang <mch...@suse.com>
Subject: create menus for btrfs snapshot 

References: fate#316522, fate#316232
Patch-Mainline: no

This patch adds a new script that will create the menus used for
booting btrfs snapshots.

v1:
* Support existing snapshots by creating their missing slave configs.
* Temporarily default to disable this feature until receiving more
  tests from QA.
* Introduce GRUB_ENABLE_CUSTOM_SNAPSHOT_SUBMENU to allow custom
  submenu for listing snapshots rather than the default one.

Signed-off-by: Michael Chang <mch...@suse.com>

Index: grub-2.02~beta2/Makefile.util.def
===================================================================
--- grub-2.02~beta2.orig/Makefile.util.def
+++ grub-2.02~beta2/Makefile.util.def
@@ -509,6 +509,13 @@ script = {
   installdir = grubconf;
 };
 
+script = {
+  name = '80_btrfs_snapshot';
+  common = util/grub.d/80_btrfs_snapshot.in;
+  installdir = grubconf;
+  condition = COND_HOST_LINUX;
+};
+
 program = {
   mansection = 1;
   name = grub-mkrescue;
Index: grub-2.02~beta2/util/grub-mkconfig.in
===================================================================
--- grub-2.02~beta2.orig/util/grub-mkconfig.in
+++ grub-2.02~beta2/util/grub-mkconfig.in
@@ -250,7 +250,10 @@ export GRUB_DEFAULT \
   GRUB_OS_PROBER_SKIP_LIST \
   GRUB_DISABLE_SUBMENU \
   GRUB_CMDLINE_LINUX_RECOVERY \
-  GRUB_USE_LINUXEFI
+  GRUB_USE_LINUXEFI \
+  GRUB_DISABLE_BOOTING_SNAPSHOT \
+  GRUB_DISABLE_BOOTING_SNAPSHOT_SUBMENU \
+  GRUB_ENABLE_CUSTOM_SNAPSHOT_SUBMENU
 
 if test "x${grub_cfg}" != "x"; then
   rm -f "${grub_cfg}.new"
Index: grub-2.02~beta2/util/grub.d/80_btrfs_snapshot.in
===================================================================
--- /dev/null
+++ grub-2.02~beta2/util/grub.d/80_btrfs_snapshot.in
@@ -0,0 +1,174 @@
+#! /bin/sh
+set -e
+
+# grub-mkconfig helper script.
+# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
+#
+# GRUB is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# GRUB is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
+
+. "${datarootdir}/grub2/grub-mkconfig_lib"
+
+# It's pointless to proceed if not using Btrfs
+if [ "x${GRUB_FS}" != "xbtrfs" ]; then
+  exit 0
+fi
+
+# The default master/main config path looked up by core.img
+master_cfg="/boot/grub2/grub.cfg"
+
+# The config with submenu of bootable btrfs snapshots
+master_snapshot_cfg="/boot/grub2/snapshot_submenu.cfg"
+
+# The slave config path in btrfs snapshot that will be sourced by master config
+# The menu entries in slave config will have it's root overridable by specified
+# subvolume name
+slave_cfg_name="snapshot_menuentry.cfg"
+slave_cfg="boot/grub2/${slave_cfg_name}"
+
+# The current config which is being outputted by grub-mkconfig
+output_cfg=`readlink /proc/$PPID/fd/1 | sed s/.new$//`
+
+grub_mkconfig_dir=`dirname $0`
+grub_script_check="${bindir}/grub2-script-check"
+
+# Stockpile directory for created slave config for snapshots without it
+scanned_snapshot_cfg_dir="/boot/grub2/scanned_snapshot_cfg"
+
+# Remove any slave config if booting snapshot gets disabled, in case it will 
become
+# inconsistent on further updates, note this also removes master_snapshot_cfg
+
+# Temporarily we disable this as it is quite new and still in developing
+# It's subjected to be enabled by default in future as the option name
+# GRUB_DISABLE_BOOTING_SNAPSHOT suggests. So for new you'll need to explicit
+# specify GRUB_DISABLE_BOOTING_SNAPSHOT=false the update the config
+if [ "x${GRUB_DISABLE_BOOTING_SNAPSHOT}" != "xfalse" ]; then
+  rm -f "/${slave_cfg}"
+  rm -f "${master_snapshot_cfg}"
+  rm -rf "${scanned_snapshot_cfg_dir}"
+  exit 0
+fi
+
+# Only attempt to update slave config with master
+if [ "x$output_cfg" = "x$master_cfg"  ]; then
+  # Create the slave config by redirecting the standard output to it
+  # Output menu entries with overridable root
+  overridable_root_by_subvol=true ${grub_mkconfig_dir}/10_linux 
>"/${slave_cfg}.new"
+
+  # Check if the config is sane to use
+  if ${grub_script_check} "/${slave_cfg}.new"; then
+      mv -f "/${slave_cfg}.new" "/${slave_cfg}"
+  fi
+
+  # Scan existing snapshots to create their missing slave configs
+  # This should only be done once
+  if [ ! -d "$scanned_snapshot_cfg_dir" ]; then
+
+    mkdir -p "$scanned_snapshot_cfg_dir"
+
+    for snapshot in /.snapshots/*/snapshot; do
+      config="${snapshot}/etc/default/grub"
+
+      bootdir="${snapshot}/boot"
+      outdir="${scanned_snapshot_cfg_dir}${snapshot}"
+
+      # skip if slave config already exists in snapshot
+      if [ -f "${snapshot}/${slave_cfg}" ]; then
+        continue
+      fi
+
+      (
+      # source config for kernel command lines .. etc
+      if [ -f "$config" ]; then
+        . "$config"
+      else
+      # skip when no config
+        continue
+      fi
+
+      overridable_root_by_subvol=true boot_prefix="$bootdir" 
${grub_mkconfig_dir}/10_linux > "/${slave_cfg}.new"
+      )
+
+      # Check if the config is sane to use
+      if ${grub_script_check} "/${slave_cfg}.new"; then
+          mkdir -p "$outdir"
+          mv -f "/${slave_cfg}.new" "${outdir}/${slave_cfg_name}"
+      fi
+    done
+
+  fi
+
+fi
+
+# Create the bootable snapshots submenus in master config, use the ${OS} to 
indicate
+# distribution that owns these snapshots.
+if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+  OS=GNU/Linux
+else
+  OS="${GRUB_DISTRIBUTOR}"
+fi
+
+# Offer an option to allow disabling (built-in) snapshot submenu. It's 
possible to use
+# any other submenu with more integrated information retrieved from certain 
snapshot
+# utility's metadata and this option would help to get their boot menu tidy 
without
+# submenu with duplicated purpose.
+if [ "x${GRUB_DISABLE_BOOTING_SNAPSHOT_SUBMENU}" != "xtrue" ]; then
+  cat <<EOF
+if [ -f  \${config_directory}/`basename ${master_snapshot_cfg}` ]; then
+  source \${config_directory}/`basename ${master_snapshot_cfg}`
+elif [ -z "\${config_directory}" -a -f  \$prefix/`basename 
${master_snapshot_cfg}` ]; then
+  source \$prefix/`basename ${master_snapshot_cfg}`;
+fi
+EOF
+fi
+
+# Still we create the file regardless GRUB_DISABLE_BOOTING_SNAPSHOT_SUBMENU, 
as it
+# could be source to run as a backup
+# Here we search and list snapshots created by snapper by using it's 
convention on
+# naming snapshots
+
+if [ "x${GRUB_ENABLE_CUSTOM_SNAPSHOT_SUBMENU}" != "xtrue" ]; then
+
+# Write default config if custom one not in use
+  cat <<EOF >"${master_snapshot_cfg}"
+insmod regexp
+submenu "Bootable snapshots for ${OS}" {
+  for x in /.snapshots/*; do
+    if [ -f "\$x/snapshot/${slave_cfg}" ]; then
+      snapshot_found=true
+       submenu "\$x" "\$x" {
+               set subvol="\$2/snapshot"
+               export subvol
+               source "\${subvol}/${slave_cfg}"
+       }
+    elif [ -f "${scanned_snapshot_cfg_dir}\$x/snapshot/${slave_cfg_name}" ]; 
then
+      snapshot_found=true
+       submenu "\$x" "\$x" {
+               set subvol="\$2/snapshot"
+               export subvol
+               source "${scanned_snapshot_cfg_dir}\${subvol}/${slave_cfg_name}"
+       }
+    fi
+  done
+  if [ x\$snapshot_found != xtrue ]; then
+       submenu "Not Found" {true}
+  fi
+}
+EOF
+
+fi
+
++++++ grub2-use-DejaVuSansMono-for-starfield-theme.patch ++++++
Index: grub-2.02~beta2/configure.ac
===================================================================
--- grub-2.02~beta2.orig/configure.ac
+++ grub-2.02~beta2/configure.ac
@@ -1376,8 +1376,8 @@ fi
 if test x"$starfield_excuse" = x; then
    for ext in pcf pcf.gz bdf bdf.gz ttf ttf.gz; do
      for dir in . /usr/src /usr/share/fonts/X11/misc 
/usr/share/fonts/truetype/ttf-dejavu /usr/share/fonts/dejavu 
/usr/share/fonts/truetype; do
-        if test -f "$dir/DejaVuSans.$ext"; then
-          DJVU_FONT_SOURCE="$dir/DejaVuSans.$ext"
+        if test -f "$dir/DejaVuSansMono.$ext"; then
+          DJVU_FONT_SOURCE="$dir/DejaVuSansMono.$ext"
           break 2
         fi
      done
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to