summaryrefslogtreecommitdiffstats
path: root/source/l/desktop-file-utils
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/desktop-file-utils')
-rwxr-xr-xsource/l/desktop-file-utils/desktop-file-utils.SlackBuild4
-rw-r--r--source/l/desktop-file-utils/gitpatches/0001-desktop-file-validate-Trailing-semicolons-have-been-.patch177
-rw-r--r--source/l/desktop-file-utils/gitpatches/0002-Add-Cinnamon-to-list-of-registered-environments.patch28
-rw-r--r--source/l/desktop-file-utils/gitpatches/0003-Add-EDE-to-the-list-of-desktop-environments.patch26
4 files changed, 235 insertions, 0 deletions
diff --git a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
index a98deb9e4..12804bb4d 100755
--- a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
+++ b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
@@ -60,6 +60,10 @@ cd ${PKGNAM}-$VERSION || exit 1
zcat $CWD/desktop-file-utils.quiet.warnings.diff.gz | patch -p1 --verbose || exit 1
+patch -p1 < $CWD/gitpatches/0001-desktop-file-validate-Trailing-semicolons-have-been-.patch || exit 1
+patch -p1 < $CWD/gitpatches/0002-Add-Cinnamon-to-list-of-registered-environments.patch || exit 1
+patch -p1 < $CWD/gitpatches/0003-Add-EDE-to-the-list-of-desktop-environments.patch || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/desktop-file-utils/gitpatches/0001-desktop-file-validate-Trailing-semicolons-have-been-.patch b/source/l/desktop-file-utils/gitpatches/0001-desktop-file-validate-Trailing-semicolons-have-been-.patch
new file mode 100644
index 000000000..e3be90d90
--- /dev/null
+++ b/source/l/desktop-file-utils/gitpatches/0001-desktop-file-validate-Trailing-semicolons-have-been-.patch
@@ -0,0 +1,177 @@
+From 9e279cc3fac9a7e92bf426867fa83c0c7aec5711 Mon Sep 17 00:00:00 2001
+From: Jerome Leclanche <jerome@leclan.ch>
+Date: Tue, 1 Apr 2014 15:33:16 +0200
+Subject: [PATCH 1/3] 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
+---
+ src/validate.c | 105 ---------------------------------------------------------
+ 1 file changed, 105 deletions(-)
+
+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;
+ }
+--
+2.2.0
+
diff --git a/source/l/desktop-file-utils/gitpatches/0002-Add-Cinnamon-to-list-of-registered-environments.patch b/source/l/desktop-file-utils/gitpatches/0002-Add-Cinnamon-to-list-of-registered-environments.patch
new file mode 100644
index 000000000..132d16a41
--- /dev/null
+++ b/source/l/desktop-file-utils/gitpatches/0002-Add-Cinnamon-to-list-of-registered-environments.patch
@@ -0,0 +1,28 @@
+From 848c82b2332d0556c22c10a9c64d1f39850271fe Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebster@gmail.com>
+Date: Fri, 7 Mar 2014 20:16:52 -0500
+Subject: [PATCH 2/3] Add Cinnamon to list of registered environments.
+
+https://github.com/linuxmint/Cinnamon
+
+https://bugs.freedesktop.org/show_bug.cgi?id=73497
+---
+ src/validate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+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 {
+--
+2.2.0
+
diff --git a/source/l/desktop-file-utils/gitpatches/0003-Add-EDE-to-the-list-of-desktop-environments.patch b/source/l/desktop-file-utils/gitpatches/0003-Add-EDE-to-the-list-of-desktop-environments.patch
new file mode 100644
index 000000000..0f1d70acb
--- /dev/null
+++ b/source/l/desktop-file-utils/gitpatches/0003-Add-EDE-to-the-list-of-desktop-environments.patch
@@ -0,0 +1,26 @@
+From be0c630a19aa1788ef731def911770ce497d6ba3 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Tue, 1 Apr 2014 22:29:08 +0200
+Subject: [PATCH 3/3] Add EDE to the list of desktop environments
+
+https://bugs.freedesktop.org/show_bug.cgi?id=56353
+---
+ src/validate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+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 {
+--
+2.2.0
+