Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2016-10-10 17:33:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-09-01 
14:01:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2016-10-10 
17:33:07.000000000 +0200
@@ -1,0 +2,8 @@
+Fri Sep  2 03:24:19 UTC 2016 - [email protected]
+
+- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR
+  in openSUSE Tumbleweed (bsc#995549)
+  * modified grub2-default-distributor.patch 
+- grub2.spec: add http module to grub.efi (fate#320129)
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.WWMa2v/_old  2016-10-10 17:33:09.000000000 +0200
+++ /var/tmp/diff_new_pack.WWMa2v/_new  2016-10-10 17:33:09.000000000 +0200
@@ -536,7 +536,7 @@
                jpeg minicmd normal part_apple part_msdos part_gpt \
                password_pbkdf2 png reboot search search_fs_uuid \
                search_fs_file search_label sleep test video fat loadenv"
-PXE_MODULES="efinet tftp"
+PXE_MODULES="efinet tftp http"
 CRYPTO_MODULES="luks gcry_rijndael gcry_sha1 gcry_sha256"
 
 %ifarch x86_64

++++++ grub2-default-distributor.patch ++++++
--- /var/tmp/diff_new_pack.WWMa2v/_old  2016-10-10 17:33:09.000000000 +0200
+++ /var/tmp/diff_new_pack.WWMa2v/_new  2016-10-10 17:33:09.000000000 +0200
@@ -1,23 +1,77 @@
-Index: grub-2.02~beta2/grub-core/osdep/unix/config.c
+Index: grub-2.02~beta3/grub-core/osdep/unix/config.c
 ===================================================================
---- grub-2.02~beta2.orig/grub-core/osdep/unix/config.c
-+++ grub-2.02~beta2/grub-core/osdep/unix/config.c
-@@ -61,6 +61,124 @@ grub_util_get_localedir (void)
+--- grub-2.02~beta3.orig/grub-core/osdep/unix/config.c
++++ grub-2.02~beta3/grub-core/osdep/unix/config.c
+@@ -61,6 +61,140 @@ grub_util_get_localedir (void)
    return LOCALEDIR;
  }
  
 +#ifdef __linux__
++static char *
++os_release_get_val (const char *buf, const char *key)
++{
++  const char *ptr = buf;
++  char *ret;
++
++  while (*ptr && grub_isspace(*ptr))
++    ptr++;
++
++  if (*ptr == '#')
++    return NULL;
++
++  if (grub_strncmp (ptr, key, grub_strlen (key)) != 0)
++    return NULL;
++
++  ptr += grub_strlen (key);
++  if (*ptr++ != '=' || *ptr == '\0')
++    return NULL;
++
++  if (*ptr == '"' || *ptr == '\'')
++    {
++      char c = *ptr;
++      int i = 0;
++      char *tmp, *ptmp;
++
++      if (*++ptr == '\0')
++      return NULL;
++
++      tmp = grub_strdup (ptr);
++      if ((ptmp = grub_strrchr (tmp, c)))
++      *ptmp = '\0';
++
++      ret = malloc (grub_strlen (tmp) + 1);
++      ptmp = tmp;
++      while (*ptmp)
++      {
++        if (*ptmp != '\\' || *(ptmp + 1) != c)
++          ret[i++] = *ptmp;
++        ++ptmp;
++      }
++
++      grub_free (tmp);
++      ret[i] = '\0';
++    }
++  else
++    {
++      char *pret;
++
++      ret = grub_strdup (ptr);
++      if ((pret = grub_strchr (ret, ' ')))
++      *pret = '\0';
++    }
++
++  return ret;
++}
 +
 +static char*
 +grub_util_default_distributor (void)
 +{
-+  pid_t pid;
-+  const char *argv[4];
-+  char *script, *ptr;
-+  char *cfgfile, *iptr;
-+  FILE *f = NULL;
-+  int fd;
-+  char *def_dist = NULL;
++  char *cfgfile;
++  char buf[1024];
++  FILE *fp = NULL;
++  char *os_pretty_name = NULL;
++  char *os_name = NULL;
++  char *os_version = NULL;
 +
 +  cfgfile = grub_util_path_concat (2, GRUB_SYSCONFDIR, "os-release");
 +  if (!grub_util_is_regular (cfgfile))
@@ -26,108 +80,70 @@
 +      return NULL;
 +    }
 +
-+  argv[0] = "sh";
-+  argv[1] = "-c";
++  fp = grub_util_fopen (cfgfile, "r");
 +
-+  script = xmalloc (4 * strlen (cfgfile) + 300);
-+
-+  ptr = script;
-+  memcpy (ptr, ". '", 3);
-+  ptr += 3;
-+  for (iptr = cfgfile; *iptr; iptr++)
++  if (!fp)
 +    {
-+      if (*iptr == '\\')
-+      {
-+        memcpy (ptr, "'\\''", 4);
-+        ptr += 4;
-+        continue;
-+      }
-+      *ptr++ = *iptr;
++      grub_util_warn (_("cannot open configuration file `%s': %s"),
++                    cfgfile, strerror (errno));
++      grub_free (cfgfile);
++      return NULL;
 +    }
 +
-+  strcpy (ptr, "'; printf \"OS_RELEASE_NAME=%s\\nOS_RELEASE_VERSION=%s\\n\" "
-+        "\"$NAME\" \"$VERSION\"");
-+
-+  argv[2] = script;
-+  argv[3] = '\0';
-+
-+  pid = grub_util_exec_pipe (argv, &fd);
-+
-+  if (pid)
-+    f = fdopen (fd, "r");
++  grub_free (cfgfile);
 +
-+  if (f)
++  while (fgets (buf, sizeof (buf), fp))
 +    {
-+      char *buffer = NULL;
-+      size_t sz = 0;
-+      char *name, *ver;
-+
-+      name = ver = NULL;
++      if (!os_pretty_name
++        && (os_pretty_name = os_release_get_val (buf, "PRETTY_NAME")))
++      continue;
++      if (!os_name
++        && (os_name = os_release_get_val (buf, "NAME")))
++      continue;
++      if (!os_version
++        && (os_version = os_release_get_val (buf, "VERSION")))
++      continue;
++      if (os_pretty_name && os_name && os_version)
++      break;
++    }
 +
-+      while (getline (&buffer, &sz, f) >= 0)
-+      {
-+        for (ptr = buffer; *ptr && grub_isspace (*ptr); ptr++);
-+        if (grub_strncmp (ptr, "OS_RELEASE_NAME=",
-+                      sizeof ("OS_RELEASE_NAME=") - 1) == 0)
-+          {
-+            char *ptr2;
-+            ptr += sizeof ("OS_RELEASE_NAME=") - 1;
-+            name = grub_strdup (ptr);
-+            for (ptr2 = name + grub_strlen (name) - 1;
-+                 ptr2 >= name && (*ptr2 == '\r' || *ptr2 == '\n'); ptr2--);
-+            ptr2[1] = '\0';
-+            continue;
-+          }
-+        if (grub_strncmp (ptr, "OS_RELEASE_VERSION=",
-+                      sizeof ("OS_RELEASE_VERSION=") - 1) == 0)
-+          {
-+            char *ptr2;
-+            ptr += sizeof ("OS_RELEASE_VERSION=") - 1;
-+            ver = grub_strdup (ptr);
-+            for (ptr2 = ver + grub_strlen (ver) - 1;
-+                 ptr2 >= ver && (*ptr2 == '\r' || *ptr2 == '\n'); ptr2--);
-+            ptr2[1] = '\0';
-+            continue;
-+          }
-+      }
++  fclose (fp);
 +
-+      fclose (f);
++  if (os_name && grub_strncmp (os_name, "openSUSE Tumbleweed", sizeof 
("openSUSE Tumbleweed") - 1) == 0)
++    {
++      grub_free (os_name);
++      if (os_version)
++      grub_free (os_version);
 +
-+      if (name && ver)
-+      {
-+        def_dist = xmalloc (grub_strlen(name) + grub_strlen(ver) + 2);
++      return os_pretty_name;
++    }
++  else if (os_name && os_version)
++    {
++      char *os_name_version;
 +
-+        ptr = def_dist;
-+        grub_memcpy (ptr, name, grub_strlen (name));
-+        ptr += grub_strlen (name);
-+        *ptr++ = ' ';
-+        grub_strcpy (ptr, ver);
-+      }
++      os_name_version = grub_xasprintf ("%s %s", os_name, os_version);
 +
-+      if (name)
-+      grub_free (name);
-+      if (ver)
-+      grub_free (ver);
-+    }
++      grub_free (os_name);
++      grub_free (os_version);
++      if (os_pretty_name)
++      grub_free (os_pretty_name);
 +
-+  if (pid)
-+    {
-+      close (fd);
-+      waitpid (pid, NULL, 0);
++      return os_name_version;
 +    }
 +
-+  grub_free (script);
-+  grub_free (cfgfile);
++  if (os_pretty_name)
++    grub_free (os_pretty_name);
++  if (os_version)
++    grub_free (os_version);
 +
-+  return def_dist;
++  return os_name;
 +}
