[Dev] Orphan Nonprism package [gnome-settings-daemon] marked out-of-date

theova theova at bluewin.ch
Tue Aug 13 18:12:44 GMT 2019


The PKGBUILD and nonprism.patch for version 3.32.1 is attached.

Changelog:
* Update dependencies s.t. it follows the one of Arch's PKGBUILD without
  geoclue2
* Update source, commit & sha256sums to newest
* prepare: Change git config command to Arch's one
* build: Change to meson build system as gnome changed (see [1])
* check: Add check function

Testing:
* I was able to start gnome. This upgrade propably fixes issue #2128
  [2].
* I didn't notice problems. However:
  $ journalctl -p err..alert -b
  Aug 13 18:18:44 host gdm-password][900]: gkr-pam: unable to locate
  daemon control file
  Aug 13 18:18:44 host gdm-password][900]: gkr-pam: the password for the login keyring was invalid.
  Aug 13 18:18:54 host gnome-session-binary[724]: Unrecoverable failure in required component org.gnome.Shell.desktop

  I can't judge how grave this errors are. Please tell me how to further
  test the package when necessary.



[1]
https://wiki.archlinux.org/index.php/GNOME_package_guidelines#Building_with_meson
[2] https://labs.parabola.nu/issues/2128



Parabola Website Notification <nobody at parabola.nu> schrieb am Mon, 12.
Aug 19 19:52:
>theova at member.fsf.org wants to notify you that the following packages may be out-of-date:
>
>
>
>
>The user provided the following additional text:
>
>Version 3.32.1 is in [extra]
>
>_______________________________________________
>Dev mailing list
>Dev at lists.parabola.nu
>https://lists.parabola.nu/mailman/listinfo/dev
-------------- next part --------------
From 2f9b14465a2a97b80aa8a08776ee4bcecd855504 Mon Sep 17 00:00:00 2001
From: theova <theova at member.fsf.org>
Date: Tue, 13 Aug 2019 18:25:15 +0200
Subject: [PATCH] Remove geoclue2 dependence

---
 meson.build                             |   1 -
 plugins/color/gcm-self-test.c           |   3 -
 plugins/color/gsd-night-light.c         | 100 -------------------
 plugins/color/gsd-night-light.h         |   2 -
 plugins/color/meson.build               |   1 -
 plugins/datetime/gsd-timezone-monitor.c | 125 ------------------------
 plugins/datetime/meson.build            |   1 -
 7 files changed, 233 deletions(-)

diff --git a/meson.build b/meson.build
index b03fc403..ade6104e 100644
--- a/meson.build
+++ b/meson.build
@@ -94,7 +94,6 @@ gtk_x11_dep = dependency('gtk+-x11-3.0')
 gweather_dep = dependency('gweather-3.0', version: '>= 3.9.5')
 lcms_dep = dependency('lcms2', version: '>= 2.2')
 libcanberra_gtk_dep = dependency('libcanberra-gtk3')
-libgeoclue_dep = dependency('libgeoclue-2.0', version: '>= 2.3.1')
 libnotify_dep = dependency('libnotify', version: '>= 0.7.3')
 libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', version: '>= 2.0')
 pango_dep = dependency('pango', version: '>= 1.20.0')
diff --git a/plugins/color/gcm-self-test.c b/plugins/color/gcm-self-test.c
index 7ff01f68..f4308d89 100644
--- a/plugins/color/gcm-self-test.c
+++ b/plugins/color/gcm-self-test.c
@@ -80,9 +80,6 @@ gcm_test_night_light (void)
         datetime_override = g_date_time_new_utc (2017, 2, 8, 20, 0, 0);
         gsd_night_light_set_date_time_now (nlight, datetime_override);
 
-        /* do not start geoclue */
-        gsd_night_light_set_geoclue_enabled (nlight, FALSE);
-
         /* do not smooth the transition */
         gsd_night_light_set_smooth_enabled (nlight, FALSE);
 
diff --git a/plugins/color/gsd-night-light.c b/plugins/color/gsd-night-light.c
index 701c7753..fe6de7de 100644
--- a/plugins/color/gsd-night-light.c
+++ b/plugins/color/gsd-night-light.c
@@ -20,7 +20,6 @@
 
 #include "config.h"
 
-#include <geoclue.h>
 
 #define GNOME_DESKTOP_USE_UNSTABLE_API
 #include "gnome-datetime-source.h"
@@ -36,11 +35,8 @@ struct _GsdNightLight {
         gboolean           forced;
         gboolean           disabled_until_tmw;
         GDateTime         *disabled_until_tmw_dt;
-        gboolean           geoclue_enabled;
         GSource           *source;
         guint              validate_id;
-        GClueClient       *geoclue_client;
-        GClueSimple       *geoclue_simple;
         GSettings         *location_settings;
         gdouble            cached_sunrise;
         gdouble            cached_sunset;
@@ -454,91 +450,6 @@ settings_changed_cb (GSettings *settings, gchar *key, gpointer user_data)
         night_light_recheck (self);
 }
 
