dev-libs/glib: Sync with Gentoo

It's from Gentoo commit 5dc85258363c774c504d046e3f0f329759d98e64.
This commit is contained in:
Flatcar Buildbot 2023-01-23 07:20:52 +00:00 committed by Krzesimir Nowak
parent 1d1426fb42
commit f261a4c39a
5 changed files with 10 additions and 141 deletions

View File

@ -1,4 +1,4 @@
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
DIST glib-2.74.3-patches-2.tar.xz 23576 BLAKE2B f3746bdf961890d9f4e7ad20b107b83b7ceb8dcc36e288c1d526bac31a0e1dd9d1f13323f512355085c77d186ad66c3f52c1154f34c1d6fd6a5e64a074b2920c SHA512 945c131c27f02044db6154f0a63f458d6317c8a4e841fb392947b16756e25d92adeb2b34d793c9e19441b825d1aee71ae9b08fdcbefa1bc9de1d5af9e903e82c
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614

View File

@ -1,131 +0,0 @@
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3029
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3039 (backport PR we've used)
https://bugs.gentoo.org/878995
https://bugs.gentoo.org/878351
From e2f283d7c8c5ab3aeb2f281a27ec7c0f24b86868 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 28 Oct 2022 11:21:04 -0400
Subject: [PATCH 1/2] Revert "Handling collision between standard i/o file
descriptors and newly created ones"
g_unix_open_pipe tries to avoid the standard io fd range
when getting pipe fds. This turns out to be a bad idea because
certain buggy programs rely on it using that range.
This reverts commit d9ba6150909818beb05573f54f26232063492c5b
--- a/glib/glib-unix.c
+++ b/glib/glib-unix.c
@@ -108,17 +108,6 @@ g_unix_open_pipe (int *fds,
ecode = pipe2 (fds, pipe2_flags);
if (ecode == -1 && errno != ENOSYS)
return g_unix_set_error_from_errno (error, errno);
- /* Don't reassign pipes to stdin, stdout, stderr if closed meanwhile */
- else if (fds[0] < 3 || fds[1] < 3)
- {
- int old_fds[2] = { fds[0], fds[1] };
- gboolean result = g_unix_open_pipe (fds, flags, error);
- close (old_fds[0]);
- close (old_fds[1]);
-
- if (!result)
- g_unix_set_error_from_errno (error, errno);
- }
else if (ecode == 0)
return TRUE;
/* Fall through on -ENOSYS, we must be running on an old kernel */
@@ -127,19 +116,6 @@ g_unix_open_pipe (int *fds,
ecode = pipe (fds);
if (ecode == -1)
return g_unix_set_error_from_errno (error, errno);
- /* Don't reassign pipes to stdin, stdout, stderr if closed meanwhile */
- else if (fds[0] < 3 || fds[1] < 3)
- {
- int old_fds[2] = { fds[0], fds[1] };
- gboolean result = g_unix_open_pipe (fds, flags, error);
- close (old_fds[0]);
- close (old_fds[1]);
-
- if (!result)
- g_unix_set_error_from_errno (error, errno);
-
- return result;
- }
if (flags == 0)
return TRUE;
GitLab
From 4526620d8c485f5dfba6ddca33f91670982f82eb Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 31 Oct 2022 09:17:55 -0400
Subject: [PATCH 2/2] glib-unix: Add test to make sure g_unix_open_pipe will
intrude standard range
Now that we know it's a bad idea to avoid the standard io fd range
when getting pipe fds for g_unix_open_pipe, we should test to make sure
we don't inadvertently try to do it again.
This commit adds that test.
--- a/glib/tests/unix.c
+++ b/glib/tests/unix.c
@@ -24,8 +24,11 @@
#include "config.h"
#include "glib-unix.h"
+#include "gstdio.h"
+
#include <string.h>
#include <pwd.h>
+#include <unistd.h>
static void
test_pipe (void)
@@ -52,6 +55,39 @@ test_pipe (void)
g_assert (g_str_has_prefix (buf, "hello"));
}
+static void
+test_pipe_stdio_overwrite (void)
+{
+ GError *error = NULL;
+ int pipefd[2], ret;
+ gboolean res;
+ int stdin_fd;
+
+ stdin_fd = dup (STDIN_FILENO);
+ g_assert_cmpint (stdin_fd, >, 0);
+
+ g_close (STDIN_FILENO, &error);
+ g_assert_no_error (error);
+
+ res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error);
+ g_assert_no_error (error);
+ g_assert_true (res);
+
+ g_assert_cmpint (pipefd[0], ==, STDIN_FILENO);
+
+ g_close (pipefd[0], &error);
+ g_assert_no_error (error);
+
+ g_close (pipefd[1], &error);
+ g_assert_no_error (error);
+
+ ret = dup2 (stdin_fd, STDIN_FILENO);
+ g_assert_cmpint (ret, >=, 0);
+
+ g_close (stdin_fd, &error);
+ g_assert_no_error (error);
+}
+
static void
test_error (void)
{
@@ -337,6 +373,7 @@ main (int argc,
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/glib-unix/pipe", test_pipe);
+ g_test_add_func ("/glib-unix/pipe-stdio-overwrite", test_pipe_stdio_overwrite);
g_test_add_func ("/glib-unix/error", test_error);
g_test_add_func ("/glib-unix/nonblocking", test_nonblocking);
g_test_add_func ("/glib-unix/sighup", test_sighup);
GitLab

View File

@ -1,9 +1,9 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="xml(+)"
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_COMPAT=( python3_{9..11} )
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg

View File

@ -1,9 +1,9 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="xml(+)"
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_COMPAT=( python3_{9..11} )
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg

View File

@ -1,9 +1,9 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="xml(+)"
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_COMPAT=( python3_{9..11} )
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
RESTRICT="!test? ( test )"
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
# within ELF binaries on that platform anyway and inspecting ELF binaries from
@ -30,7 +30,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
RDEPEND="
!<dev-util/gdbus-codegen-${PV}
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},static-libs?]
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
@ -68,7 +68,7 @@ MULTILIB_CHOST_TOOLS=(
)
PATCHES=(
"${FILESDIR}"/${P}-gnome-keyring-cpu.patch
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
)
pkg_setup() {