diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2023-09-09 18:05:16 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2023-09-09 20:30:33 +0200 |
commit | 69e2de1890b1fb757b5e8228f04a0ef9722ca55c (patch) | |
tree | 5cbd08480327dbc9a22460b508ffb058c2ecb259 /source/l/glib2 | |
parent | b6b0663c2b4f8ba0150fcbb958e667e337ee3596 (diff) | |
download | current-69e2de1890b1fb757b5e8228f04a0ef9722ca55c.tar.gz current-69e2de1890b1fb757b5e8228f04a0ef9722ca55c.tar.xz |
Sat Sep 9 18:05:16 UTC 202320230909180516
a/mcelog-195-x86_64-1.txz: Upgraded.
d/rust-1.70.0-x86_64-2.txz: Rebuilt.
Fixed path in rust-lldb. Thanks to gildbg.
l/glib2-2.78.0-x86_64-1.txz: Upgraded.
l/gobject-introspection-1.78.0-x86_64-1.txz: Upgraded.
l/harfbuzz-8.2.0-x86_64-1.txz: Upgraded.
l/nodejs-20.6.1-x86_64-1.txz: Upgraded.
n/mutt-2.2.12-x86_64-1.txz: Upgraded.
x/font-util-1.4.1-x86_64-1.txz: Upgraded.
testing/packages/rust-1.72.0-x86_64-2.txz: Rebuilt.
Fixed path in rust-lldb. Thanks to gildbg.
Diffstat (limited to 'source/l/glib2')
-rw-r--r-- | source/l/glib2/3565.patch | 75 | ||||
-rwxr-xr-x | source/l/glib2/glib2.SlackBuild | 4 |
2 files changed, 1 insertions, 78 deletions
diff --git a/source/l/glib2/3565.patch b/source/l/glib2/3565.patch deleted file mode 100644 index b85c2bd32..000000000 --- a/source/l/glib2/3565.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 4a9672764214d5fab569b774fe761ae7d2ec11d9 Mon Sep 17 00:00:00 2001 -From: Philip Withnall <philip@tecnocode.co.uk> -Date: Wed, 6 Sep 2023 12:08:56 +0100 -Subject: [PATCH] gkeyfile: Temporarily re-allow invalid escapes when parsing - strings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Before commit 71b7efd08a1feadc8ddca31e164034b1f5a6bd74, `GKeyFile` -incorrectly allowed invalid escape sequences: it would treat the -sequence as a literal, set a `GError`, but not return failure from the -function. So if a caller was explicitly checking for returned `GError`s, -they could detect the invalid escape; but if they were just checking the -function’s return value, they’d miss it. - -This is not correct use of `GError`, and the [Desktop Entry -Spec](https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s04.html) -doesn’t allow for invalid escape sequences to be accepted. So it’s wrong -in both ways. - -However, the commit above changed this behaviour without realising it, -quite close to the 2.78 stable release deadline. There are numerous key -files in the wild which use invalid escape sequences, and it’s too late -in the cycle to ‘break’ parsing of all of them. - -So, for now, revert to the old behaviour for invalid escape sequences, -and give people another cycle to adapt to the changes. This will likely -mean they end up calling `g_key_file_get_value()` rather than -`g_key_file_get_string()`. See -https://gitlab.gnome.org/GNOME/glib/-/issues/3098 for tracking -re-enabling the error handling for invalid escape sequences. - -Signed-off-by: Philip Withnall <philip@tecnocode.co.uk> - -Fixes: #3095 -See: #3098 - ---- ./glib/gkeyfile.c.orig 2023-08-31 06:08:59.000000000 -0500 -+++ ./glib/gkeyfile.c 2023-09-07 14:28:02.317026537 -0500 -@@ -4325,6 +4325,7 @@ - break; - - case '\0': -+ g_clear_error (error); - g_set_error_literal (error, G_KEY_FILE_ERROR, - G_KEY_FILE_ERROR_INVALID_VALUE, - _("Key file contains escape character " -@@ -4347,11 +4348,25 @@ - sequence[1] = *p; - sequence[2] = '\0'; - -+ /* FIXME: This should be a fatal error, but there was a -+ * bug which prevented that being reported for a long -+ * time, so a lot of applications and in-the-field key -+ * files use invalid escape sequences without anticipating -+ * problems. For now (GLib 2.78), message about it; in -+ * future, the behaviour may become fatal again. -+ * -+ * The previous behaviour was to set the #GError but not -+ * return failure from the function, so the caller could -+ * explicitly check for invalid escapes, but also ignore -+ * the error if they want. This is not how #GError is -+ * meant to be used, but the #GKeyFile code is very old. -+ * -+ * See https://gitlab.gnome.org/GNOME/glib/-/issues/3098 */ -+ g_clear_error (error); - g_set_error (error, G_KEY_FILE_ERROR, - G_KEY_FILE_ERROR_INVALID_VALUE, - _("Key file contains invalid escape " - "sequence “%s”"), sequence); -- goto error; - } - } - break; diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild index f1c79ce1f..739578e0f 100755 --- a/source/l/glib2/glib2.SlackBuild +++ b/source/l/glib2/glib2.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=glib2 VERSION=${VERSION:-$(echo glib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -77,8 +77,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -cat $CWD/3565.patch | patch -p1 --verbose || exit 1 - # Configure, build, and install: export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" |