-static void
-on_location_notify (GClueSimple *simple,
-                    GParamSpec  *pspec,
-                    gpointer     user_data)
-{
-        GsdNightLight *self = GSD_NIGHT_LIGHT (user_data);
-        GClueLocation *location;
-        gdouble latitude, longitude;
-
-        location = gclue_simple_get_location (simple);
-        latitude = gclue_location_get_latitude (location);
-        longitude = gclue_location_get_longitude (location);
-
-        g_settings_set_value (self->settings,
-                              "night-light-last-coordinates",
-                              g_variant_new ("(dd)", latitude, longitude));
-
-        g_debug ("got geoclue latitude %f, longitude %f", latitude, longitude);
-
-        /* recheck the levels if the location changed significantly */
-        if (update_cached_sunrise_sunset (self))
-                night_light_recheck_schedule (self);
-}
-
-static void
-on_geoclue_simple_ready (GObject      *source_object,
-                         GAsyncResult *res,
-                         gpointer      user_data)
-{
-        GsdNightLight *self = GSD_NIGHT_LIGHT (user_data);
-        GClueSimple *geoclue_simple;
-        g_autoptr(GError) error = NULL;
-
-        geoclue_simple = gclue_simple_new_finish (res, &error);
-        if (geoclue_simple == NULL) {
-                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-                        g_warning ("Failed to connect to GeoClue2 service: %s", error->message);
-                return;
-        }
-
-        self->geoclue_simple = geoclue_simple;
-        self->geoclue_client = gclue_simple_get_client (self->geoclue_simple);
-        g_object_set (G_OBJECT (self->geoclue_client),
-                      "time-threshold", 60*60, NULL); /* 1 hour */
-
-        g_signal_connect (self->geoclue_simple, "notify::location",
-                          G_CALLBACK (on_location_notify), user_data);
-
-        on_location_notify (self->geoclue_simple, NULL, user_data);
-}
-
-static void
-start_geoclue (GsdNightLight *self)
-{
-        self->cancellable = g_cancellable_new ();
-        gclue_simple_new (DESKTOP_ID,
-                          GCLUE_ACCURACY_LEVEL_CITY,
-                          self->cancellable,
-                          on_geoclue_simple_ready,
-                          self);
-
-}
-
-static void
-stop_geoclue (GsdNightLight *self)
-{
-        g_cancellable_cancel (self->cancellable);
-        g_clear_object (&self->cancellable);
-
-        if (self->geoclue_client != NULL) {
-                gclue_client_call_stop (self->geoclue_client, NULL, NULL, NULL);
-                self->geoclue_client = NULL;
-        }
-        g_clear_object (&self->geoclue_simple);
-}
-
-static void
-check_location_settings (GsdNightLight *self)
-{
-        if (g_settings_get_boolean (self->location_settings, "enabled") && self->geoclue_enabled)
-                start_geoclue (self);
-        else
-                stop_geoclue (self);
-}
-
 void
 gsd_night_light_set_disabled_until_tmw (GsdNightLight *self, gboolean value)
 {
@@ -608,12 +519,6 @@ gsd_night_light_get_temperature (GsdNightLight *self)
         return self->cached_temperature;
 }
 
-void
-gsd_night_light_set_geoclue_enabled (GsdNightLight *self, gboolean enabled)
-{
-        self->geoclue_enabled = enabled;
-}
-
 gboolean
 gsd_night_light_start (GsdNightLight *self, GError **error)
 {
@@ -624,9 +529,6 @@ gsd_night_light_start (GsdNightLight *self, GError **error)
         g_signal_connect (self->settings, "changed",
                           G_CALLBACK (settings_changed_cb), self);
 
-        g_signal_connect_swapped (self->location_settings, "changed::enabled",
-                                  G_CALLBACK (check_location_settings), self);
-        check_location_settings (self);
 
         return TRUE;
 }
