Hello community,

here is the log from the commit of package desktop-file-utils for 
openSUSE:Factory checked in at 2014-12-25 23:21:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/desktop-file-utils (Old)
 and      /work/SRC/openSUSE:Factory/.desktop-file-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "desktop-file-utils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/desktop-file-utils/desktop-file-utils.changes    
2013-09-04 13:27:17.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.desktop-file-utils.new/desktop-file-utils.changes   
    2014-12-25 23:20:39.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Dec 15 00:09:35 UTC 2014 - [email protected]
+
+- Add U_trailing-semicolons-are-optional_aec5711.patch
+  bfo#76902, fixes a no longer correct rpmlint warning for some
+  upstream desktop files without trailing semicolon
+- Add U_add-EDE-desktop-environment_97d6ba3.patch,
+  U_add-Cinnamon-desktop-environment_50271fe.patch
+  bfo#56353, bfo#73497
+
+-------------------------------------------------------------------

New:
----
  U_add-Cinnamon-desktop-environment_50271fe.patch
  U_add-EDE-desktop-environment_97d6ba3.patch
  U_trailing-semicolons-are-optional_aec5711.patch

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

Other differences:
------------------
++++++ desktop-file-utils.spec ++++++
--- /var/tmp/diff_new_pack.rbhEhR/_old  2014-12-25 23:20:40.000000000 +0100
+++ /var/tmp/diff_new_pack.rbhEhR/_new  2014-12-25 23:20:40.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package desktop-file-utils
 #
-# 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
@@ -28,6 +28,11 @@
 Source2:        macros.desktop-file-utils
 # PATCH-FEATURE-OPENSUSE desktop-file-utils-suse-keys.patch [email protected] 
-- Handle SUSE-specific keys in validator. This is not strictly necessary, 
since they are prefixed with X-, but we can verify that the value has the right 
type.
 Patch0:         desktop-file-utils-suse-keys.patch
+# PATCH-UPSTREAM -- trailing semicolons are no longer required
+Patch1:         U_trailing-semicolons-are-optional_aec5711.patch
+# PATCH-UPSTREAM -- add Cinnamon and EDE desktop environments
+Patch2:         U_add-Cinnamon-desktop-environment_50271fe.patch
+Patch3:         U_add-EDE-desktop-environment_97d6ba3.patch
 BuildRequires:  glib2-devel
 BuildRequires:  pkg-config
 #!BuildIgnore:  dbus-1-x11
@@ -46,6 +51,9 @@
 %prep
 %setup -q
 %patch0 -p0
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 %configure \

++++++ U_add-Cinnamon-desktop-environment_50271fe.patch ++++++
>From 848c82b2332d0556c22c10a9c64d1f39850271fe Mon Sep 17 00:00:00 2001
From: Michael Webster <[email protected]>
Date: Fri, 7 Mar 2014 20:16:52 -0500
Subject: Add Cinnamon to list of registered environments.

https://github.com/linuxmint/Cinnamon

https://bugs.freedesktop.org/show_bug.cgi?id=73497

