From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- gnome-base/gnome-keyring/Manifest | 10 +- .../gnome-keyring/files/3.31.91-fix-musl.patch | 27 ----- .../gnome-keyring/files/3.31.91-race-fix1.patch | 37 ------- .../gnome-keyring/files/3.31.91-race-fix2.patch | 104 ------------------- .../files/3.31.91-ssh-tests-fix.patch | 112 --------------------- .../gnome-keyring/gnome-keyring-3.31.91-r1.ebuild | 85 ---------------- .../gnome-keyring/gnome-keyring-3.34.0.ebuild | 2 +- .../gnome-keyring/gnome-keyring-3.36.0.ebuild | 79 +++++++++++++++ 8 files changed, 83 insertions(+), 373 deletions(-) delete mode 100644 gnome-base/gnome-keyring/files/3.31.91-fix-musl.patch delete mode 100644 gnome-base/gnome-keyring/files/3.31.91-race-fix1.patch delete mode 100644 gnome-base/gnome-keyring/files/3.31.91-race-fix2.patch delete mode 100644 gnome-base/gnome-keyring/files/3.31.91-ssh-tests-fix.patch delete mode 100644 gnome-base/gnome-keyring/gnome-keyring-3.31.91-r1.ebuild create mode 100644 gnome-base/gnome-keyring/gnome-keyring-3.36.0.ebuild (limited to 'gnome-base/gnome-keyring') diff --git a/gnome-base/gnome-keyring/Manifest b/gnome-base/gnome-keyring/Manifest index 660d7e8dbf70..ee419002bbf0 100644 --- a/gnome-base/gnome-keyring/Manifest +++ b/gnome-base/gnome-keyring/Manifest @@ -1,9 +1,5 @@ -AUX 3.31.91-fix-musl.patch 779 BLAKE2B 72dc9001d17dcec1a2612a19e0edb358398a36dc3bffb8b56f9dc911c3061d37c82a1c58ee94fabaa1ed97464769cce9aa36bd3d835eb557b31e7a89cadd083f SHA512 aa75b3017418d164e5f7014346b6916e618b05b7f444114859a1a914544a28f85eccaaf88e8bdd7defd7175f31e56b9cf203019d151493a2f262c4913b248775 -AUX 3.31.91-race-fix1.patch 1503 BLAKE2B cd90c630835f5e5c85ec6fc432ea10cc17aeec6bf7edbd42a6fecccc2426c4ee54135394f71d8ac8cfcd84062a465baf91dd85c29decd4e9db5c8bf39a719d8d SHA512 64ba00999370283d33f998ee6ed5f26cfaa685ea53a169a3bb0a1a28fe7229331ab388ef86fa3322deb3e454d850bb82c390686fad51cd69dc5005deac8dfb9a -AUX 3.31.91-race-fix2.patch 3510 BLAKE2B 706a88941bb9beb46209e45cbfbf72e4f8b7a5fb0abaffe55b213dd7d86584d03c50bf317fd5e266e540a9fcf454c44468ab4c03808e15702a301ba9388083e0 SHA512 8e90901cfae13793972eb4be903995ff11bde6d78a0c72db4ecde0dcf76b44496d398cd14c60f689d7720d0356abd85b4ccc523a5b57cede3e97cba394d223d8 -AUX 3.31.91-ssh-tests-fix.patch 3854 BLAKE2B 2cf3f6fc133960f0b4e7d07b0358a3075dd8289b1960164f613ec6aef4d6807302a7424fd770b2f399add63a1d1a32539264ee8625f271f00f557c17c09626fb SHA512 29b50f3530c29b158d65dadfdbac8a45fdf06e22b0f6e8de0596aca78e4e410ca99cadf0aeb7a6b23b6d7c1df1e40ae179fe380c5a3a9d89f7425a222d1ca444 -DIST gnome-keyring-3.31.91.tar.xz 1365052 BLAKE2B fed6ac7bb5a509e268180d047cd5df1564d5a90672f5240fa98773f43d9ca7eb63c598d81c4a9de8e988ee5886679bceeb4be1c43acce876680aeb3df4385856 SHA512 c66ad13fd84764f01e75de2d6142ecb42954d6111f86738c27e7b5b94e702be2af5af7f83ba4e4b9aae58cfa04f3973e272c8177179d1f8a54f63c037aea0210 DIST gnome-keyring-3.34.0.tar.xz 1333768 BLAKE2B 0237eb7ac0b7146d096c58cac4c788a92680f1a6dd321949f295935bde206263e5ee1762c9d393dfbc10322d018e835333c823d11e8af5dc01434555886626dd SHA512 09f84bdf5ea415a55baf6a57dba2889cdf592005d273335029107ea3f83152447b3263cd190810930aae41af22dd508e765e649da3c8a9afa127db1d298bb72a -EBUILD gnome-keyring-3.31.91-r1.ebuild 2383 BLAKE2B f2ddee230bedd954e6a10cadc22a385de8997f0f5d06083fce839587b315fd22192431dc9d0615d91b0a489bcd1f0ec59ffd5ddf0bbae5d149f6af3b3ca8b7bf SHA512 bfd026302224beba75a9147d9ecf2024ea7c6d59247e9719f936d0c86381b70775a1380cf3dc6b65844d6e440d32473cc6d553742b8cb0596e7a8ca632dcc46d -EBUILD gnome-keyring-3.34.0.ebuild 2156 BLAKE2B 6c195760ab52085ff4024683db08e40818f1013ced4e2c55750758e9b64c3f29d4ca88f4e77964db2fc64b8992a4cad74fe19f9c1724df4ac87fdf62de530aef SHA512 dabc257b626e45dd695ef166c32f25c5feefed9126eadb86c8463e580f7f3d5acaf3654e6c11efb569a5b0d9bd7011a00b80ca1e88fd55b2a0d2923813c3edfa +DIST gnome-keyring-3.36.0.tar.xz 1345360 BLAKE2B f37454e0e42dcc1fe7e29e95dcb8ca7bc2db10e6b262b796421b4fd38b87fe9128a4c2f129d28d14716a2f9a7d60061d4b345e9564e73a0587faf24a7d2b1194 SHA512 e5aed36ad109cbd2dcb534843f8565829366acc955cadc6e9bbe87ebbb6a8a907211aa3a42f7f26148ac69726af2f9238965707d1259319435bd20aa8c4859ed +EBUILD gnome-keyring-3.34.0.ebuild 2155 BLAKE2B 33f4ac2bf571ec23b33fa77706df8a077418abd1bafcbe3fb9e25dabf6d65b6db65423573bbcd801055827c70eacf8006b2835b04b8977cdf216a37539e18f1c SHA512 0a3ea6878b52ac8a5b837909b4e6874613bb8fc7cb6a52c3d86a30bf549ad88b5e494f3923cb3cddb44ba04bc12e9778076592a555285700b6d5826aee48139d +EBUILD gnome-keyring-3.36.0.ebuild 2162 BLAKE2B 0d2e6f13aa3da3e8be1216ff94a8b755e733e41012076994d7c4e93f2d848c9eab15bf8e0d20b00119d302bbb11fc0e57086e7b24059531447c19888a57e2e5e SHA512 b6451f6d8890cf877f7ab6bcef31b04400d5f40b58a15fc763c73b315b8e52bbc4d101347fc40f68fe18149b7cb79e0a189a7b79e9d148a1d81eae53475d84d1 MISC metadata.xml 883 BLAKE2B 6d253b088319b1f442d91e0372751ce3ddd0516bbd3e72242e4541837c6c6bfe83371a5c47a7be73fad6046be5f053aa6c6fb41d884111ac53cd4de3cb0d1381 SHA512 31d506051c1353e1e4dd987e5ccd39281d19f6ae08974a09bd8145218c7209588629a79c6baad9ff1b83358a699f46fddb8c4ec51da73efe26be2d5e7f0a905a diff --git a/gnome-base/gnome-keyring/files/3.31.91-fix-musl.patch b/gnome-base/gnome-keyring/files/3.31.91-fix-musl.patch deleted file mode 100644 index 85aebcd30012..000000000000 --- a/gnome-base/gnome-keyring/files/3.31.91-fix-musl.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7a8b7d2ebfbb831840e6d58dbb1109f4c31d6ba4 Mon Sep 17 00:00:00 2001 -From: Daiki Ueno -Date: Fri, 10 May 2019 15:47:33 +0200 -Subject: [PATCH] rpc-layer: fix build with musl-libc - -The recent POSIX suggests to include for select(). - -Reported by Anthony G. Basile. ---- - pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c b/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c -index 5024e1e1..b3fb6707 100644 ---- a/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c -+++ b/pkcs11/rpc-layer/gkm-rpc-daemon-standalone.c -@@ -34,6 +34,7 @@ - - #include - #include -+#include - - #define SOCKET_PATH "/tmp/gkm-rpc-daemon.sock" - --- -2.20.1 - diff --git a/gnome-base/gnome-keyring/files/3.31.91-race-fix1.patch b/gnome-base/gnome-keyring/files/3.31.91-race-fix1.patch deleted file mode 100644 index d965fd712770..000000000000 --- a/gnome-base/gnome-keyring/files/3.31.91-race-fix1.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8a948b3ac17f7d1b0ff31b0cf22e655054eb5c6b Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Tue, 14 May 2019 17:36:56 +0200 -Subject: [PATCH 1/2] dbus-environment: Log Setenv call failure after - initialization - -When the GNOME session is already initialized at the point that Setenv -is called, then an error is returned. Hidding this error makes it hard -to understand why the environment was not setup if things failed. ---- - daemon/dbus/gkd-dbus-environment.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/daemon/dbus/gkd-dbus-environment.c b/daemon/dbus/gkd-dbus-environment.c -index 93e2b878..051de953 100644 ---- a/daemon/dbus/gkd-dbus-environment.c -+++ b/daemon/dbus/gkd-dbus-environment.c -@@ -49,15 +49,11 @@ on_setenv_reply (GObject *source, - res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error); - - if (error != NULL) { -- gchar *dbus_error; -- dbus_error = g_dbus_error_get_remote_error (error); -- if (g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN) || -- g_strcmp0 (dbus_error, "org.gnome.SessionManager.NotInInitialization") == 0) -+ if (g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN)) - g_debug ("couldn't set environment variable in session: %s", error->message); - else - g_message ("couldn't set environment variable in session: %s", error->message); - g_error_free (error); -- g_free (dbus_error); - } - - g_clear_pointer (&res, g_variant_unref); --- -2.20.1 - diff --git a/gnome-base/gnome-keyring/files/3.31.91-race-fix2.patch b/gnome-base/gnome-keyring/files/3.31.91-race-fix2.patch deleted file mode 100644 index c51ffbef44ad..000000000000 --- a/gnome-base/gnome-keyring/files/3.31.91-race-fix2.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 5d088356a9473c06564bd2cef18ca370437a17bc Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Tue, 14 May 2019 17:42:29 +0200 -Subject: [PATCH 2/2] dbus-environment: Make Setenv request synchronuous - -Currently there is a potential race condition where the Setenv request -races further session startup. i.e. the clients that are started with ---start on login may quit before the Setenv DBus call is delivered. This -opens a theoretical race condition where gnome-session is already past -the initialization phase when it serves the Setenv request. ---- - daemon/dbus/gkd-dbus-environment.c | 62 +++++++++++++++--------------- - 1 file changed, 30 insertions(+), 32 deletions(-) - -diff --git a/daemon/dbus/gkd-dbus-environment.c b/daemon/dbus/gkd-dbus-environment.c -index 051de953..acf398b9 100644 ---- a/daemon/dbus/gkd-dbus-environment.c -+++ b/daemon/dbus/gkd-dbus-environment.c -@@ -38,32 +38,13 @@ gkd_dbus_environment_cleanup (GDBusConnection *conn) - /* Nothing to do here */ - } - --static void --on_setenv_reply (GObject *source, -- GAsyncResult *result, -- gpointer user_data) --{ -- GError *error = NULL; -- GVariant *res; -- -- res = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error); -- -- if (error != NULL) { -- if (g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN)) -- g_debug ("couldn't set environment variable in session: %s", error->message); -- else -- g_message ("couldn't set environment variable in session: %s", error->message); -- g_error_free (error); -- } -- -- g_clear_pointer (&res, g_variant_unref); --} -- - static void - setenv_request (GDBusConnection *conn, const gchar *env) - { - const gchar *value; - gchar *name; -+ GVariant *res; -+ GError *error = NULL; - - /* Find the value part of the environment variable */ - value = strchr (env, '='); -@@ -73,19 +54,36 @@ setenv_request (GDBusConnection *conn, const gchar *env) - name = g_strndup (env, value - env); - ++value; - -- g_dbus_connection_call (conn, -- SERVICE_SESSION_MANAGER, -- PATH_SESSION_MANAGER, -- IFACE_SESSION_MANAGER, -- "Setenv", -- g_variant_new ("(ss)", -- name, -- value), -- NULL, G_DBUS_CALL_FLAGS_NONE, -- -1, NULL, -- on_setenv_reply, NULL); -+ /* Note: This call does not neccessarily need to be a sync call. However -+ * under certain conditions the process will quit immediately -+ * after emitting the call. This ensures that we wait long enough -+ * for the message to be sent out (could also be done using -+ * g_dbus_connection_flush() in the exit handler when called with -+ * --start) and also ensures that gnome-session has processed the -+ * DBus message before possibly thinking that the startup of -+ * gnome-keyring has finished and continuing with forking the -+ * shell. */ -+ res = g_dbus_connection_call_sync (conn, -+ SERVICE_SESSION_MANAGER, -+ PATH_SESSION_MANAGER, -+ IFACE_SESSION_MANAGER, -+ "Setenv", -+ g_variant_new ("(ss)", -+ name, -+ value), -+ NULL, G_DBUS_CALL_FLAGS_NONE, -+ -1, NULL, &error); -+ -+ if (error != NULL) { -+ if (g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_SERVICE_UNKNOWN)) -+ g_debug ("couldn't set environment variable in session: %s", error->message); -+ else -+ g_message ("couldn't set environment variable in session: %s", error->message); -+ g_error_free (error); -+ } - - g_free (name); -+ g_clear_pointer (&res, g_variant_unref); - } - - static void --- -2.20.1 - diff --git a/gnome-base/gnome-keyring/files/3.31.91-ssh-tests-fix.patch b/gnome-base/gnome-keyring/files/3.31.91-ssh-tests-fix.patch deleted file mode 100644 index f5344d349fee..000000000000 --- a/gnome-base/gnome-keyring/files/3.31.91-ssh-tests-fix.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 91bc9368ca2eedef0dec3f5aa81f641ced07a9b6 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Sat, 9 Mar 2019 17:56:55 +0000 -Subject: [PATCH] test-gkd-ssh-agent-service: Avoid race condition with server - thread - -These tests create a server thread in setup() and join it in teardown(), -but there are various race conditions between them that can cause the -test to hang. These are particularly reproducible when building on a -single-CPU machine or VM, and particularly in the startup_shutdown -test (which doesn't do anything, so it runs teardown() immediately -after setup()). - -It's possible to get this preemption pattern: - - ___ Main thread ___ ___ Server thread ___ - g_thread_new() (starts) - g_cond_wait() (blocks) - ... - g_cond_signal() - (gets preempted here) - exit setup() - enter teardown() - g_main_loop_quit() - g_main_loop_run() - -which means g_main_loop_run() will never terminate, because it wasn't -running yet when the main thread told the GMainLoop to quit, and the -main thread won't tell it to quit again. - -One way to solve this would be for the server thread to signal -test->cond from an idle callback instead of directly from -server_thread(), to guarantee that the GMainLoop is already running. -However, it seems easier to reason about if we avoid GMainLoop and -iterate the main context directly. - -Signed-off-by: Simon McVittie -Bug-Debian: https://bugs.debian.org/909416 ---- - daemon/ssh-agent/test-gkd-ssh-agent-service.c | 23 +++++++++---------- - 1 file changed, 11 insertions(+), 12 deletions(-) - -diff --git a/daemon/ssh-agent/test-gkd-ssh-agent-service.c b/daemon/ssh-agent/test-gkd-ssh-agent-service.c -index 9a9ead99..5c7a6179 100644 ---- a/daemon/ssh-agent/test-gkd-ssh-agent-service.c -+++ b/daemon/ssh-agent/test-gkd-ssh-agent-service.c -@@ -38,7 +38,8 @@ typedef struct { - EggBuffer req; - EggBuffer resp; - GkdSshAgentService *service; -- GMainLoop *loop; -+ GMainContext *server_thread_context; -+ volatile gint server_thread_stop; - GSocketConnection *connection; - GThread *thread; - GMutex lock; -@@ -49,13 +50,9 @@ static gpointer - server_thread (gpointer data) - { - Test *test = data; -- GMainContext *context; - gboolean ret; - -- context = g_main_context_new (); -- test->loop = g_main_loop_new (context, FALSE); -- -- g_main_context_push_thread_default (context); -+ g_main_context_push_thread_default (test->server_thread_context); - - ret = gkd_ssh_agent_service_start (test->service); - g_assert_true (ret); -@@ -64,12 +61,10 @@ server_thread (gpointer data) - g_cond_signal (&test->cond); - g_mutex_unlock (&test->lock); - -- g_main_loop_run (test->loop); -+ while (g_atomic_int_get (&test->server_thread_stop) == 0) -+ g_main_context_iteration (test->server_thread_context, TRUE); - -- g_main_context_pop_thread_default (context); -- -- g_main_context_unref (context); -- g_main_loop_unref (test->loop); -+ g_main_context_pop_thread_default (test->server_thread_context); - - return NULL; - } -@@ -139,6 +134,7 @@ setup (Test *test, gconstpointer unused) - - g_mutex_init (&test->lock); - g_cond_init (&test->cond); -+ test->server_thread_context = g_main_context_new (); - - test->thread = g_thread_new ("ssh-agent", server_thread, test); - -@@ -151,9 +147,12 @@ setup (Test *test, gconstpointer unused) - static void - teardown (Test *test, gconstpointer unused) - { -- g_main_loop_quit (test->loop); -+ g_atomic_int_set (&test->server_thread_stop, 1); -+ g_main_context_wakeup (test->server_thread_context); - g_thread_join (test->thread); - -+ g_main_context_unref (test->server_thread_context); -+ - g_clear_object (&test->connection); - - gkd_ssh_agent_service_stop (test->service); --- -2.20.1 - diff --git a/gnome-base/gnome-keyring/gnome-keyring-3.31.91-r1.ebuild b/gnome-base/gnome-keyring/gnome-keyring-3.31.91-r1.ebuild deleted file mode 100644 index 32f17ef73c92..000000000000 --- a/gnome-base/gnome-keyring/gnome-keyring-3.31.91-r1.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME2_LA_PUNT="yes" -PYTHON_COMPAT=( python2_7 ) - -inherit fcaps gnome2 pam python-any-r1 virtualx - -DESCRIPTION="Password and keyring managing daemon" -HOMEPAGE="https://wiki.gnome.org/Projects/GnomeKeyring" - -LICENSE="GPL-2+ LGPL-2+" -SLOT="0" -IUSE="+caps pam selinux +ssh-agent test" -RESTRICT="!test? ( test )" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" - -# Replace gkd gpg-agent with pinentry[gnome-keyring] one, bug #547456 -RDEPEND=" - >=app-crypt/gcr-3.27.90:=[gtk] - >=dev-libs/glib-2.44:2 - app-misc/ca-certificates - >=dev-libs/libgcrypt-1.2.2:0= - caps? ( sys-libs/libcap-ng ) - pam? ( sys-libs/pam ) - selinux? ( sec-policy/selinux-gnome ) - >=app-crypt/gnupg-2.0.28:= - ssh-agent? ( net-misc/openssh ) -" -DEPEND="${RDEPEND} - >=app-eselect/eselect-pinentry-0.5 - app-text/docbook-xml-dtd:4.3 - dev-libs/libxslt - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - test? ( ${PYTHON_DEPS} ) -" -PDEPEND="app-crypt/pinentry[gnome-keyring]" #570512 - -PATCHES=( - "${FILESDIR}"/${PV}-race-fix{1,2}.patch # fix race issues on start, where sometimes keyring doesn't work after login; from origin/master - "${FILESDIR}"/${PV}-ssh-tests-fix.patch - "${FILESDIR}"/${PV}-fix-musl.patch -) - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - # Disable stupid CFLAGS with debug enabled - sed -e 's/CFLAGS="$CFLAGS -g"//' \ - -e 's/CFLAGS="$CFLAGS -O0"//' \ - -i configure.ac configure || die - - gnome2_src_prepare -} - -src_configure() { - gnome2_src_configure \ - $(use_with caps libcap-ng) \ - $(use_enable pam) \ - $(use_with pam pam-dir $(getpam_mod_dir)) \ - $(use_enable selinux) \ - $(use_enable ssh-agent) \ - --enable-doc -} - -src_test() { - "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/schema" || die - GSETTINGS_SCHEMA_DIR="${S}/schema" virtx emake check -} - -pkg_postinst() { - # cap_ipc_lock only needed if building --with-libcap-ng - # Never install as suid root, this breaks dbus activation, see bug #513870 - use caps && fcaps -m 755 cap_ipc_lock usr/bin/gnome-keyring-daemon - gnome2_pkg_postinst - - if ! [[ $(eselect pinentry show | grep "pinentry-gnome3") ]] ; then - ewarn "Please select pinentry-gnome3 as default pinentry provider:" - ewarn " # eselect pinentry set pinentry-gnome3" - fi -} diff --git a/gnome-base/gnome-keyring/gnome-keyring-3.34.0.ebuild b/gnome-base/gnome-keyring/gnome-keyring-3.34.0.ebuild index 3cf79815c5f4..1b51ccc219c5 100644 --- a/gnome-base/gnome-keyring/gnome-keyring-3.34.0.ebuild +++ b/gnome-base/gnome-keyring/gnome-keyring-3.34.0.ebuild @@ -14,7 +14,7 @@ LICENSE="GPL-2+ LGPL-2+" SLOT="0" IUSE="+caps pam selinux +ssh-agent test" RESTRICT="!test? ( test )" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" # Replace gkd gpg-agent with pinentry[gnome-keyring] one, bug #547456 RDEPEND=" diff --git a/gnome-base/gnome-keyring/gnome-keyring-3.36.0.ebuild b/gnome-base/gnome-keyring/gnome-keyring-3.36.0.ebuild new file mode 100644 index 000000000000..6cc05b7b3b51 --- /dev/null +++ b/gnome-base/gnome-keyring/gnome-keyring-3.36.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python2_7 ) + +inherit fcaps gnome2 pam python-any-r1 virtualx + +DESCRIPTION="Password and keyring managing daemon" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeKeyring" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+caps pam selinux +ssh-agent test" +RESTRICT="!test? ( test )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" + +# Replace gkd gpg-agent with pinentry[gnome-keyring] one, bug #547456 +RDEPEND=" + >=app-crypt/gcr-3.27.90:=[gtk] + >=dev-libs/glib-2.44:2 + app-misc/ca-certificates + >=dev-libs/libgcrypt-1.2.2:0= + caps? ( sys-libs/libcap-ng ) + pam? ( sys-libs/pam ) + selinux? ( sec-policy/selinux-gnome ) + >=app-crypt/gnupg-2.0.28:= + ssh-agent? ( net-misc/openssh ) +" +DEPEND="${RDEPEND} + >=app-eselect/eselect-pinentry-0.5 + app-text/docbook-xml-dtd:4.3 + dev-libs/libxslt + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) +" +PDEPEND="app-crypt/pinentry[gnome-keyring]" #570512 + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + # Disable stupid CFLAGS with debug enabled + sed -e 's/CFLAGS="$CFLAGS -g"//' \ + -e 's/CFLAGS="$CFLAGS -O0"//' \ + -i configure.ac configure || die + + gnome2_src_prepare +} + +src_configure() { + gnome2_src_configure \ + $(use_with caps libcap-ng) \ + $(use_enable pam) \ + $(use_with pam pam-dir $(getpam_mod_dir)) \ + $(use_enable selinux) \ + $(use_enable ssh-agent) \ + --enable-doc +} + +src_test() { + "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/schema" || die + GSETTINGS_SCHEMA_DIR="${S}/schema" virtx emake check +} + +pkg_postinst() { + # cap_ipc_lock only needed if building --with-libcap-ng + # Never install as suid root, this breaks dbus activation, see bug #513870 + use caps && fcaps -m 755 cap_ipc_lock usr/bin/gnome-keyring-daemon + gnome2_pkg_postinst + + if ! [[ $(eselect pinentry show | grep "pinentry-gnome3") ]] ; then + ewarn "Please select pinentry-gnome3 as default pinentry provider:" + ewarn " # eselect pinentry set pinentry-gnome3" + fi +} -- cgit v1.2.3