[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