-+
 +#endif
 +
  void
  grub_util_load_config (struct grub_util_config *cfg)
  {
-@@ -125,7 +243,17 @@ grub_util_load_config (struct grub_util_
+@@ -125,7 +259,17 @@ grub_util_load_config (struct grub_util_
        waitpid (pid, NULL, 0);
      }
    if (f)
@@ -146,7 +162,7 @@
  
    f = grub_util_fopen (cfgfile, "r");
    if (f)
-@@ -136,4 +264,13 @@ grub_util_load_config (struct grub_util_
+@@ -136,4 +280,13 @@ grub_util_load_config (struct grub_util_
    else
      grub_util_warn (_("cannot open configuration file `%s': %s"),
                    cfgfile, strerror (errno));
@@ -160,17 +176,21 @@
 +    }
 +#endif
  }
-Index: grub-2.02~beta2/util/grub-mkconfig.in
+Index: grub-2.02~beta3/util/grub-mkconfig.in
 ===================================================================
---- grub-2.02~beta2.orig/util/grub-mkconfig.in
-+++ grub-2.02~beta2/util/grub-mkconfig.in
-@@ -203,6 +203,10 @@ GRUB_ACTUAL_DEFAULT="$GRUB_DEFAULT"
+--- grub-2.02~beta3.orig/util/grub-mkconfig.in
++++ grub-2.02~beta3/util/grub-mkconfig.in
+@@ -206,6 +206,14 @@ GRUB_ACTUAL_DEFAULT="$GRUB_DEFAULT"
  
  if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then 
GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ 
s,^saved_entry=,,p'`" ; fi
  
 +if [ x"${GRUB_DISTRIBUTOR}" = x ] && [ -f "${sysconfdir}/os-release" ] ; then
 +    . "${sysconfdir}/os-release"
-+    GRUB_DISTRIBUTOR="${NAME} ${VERSION}"
++    if echo "$NAME" | grep -q "^openSUSE Tumbleweed" ; then
++      GRUB_DISTRIBUTOR="${PRETTY_NAME}"
++    else
++      GRUB_DISTRIBUTOR="${NAME} ${VERSION}"
++    fi
 +fi
  
  # These are defined in this script, export them here so that user can


Reply via email to