@@ -636,7 +538,6 @@ gsd_night_light_finalize (GObject *object)
 {
         GsdNightLight *self = GSD_NIGHT_LIGHT (object);
 
-        stop_geoclue (self);
 
         poll_timeout_destroy (self);
         poll_smooth_destroy (self);
@@ -783,7 +684,6 @@ gsd_night_light_class_init (GsdNightLightClass *klass)
 static void
 gsd_night_light_init (GsdNightLight *self)
 {
-        self->geoclue_enabled = TRUE;
         self->smooth_enabled = TRUE;
         self->cached_sunrise = -1.f;
         self->cached_sunset = -1.f;
diff --git a/plugins/color/gsd-night-light.h b/plugins/color/gsd-night-light.h
index 8803c338..ec1ae7ac 100644
--- a/plugins/color/gsd-night-light.h
+++ b/plugins/color/gsd-night-light.h
@@ -46,8 +46,6 @@ void             gsd_night_light_set_forced             (GsdNightLight *self,
                                                          gboolean       value);
 
 /* only for the self test program */
-void             gsd_night_light_set_geoclue_enabled    (GsdNightLight *self,
-                                                         gboolean       enabled);
 void             gsd_night_light_set_date_time_now      (GsdNightLight *self,
                                                          GDateTime     *datetime);
 void             gsd_night_light_set_smooth_enabled     (GsdNightLight *self,
diff --git a/plugins/color/meson.build b/plugins/color/meson.build
index 2ae1740a..45688712 100644
--- a/plugins/color/meson.build
+++ b/plugins/color/meson.build
@@ -15,7 +15,6 @@ deps = plugins_deps + [
   gnome_desktop_dep,
   lcms_dep,
   libcanberra_gtk_dep,
-  libgeoclue_dep,
   libnotify_dep,
   m_dep,
 ]
diff --git a/plugins/datetime/gsd-timezone-monitor.c b/plugins/datetime/gsd-timezone-monitor.c
index ca3e6a7f..152bf613 100644
--- a/plugins/datetime/gsd-timezone-monitor.c
+++ b/plugins/datetime/gsd-timezone-monitor.c
@@ -25,7 +25,6 @@
 #include "tz.h"
 #include "weather-tz.h"
 
-#include <geoclue.h>
 #include <geocode-glib/geocode-glib.h>
 #include <polkit/polkit.h>
 
@@ -45,9 +44,6 @@ typedef struct
         GPermission *permission;
         Timedate1 *dtm;
 
-        GClueClient *geoclue_client;
-        GClueSimple *geoclue_simple;
-        GCancellable *geoclue_cancellable;
 
         TzDB *tzdb;
         WeatherTzDB *weather_tzdb;
@@ -255,113 +251,6 @@ on_reverse_geocoding_ready (GObject      *source_object,
         g_object_unref (place);
 }
 
-static void
-start_reverse_geocoding (GsdTimezoneMonitor *self,
-                         gdouble             latitude,
-                         gdouble             longitude)
-{
-        GeocodeLocation *location;
-        GeocodeReverse *reverse;
-        GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self);
-
-        location = geocode_location_new (latitude,
-                                         longitude,
-                                         GEOCODE_LOCATION_ACCURACY_CITY);
-
-        reverse = geocode_reverse_new_for_location (location);
-        geocode_reverse_resolve_async (reverse,
-                                       priv->geoclue_cancellable,
-                                       on_reverse_geocoding_ready,
-                                       self);
-
-        g_object_unref (location);
-        g_object_unref (reverse);
-}
-
-static void
-on_location_notify (GClueSimple *simple,
-                    GParamSpec  *pspec,
-                    gpointer     user_data)
-{
-        GsdTimezoneMonitor *self = user_data;
-        GClueLocation *location;
-        gdouble latitude, longitude;
-
-        location = gclue_simple_get_location (simple);
-
-        latitude = gclue_location_get_latitude (location);
-        longitude = gclue_location_get_longitude (location);
-
-        g_debug ("Got location %lf,%lf", latitude, longitude);
-
-        start_reverse_geocoding (self, latitude, longitude);
-}
-
-static void
-on_geoclue_simple_ready (GObject      *source_object,
-                         GAsyncResult *res,
-                         gpointer      user_data)
-{
-        GError *error = NULL;
-        GsdTimezoneMonitorPrivate *priv;
-        GClueSimple *geoclue_simple;
-
-        geoclue_simple = gclue_simple_new_finish (res, &error);
-        if (geoclue_simple == NULL) {
-                if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-                        g_warning ("Failed to connect to GeoClue2 service: %s", error->message);
-                g_error_free (error);
-                return;
-        }
-
-        g_debug ("Geoclue now available");
-
-        priv = gsd_timezone_monitor_get_instance_private (user_data);
-        priv->geoclue_simple = geoclue_simple;
-        priv->geoclue_client = gclue_simple_get_client (priv->geoclue_simple);
-        gclue_client_set_distance_threshold (priv->geoclue_client,
-                                             GEOCODE_LOCATION_ACCURACY_CITY);
-
-        g_signal_connect (priv->geoclue_simple, "notify::location",
-                          G_CALLBACK (on_location_notify), user_data);
-
-        on_location_notify (priv->geoclue_simple, NULL, user_data);
-}
-
-static void
-start_geoclue (GsdTimezoneMonitor *self)
-{
-        GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self);
-
-        g_debug ("Timezone monitor enabled, starting geoclue");
-
-        priv->geoclue_cancellable = g_cancellable_new ();
-        gclue_simple_new (DESKTOP_ID,
-                          GCLUE_ACCURACY_LEVEL_CITY,
-                          priv->geoclue_cancellable,
-                          on_geoclue_simple_ready,
-                          self);
-
-}
-
-static void
-stop_geoclue (GsdTimezoneMonitor *self)
-{
-        GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self);
-
-        g_debug ("Timezone monitor disabled, stopping geoclue");
-
-        g_cancellable_cancel (priv->geoclue_cancellable);
-        g_clear_object (&priv->geoclue_cancellable);
-
-        if (priv->geoclue_client) {
-                gclue_client_call_stop (priv->geoclue_client, NULL, NULL, NULL);
-                priv->geoclue_client = NULL;
-        }
-
-        g_clear_object (&priv->geoclue_simple);
-}
-
 GsdTimezoneMonitor *
 gsd_timezone_monitor_new (void)
 {
@@ -376,7 +265,6 @@ gsd_timezone_monitor_finalize (GObject *obj)
 
         g_debug ("Stopping timezone monitor");
 
-        stop_geoclue (monitor);
 
         if (priv->cancellable) {
                 g_cancellable_cancel (priv->cancellable);
@@ -411,16 +299,6 @@ gsd_timezone_monitor_class_init (GsdTimezoneMonitorClass *klass)
                               G_TYPE_NONE, 1, G_TYPE_POINTER);
 }
 