diff --git a/src/validate.c b/src/validate.c
index 77a5fda..6859c1b 100644
--- a/src/validate.c
+++ b/src/validate.c
@@ -363,7 +363,7 @@ static DesktopKeyDefinition registered_action_keys[] = {
 };
 
 static const char *show_in_registered[] = {
-  "GNOME", "KDE", "LXDE", "MATE", "Razor", "ROX", "TDE", "Unity", "XFCE", "Old"
+  "Cinnamon", "GNOME", "KDE", "LXDE", "MATE", "Razor", "ROX", "TDE", "Unity", 
"XFCE", "Old"
 };
 
 static struct {
-- 
cgit v0.10.2

++++++ U_add-EDE-desktop-environment_97d6ba3.patch ++++++
>From be0c630a19aa1788ef731def911770ce497d6ba3 Mon Sep 17 00:00:00 2001
From: David Faure <[email protected]>
Date: Tue, 1 Apr 2014 22:29:08 +0200
Subject: Add EDE to the list of desktop environments

https://bugs.freedesktop.org/show_bug.cgi?id=56353

diff --git a/src/validate.c b/src/validate.c
index 6859c1b..b4b752e 100644
--- a/src/validate.c
+++ b/src/validate.c
@@ -363,7 +363,7 @@ static DesktopKeyDefinition registered_action_keys[] = {
 };
 
 static const char *show_in_registered[] = {
-  "Cinnamon", "GNOME", "KDE", "LXDE", "MATE", "Razor", "ROX", "TDE", "Unity", 
"XFCE", "Old"
+  "GNOME", "KDE", "LXDE", "MATE", "Razor", "ROX", "TDE", "Unity", "XFCE", 
"Cinnamon", "EDE", "Old"
 };
 
 static struct {
-- 
cgit v0.10.2

++++++ U_trailing-semicolons-are-optional_aec5711.patch ++++++
>From 9e279cc3fac9a7e92bf426867fa83c0c7aec5711 Mon Sep 17 00:00:00 2001
From: Jerome Leclanche <[email protected]>
Date: Tue, 1 Apr 2014 15:33:16 +0200
Subject: desktop-file-validate: Trailing semicolons have been downgraded to
 optional

https://bugs.freedesktop.org/show_bug.cgi?id=76902
Approved by David Faure and Ryan Lortie

diff --git a/src/validate.c b/src/validate.c
index 68fd6f0..77a5fda 100644
--- a/src/validate.c
+++ b/src/validate.c
@@ -765,9 +765,6 @@ validate_numeric_key (kf_validator *kf,
 /* + Values of type string may contain all ASCII characters except for control
  *   characters.
  *   Checked.
- * + The multiple values should be separated by a semicolon. Those keys which
- *   have several values should have a semicolon as the trailing character.
- *   Checked.
  * + FIXME: how should an empty list be handled?
  */
 static gboolean
@@ -799,24 +796,6 @@ validate_string_regexp_list_key (kf_validator *kf,
     return FALSE;
   }
 
-  if (i > 0 && value[i - 1] != ';') {
-    print_fatal (kf, "value \"%s\" for %s list key \"%s\" in group \"%s\" "
-                     "does not have a semicolon (';') as trailing "
-                     "character\n",
-                     value, type, key, kf->current_group);
-
-    return FALSE;
-  }
-
-  if (i > 1 && value[i - 1] == ';' && value[i - 2] == '\\' &&
-      (i < 3 || value[i - 3] != '\\')) {
-    print_fatal (kf, "value \"%s\" for %s list key \"%s\" in group \"%s\" "
-                     "has an escaped semicolon (';') as trailing character\n",
-                     value, type, key, kf->current_group);
-
-    return FALSE;
-  }
-
   return TRUE;
 }
 
@@ -845,10 +824,6 @@ validate_regexp_list_key (kf_validator *kf,
  * + If a postfixed key occurs, the same key must be also present without the
  *   postfix.
  *   Checked.
- * + The multiple values should be separated by a semicolon. Those keys which
- *   have several values should have a semicolon as the trailing character.
- *   FIXME: partly checked. We use checks that work for sure for ascii
- *   characters, but that could possibly fail in some weird UTF-8 strings.
  * + FIXME: how should an empty list be handled?
  */
 static gboolean
@@ -858,7 +833,6 @@ validate_localestring_list_key (kf_validator *kf,
                                 const char   *value)
 {
   char     *locale_key;
-  int       len;
 
   if (locale)
     locale_key = g_strdup_printf ("%s[%s]", key, locale);
@@ -876,27 +850,6 @@ validate_localestring_list_key (kf_validator *kf,
     return FALSE;
   }
 
-  len = strlen (value);
-
-  if (len > 0 && value[len - 1] != ';') {
-    print_fatal (kf, "value \"%s\" for locale string list key \"%s\" in group "
-                     "\"%s\" does not have a semicolon (';') as trailing "
-                     "character\n",
-                     value, locale_key, kf->current_group);
-
-    return FALSE;
-  }
-
-  if (len > 1 && value[len - 1] == ';' && value[len - 2] == '\\' &&
-      (len < 3 || value[len - 3] != '\\')) {
-    print_fatal (kf, "value \"%s\" for locale string list key \"%s\" in group "
-                     "\"%s\" has an escaped semicolon (';') as trailing "
-                     "character\n",
-                     value, locale_key, kf->current_group);
-
-    return FALSE;
-  }
-
   if (!g_hash_table_lookup (kf->current_keys, key)) {
     print_fatal (kf, "key \"%s\" in group \"%s\" is a localized key, but "
                      "there is no non-localized key \"%s\"\n",
@@ -3109,45 +3062,11 @@ desktop_file_validate (const char *filename,
   return (!kf.fatal_error);
 }
 
-static void
-fixup_list (GKeyFile    *keyfile,
-            const gchar *filename,
-            const gchar *key)
-{
-  char *value;
-  int   len;
-
-  value = g_key_file_get_value (keyfile, GROUP_DESKTOP_ENTRY, key, NULL);
-  if (!value)
-    return;
-
-  len = strlen (value);
-
-  if (len > 0 && (value[len - 1] != ';' ||
-                  (len > 1 && value[len - 2] == '\\' &&
-                  (len < 3 || value[len - 3] != '\\')))) {
-    char *str;
-
-    g_printerr ("%s: warning: key \"%s\" is a list and does not have a "
-                "semicolon as trailing character, fixing\n",
-                filename, key);
-
-    str = g_strconcat (value, ";", NULL);
-    g_key_file_set_value (keyfile, GROUP_DESKTOP_ENTRY,
-                          key, str);
-    g_free (str);
-  }
-}
-
 /* return FALSE if we were unable to fix the file */
 gboolean
 desktop_file_fixup (GKeyFile   *keyfile,
                     const char *filename)
 {
-  gchar        **keys;
-  gsize          keys_nb;
-  unsigned int   i;
-
   if (g_key_file_has_group (keyfile, GROUP_KDE_DESKTOP_ENTRY)) {
     g_printerr ("%s: warning: renaming deprecated \"%s\" group to \"%s\"\n",
                 filename, GROUP_KDE_DESKTOP_ENTRY, GROUP_DESKTOP_ENTRY);
@@ -3155,29 +3074,5 @@ desktop_file_fixup (GKeyFile   *keyfile,
                                GROUP_KDE_DESKTOP_ENTRY, GROUP_DESKTOP_ENTRY);
   }
 
-  keys = g_key_file_get_keys (keyfile, GROUP_DESKTOP_ENTRY, &keys_nb, NULL);
-
-  /* Fix lists to have a ';' at the end if they don't */
-  for (i = 0; i < G_N_ELEMENTS (registered_desktop_keys); i++) {
-    if (registered_desktop_keys[i].type == DESKTOP_STRING_LIST_TYPE ||
-        registered_desktop_keys[i].type == DESKTOP_REGEXP_LIST_TYPE)
-      fixup_list (keyfile, filename, registered_desktop_keys[i].name);
-
-    if (registered_desktop_keys[i].type == DESKTOP_LOCALESTRING_LIST_TYPE) {
-      gsize keylen;
-      guint j;
-
-      keylen = strlen (registered_desktop_keys[i].name);
-      for (j = 0; j < keys_nb; j++) {
-        if (g_str_has_prefix (keys[j], registered_desktop_keys[i].name) &&
-            (keys[j][keylen] == '[' || keys[j][keylen] == '\0')) {
-          fixup_list (keyfile, filename, keys[j]);
-        }
-      }
-    }
-  }
-
-  g_strfreev (keys);
-
   return TRUE;
 }
-- 
cgit v0.10.2

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to