Date: Friday, April 30, 2021 @ 14:52:13 Author: bgyorgy Revision: 925365
upgpkg: budgie-screensaver 4.0-2: Fix killing gjs, remove unneeded downstream pam file Added: budgie-screensaver/trunk/0001-Fix-killing-gjs.patch Modified: budgie-screensaver/trunk/PKGBUILD Deleted: budgie-screensaver/trunk/budgie-screensaver.pam budgie-screensaver/trunk/no-check.patch ----------------------------+ 0001-Fix-killing-gjs.patch | 93 +++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 13 ++---- budgie-screensaver.pam | 3 - no-check.patch | 22 ---------- 4 files changed, 98 insertions(+), 33 deletions(-) Added: 0001-Fix-killing-gjs.patch =================================================================== --- 0001-Fix-killing-gjs.patch (rev 0) +++ 0001-Fix-killing-gjs.patch 2021-04-30 14:52:13 UTC (rev 925365) @@ -0,0 +1,93 @@ +From 1553374b9c5db3db8232738dc8fa747684b070d1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballog...@gmail.com> +Date: Fri, 30 Apr 2021 15:58:22 +0200 +Subject: [PATCH] Fix killing gjs + +--- + src/gnome-screensaver.c | 22 +++++++++++----------- + src/gs-listener-dbus.c | 29 ++++++++++++----------------- + 2 files changed, 23 insertions(+), 28 deletions(-) + +diff --git a/src/gnome-screensaver.c b/src/gnome-screensaver.c +index d2ccae3..96a7d49 100644 +--- a/src/gnome-screensaver.c ++++ b/src/gnome-screensaver.c +@@ -82,17 +82,17 @@ main (int argc, + exit (1); + } + +- gchar** env_vars = g_get_environ(); // Get our list of environment variables +- gchar* desktop = g_environ_getenv(env_vars, "XDG_CURRENT_DESKTOP"); // Get the current desktop value +- +- if (desktop != NULL) { // Got a value +- if (!g_str_has_prefix(desktop, "Budgie")) { // Does not start with Budgie +- g_message("Not running under Budgie, exiting."); +- exit(1); +- } +- } +- +- g_strfreev(env_vars); // Free our environment variables ++ if (g_find_program_in_path("pkill") != NULL) { // Have pkill ++ g_spawn_command_line_sync("pkill -9 -f '/usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver'", ++ NULL, ++ NULL, ++ NULL, ++ &error); ++ if (error) { ++ g_warning("Failed to kill gjs: %s", error->message); ++ g_error_free (error); ++ } ++ } + + gs_debug_init (debug, FALSE); + gs_debug ("initializing budgie-screensaver %s", VERSION); +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 124d83a..f667127 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -1334,6 +1334,14 @@ gs_listener_acquire (GSListener *listener, + _("not connected to the message bus")); + return FALSE; + } ++ if (screensaver_is_running (listener->priv->connection)) { ++ g_set_error (error, ++ GS_LISTENER_ERROR, ++ GS_LISTENER_ERROR_ACQUISITION_FAILURE, ++ "%s", ++ _("screensaver already running in this session")); ++ return FALSE; ++ } + + dbus_error_init (&buserror); + +@@ -1345,23 +1353,10 @@ gs_listener_acquire (GSListener *listener, + return FALSE; + } + +- if (g_find_program_in_path("pkill") != NULL) { // Have pkill +- char *argv[5]; +- argv[0] = "pkill"; +- argv[1] = "-9"; +- argv[2] = "-f"; +- argv[3] = "'/usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver'"; +- argv[4] = NULL; +- +- g_autoptr(GError) error = NULL; +- gboolean kill_ret = g_spawn_sync(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, NULL, &error); +- +- if (!kill_ret) { +- g_warning("Failed to kill gjs: %s", error->message); +- } +- } +- +- res = dbus_bus_request_name (listener->priv->connection, GS_SERVICE, DBUS_NAME_FLAG_REPLACE_EXISTING, &buserror); ++ res = dbus_bus_request_name (listener->priv->connection, ++ GS_SERVICE, ++ DBUS_NAME_FLAG_DO_NOT_QUEUE | DBUS_NAME_FLAG_ALLOW_REPLACEMENT, ++ &buserror); + if (dbus_error_is_set (&buserror)) { + g_set_error (error, + GS_LISTENER_ERROR, +-- +2.31.1 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-04-30 13:57:33 UTC (rev 925364) +++ PKGBUILD 2021-04-30 14:52:13 UTC (rev 925365) @@ -2,7 +2,7 @@ pkgname=budgie-screensaver pkgver=4.0 -pkgrel=1 +pkgrel=2 pkgdesc='Screensaver for the Budgie Desktop' arch=('x86_64') license=('GPL') @@ -11,16 +11,14 @@ depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop') makedepends=('intltool') source=("https://github.com/getsolus/$pkgname/releases/download/v$pkgver/$pkgname-v$pkgver.tar.xz" - 'no-check.patch' - 'budgie-screensaver.pam') + '0001-Fix-killing-gjs.patch') sha256sums=('dde83f355e549b5f6290655f33acd910d2febbb8fd974f922b14814054f80f49' - '8f429830eb02ae91ddb3dcfb7a04d6da135e8f45caff6e0124713b0e064de7bb' - 'b6ea9e2eb586d94bcabb617a8f1c2958111df87afdbb51f645882bccdc15cbda') + '4d66ab957b637510b21f9d6473a57d6890fbdb179d220ff875a26d461a67304e') prepare() { cd $pkgname-v$pkgver - # Remove unneeded DE check - patch -Np1 -i ../no-check.patch + # Fix killing gjs + patch -Np1 -i ../0001-Fix-killing-gjs.patch } build() { @@ -33,5 +31,4 @@ package() { cd $pkgname-v$pkgver make DESTDIR="$pkgdir" install - install -Dm644 ../budgie-screensaver.pam "$pkgdir/etc/pam.d/budgie-screensaver" } Deleted: budgie-screensaver.pam =================================================================== --- budgie-screensaver.pam 2021-04-30 13:57:33 UTC (rev 925364) +++ budgie-screensaver.pam 2021-04-30 14:52:13 UTC (rev 925365) @@ -1,3 +0,0 @@ -#%PAM-1.0 -auth substack system-login --auth optional pam_gnome_keyring.so Deleted: no-check.patch =================================================================== --- no-check.patch 2021-04-30 13:57:33 UTC (rev 925364) +++ no-check.patch 2021-04-30 14:52:13 UTC (rev 925365) @@ -1,22 +0,0 @@ -diff --git a/src/gnome-screensaver.c b/src/gnome-screensaver.c ---- a/src/gnome-screensaver.c -+++ b/src/gnome-screensaver.c -@@ -82,18 +82,6 @@ main (int argc, - exit (1); - } - -- gchar** env_vars = g_get_environ(); // Get our list of environment variables -- gchar* desktop = g_environ_getenv(env_vars, "XDG_CURRENT_DESKTOP"); // Get the current desktop value -- -- if (desktop != NULL) { // Got a value -- if (!g_str_has_prefix(desktop, "Budgie")) { // Does not start with Budgie -- g_message("Not running under Budgie, exiting."); -- exit(1); -- } -- } -- -- g_strfreev(env_vars); // Free our environment variables -- - gs_debug_init (debug, FALSE); - gs_debug ("initializing budgie-screensaver %s", VERSION); -