-static void
-check_location_settings (GsdTimezoneMonitor *self)
-{
-        GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self);
-        if (g_settings_get_boolean (priv->location_settings, "enabled"))
-                start_geoclue (self);
-        else
-                stop_geoclue (self);
-}
-
 static void
 gsd_timezone_monitor_init (GsdTimezoneMonitor *self)
 {
@@ -463,7 +341,4 @@ gsd_timezone_monitor_init (GsdTimezoneMonitor *self)
         priv->weather_tzdb = weather_tz_db_new ();
 
         priv->location_settings = g_settings_new ("org.gnome.system.location");
-        g_signal_connect_swapped (priv->location_settings, "changed::enabled",
-                                  G_CALLBACK (check_location_settings), self);
-        check_location_settings (self);
 }
diff --git a/plugins/datetime/meson.build b/plugins/datetime/meson.build
index ed2d433f..364b6150 100644
--- a/plugins/datetime/meson.build
+++ b/plugins/datetime/meson.build
@@ -20,7 +20,6 @@ sources += gnome.gdbus_codegen(
 deps = plugins_deps + [
   geocode_glib_dep,
   gweather_dep,
-  libgeoclue_dep,
   libnotify_dep,
   m_dep,
   polkit_gobject_dep
-- 
2.22.0

-------------- next part --------------
# $Id$
# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
# Contributor: Andreas Grapentin <andreas at grapentin.org>
# Contributor: André Silva <emulatorman at hyperbola.info>
# Contributor: Isaac David <isacdaavid at at@isacdaavid.info>
# Contributor: Theova <theova at member.fsf.org>

# parabola changes and rationale:
#  - removed geoclue2 support

pkgname=gnome-settings-daemon
pkgver=3.32.1
pkgrel=1.nonprism1
pkgdesc="GNOME Settings Daemon, without geoclue2 support"
url="https://git.gnome.org/browse/gnome-settings-daemon"
arch=(x86_64 i686 armv7h)
license=(GPL)
depends=(dconf gnome-desktop gsettings-desktop-schemas libcanberra-pulse libnotify systemd-libs
         libwacom pulseaudio pulseaudio-alsa upower librsvg libgweather geocode-glib nss
         libgudev gtk3-print-backends libnm)
makedepends=(xf86-input-wacom libxslt docbook-xsl python git meson)
checkdepends=(python-gobject python-dbusmock)
groups=(gnome)
_commit=57114085a09e86968e0a0261392c6866352f35fd  # tags/GNOME_SETTINGS_DAEMON_3_32_1^0
source=("git+https://gitlab.gnome.org/GNOME/gnome-settings-daemon.git#commit=$_commit"
        "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git"
        nonprism.patch)
sha256sums=('SKIP'
            'SKIP'
            '1db6c116d8df7a3645f0f616e53fd5fa23742313cdfdf69b75a2d13bae943383')

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/^GNOME_SETTINGS_DAEMON_//;s/_/./g;s/-/+/g'
}

prepare() {
  cd $pkgname

  git submodule init
  git config --local submodule.subprojects/gvc.url "$srcdir/libgnome-volume-control"
  git submodule update

  patch -p1 -i $srcdir/nonprism.patch
}

build() {
  arch-meson $pkgname build
  ninja -C build
}

check() {
  meson test -C build
}

package() {
  DESTDIR="$pkgdir" meson install -C build
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20190813/84467527/attachment-0001.sig>


More information about the Dev mailing list