Accepting request 85670 from GNOME:Factory

Pushing G:F

OBS-URL: https://build.opensuse.org/request/show/85670
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-settings-daemon?expand=0&rev=69
This commit is contained in:
Lars Vogdt 2011-10-02 08:07:39 +00:00 committed by Git OBS Bridge
commit f0eeb1df7b
5 changed files with 93 additions and 308 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0e73a652a315d4288f123f4dd34cfcb982bf5595529167f6b894934723020ec
size 1736576

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b46161ebd7d194e5a9e3e0e4a4582d13d0d9407f7cd2b9b82a393700e695ac46
size 1771921

View File

@ -1,297 +0,0 @@
commit b296c9298b88294ccbb14b820c028f8a9a30d32b
Author: Vincent Untz <vuntz@gnome.org>
Date: Wed Jul 20 15:46:14 2011 +0200
datetime: Add NTP support for SUSE variants
https://bugzilla.gnome.org/show_bug.cgi?id=654970
diff --git a/plugins/datetime/Makefile.am b/plugins/datetime/Makefile.am
index 990eeb6..69032fb 100644
--- a/plugins/datetime/Makefile.am
+++ b/plugins/datetime/Makefile.am
@@ -26,6 +26,8 @@ gsd_datetime_mechanism_SOURCES = \
gsd-datetime-mechanism-fedora.h \
gsd-datetime-mechanism-debian.c \
gsd-datetime-mechanism-debian.h \
+ gsd-datetime-mechanism-suse.c \
+ gsd-datetime-mechanism-suse.h \
gsd-datetime-mechanism-main.c \
system-timezone.c \
system-timezone.h
diff --git a/plugins/datetime/gsd-datetime-mechanism-suse.c b/plugins/datetime/gsd-datetime-mechanism-suse.c
new file mode 100644
index 0000000..ae32045
--- /dev/null
+++ b/plugins/datetime/gsd-datetime-mechanism-suse.c
@@ -0,0 +1,187 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
+ * Copyright (C) 2011 Bastien Nocera <hadess@hadess.net>
+ * Copyright (C) 2011 Vincent Untz <vuntz@gnome.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+
+#include "gsd-datetime-mechanism-suse.h"
+#include "gsd-datetime-mechanism.h"
+
+gboolean
+_get_using_ntp_suse (DBusGMethodInvocation *context)
+{
+ int exit_status;
+ GError *error = NULL;
+ gboolean can_use_ntp;
+ gboolean is_using_ntp;
+
+ if (g_file_test ("/etc/ntp.conf", G_FILE_TEST_EXISTS)) {
+ can_use_ntp = TRUE;
+ if (!g_spawn_command_line_sync ("/sbin/service ntp status",
+ NULL, NULL, &exit_status, &error)) {
+ GError *error2;
+ error2 = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error spawning /sbin/service: %s", error->message);
+ g_error_free (error);
+ dbus_g_method_return_error (context, error2);
+ g_error_free (error2);
+ return FALSE;
+ }
+ if (exit_status == 0)
+ is_using_ntp = TRUE;
+ else
+ is_using_ntp = FALSE;
+ }
+ else {
+ can_use_ntp = FALSE;
+ is_using_ntp = FALSE;
+ }
+
+ dbus_g_method_return (context, can_use_ntp, is_using_ntp);
+ return TRUE;
+}
+
+gboolean
+_set_using_ntp_suse (DBusGMethodInvocation *context,
+ gboolean using_ntp)
+{
+ GError *error;
+ int exit_status;
+ char *cmd;
+
+ error = NULL;
+
+ /* We omit --level 2345 so that systemd doesn't try to use the
+ * SysV init scripts */
+ cmd = g_strconcat ("/sbin/chkconfig ntp ", using_ntp ? "on" : "off", NULL);
+
+ if (!g_spawn_command_line_sync (cmd,
+ NULL, NULL, &exit_status, &error)) {
+ GError *error2;
+ error2 = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error spawning '%s': %s", cmd, error->message);
+ g_error_free (error);
+ dbus_g_method_return_error (context, error2);
+ g_error_free (error2);
+ g_free (cmd);
+ return FALSE;
+ }
+
+ g_free (cmd);
+
+ cmd = g_strconcat ("/sbin/service ntp ", using_ntp ? "restart" : "stop", NULL);;
+
+ if (!g_spawn_command_line_sync (cmd,
+ NULL, NULL, &exit_status, &error)) {
+ GError *error2;
+ error2 = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error spawning '%s': %s", cmd, error->message);
+ g_error_free (error);
+ dbus_g_method_return_error (context, error2);
+ g_error_free (error2);
+ g_free (cmd);
+ return FALSE;
+ }
+
+ g_free (cmd);
+
+ dbus_g_method_return (context);
+ return TRUE;
+}
+
+gboolean
+_update_etc_sysconfig_clock_suse (DBusGMethodInvocation *context, const char *key, const char *value)
+{
+ char **lines;
+ int n;
+ gboolean replaced;
+ char *data;
+ gsize len;
+ GError *error;
+
+ /* On SUSE variants, the /etc/sysconfig/clock file needs to be kept in sync */
+ if (!g_file_test ("/etc/sysconfig/clock", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ error = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error reading /etc/sysconfig/clock file: %s", "No such file");
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+ return FALSE;
+ }
+
+ error = NULL;
+
+ if (!g_file_get_contents ("/etc/sysconfig/clock", &data, &len, &error)) {
+ GError *error2;
+ error2 = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error reading /etc/sysconfig/clock file: %s", error->message);
+ g_error_free (error);
+ dbus_g_method_return_error (context, error2);
+ g_error_free (error2);
+ return FALSE;
+ }
+ replaced = FALSE;
+ lines = g_strsplit (data, "\n", 0);
+ g_free (data);
+
+ for (n = 0; lines[n] != NULL; n++) {
+ if (g_str_has_prefix (lines[n], key)) {
+ g_free (lines[n]);
+ lines[n] = g_strdup_printf ("%s%s", key, value);
+ replaced = TRUE;
+ }
+ }
+ if (replaced) {
+ GString *str;
+
+ str = g_string_new (NULL);
+ for (n = 0; lines[n] != NULL; n++) {
+ g_string_append (str, lines[n]);
+ if (lines[n + 1] != NULL)
+ g_string_append_c (str, '\n');
+ }
+ data = g_string_free (str, FALSE);
+ len = strlen (data);
+ if (!g_file_set_contents ("/etc/sysconfig/clock", data, len, &error)) {
+ GError *error2;
+ error2 = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
+ GSD_DATETIME_MECHANISM_ERROR_GENERAL,
+ "Error updating /etc/sysconfig/clock: %s", error->message);
+ g_error_free (error);
+ dbus_g_method_return_error (context, error2);
+ g_error_free (error2);
+ g_free (data);
+ return FALSE;
+ }
+ g_free (data);
+ }
+ g_strfreev (lines);
+
+ return TRUE;
+}
diff --git a/plugins/datetime/gsd-datetime-mechanism-suse.h b/plugins/datetime/gsd-datetime-mechanism-suse.h
new file mode 100644
index 0000000..a228597
--- /dev/null
+++ b/plugins/datetime/gsd-datetime-mechanism-suse.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
+ * Copyright (C) 2011 Bastien Nocera <hadess@hadess.net>
+ * Copyright (C) 2011 Vincent Untz <vuntz@gnome.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include <glib.h>
+#include <dbus/dbus-glib.h>
+
+gboolean _get_using_ntp_suse (DBusGMethodInvocation *context);
+gboolean _set_using_ntp_suse (DBusGMethodInvocation *context,
+ gboolean using_ntp);
+gboolean _update_etc_sysconfig_clock_suse
+ (DBusGMethodInvocation *context,
+ const char *key,
+ const char *value);
diff --git a/plugins/datetime/gsd-datetime-mechanism.c b/plugins/datetime/gsd-datetime-mechanism.c
index c46c7f2..61d195f 100644
--- a/plugins/datetime/gsd-datetime-mechanism.c
+++ b/plugins/datetime/gsd-datetime-mechanism.c
@@ -47,6 +47,7 @@
/* NTP helper functions for various distributions */
#include "gsd-datetime-mechanism-fedora.h"
#include "gsd-datetime-mechanism-debian.h"
+#include "gsd-datetime-mechanism-suse.h"
static gboolean
do_exit (gpointer user_data)
@@ -625,9 +626,13 @@ gsd_datetime_mechanism_set_hardware_clock_using_utc (GsdDatetimeMechanism *mech
return FALSE;
}
- if (g_file_test ("/etc/fedora-release", G_FILE_TEST_EXISTS)) /* Fedora */
+ if (g_file_test ("/etc/fedora-release", G_FILE_TEST_EXISTS)) { /* Fedora */
if (!_update_etc_sysconfig_clock_fedora (context, "UTC=", using_utc ? "true" : "false"))
return FALSE;
+ } else if (g_file_test ("/etc/SuSE-release", G_FILE_TEST_EXISTS)) { /* SUSE variant */
+ if (!_update_etc_sysconfig_clock_suse (context, "HWCLOCK=", using_utc ? "-u" : "--localtime"))
+ return FALSE;
+ }
}
dbus_g_method_return (context);
return TRUE;
@@ -644,6 +649,8 @@ gsd_datetime_mechanism_get_using_ntp (GsdDatetimeMechanism *mechanism,
ret = _get_using_ntp_fedora (context);
else if (g_file_test ("/usr/sbin/update-rc.d", G_FILE_TEST_EXISTS)) /* Debian */
ret = _get_using_ntp_debian (context);
+ else if (g_file_test ("/etc/SuSE-release", G_FILE_TEST_EXISTS)) /* SUSE variant */
+ ret = _get_using_ntp_suse (context);
else {
error = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
GSD_DATETIME_MECHANISM_ERROR_GENERAL,
@@ -673,6 +680,8 @@ gsd_datetime_mechanism_set_using_ntp (GsdDatetimeMechanism *mechanism,
ret = _set_using_ntp_fedora (context, using_ntp);
else if (g_file_test ("/usr/sbin/update-rc.d", G_FILE_TEST_EXISTS)) /* Debian */
ret = _set_using_ntp_debian (context, using_ntp);
+ else if (g_file_test ("/etc/SuSE-release", G_FILE_TEST_EXISTS)) /* SUSE variant */
+ ret = _set_using_ntp_suse (context, using_ntp);
else {
error = g_error_new (GSD_DATETIME_MECHANISM_ERROR,
GSD_DATETIME_MECHANISM_ERROR_GENERAL,

View File

@ -1,3 +1,86 @@
-------------------------------------------------------------------
Mon Sep 26 16:39:28 UTC 2011 - vuntz@opensuse.org
- Update to version 3.2.0:
+ Power:
- Correctly put the screen and computer to sleep when idle
(bgo#659066)
+ Updated translations.
-------------------------------------------------------------------
Tue Sep 20 08:18:06 UTC 2011 - vuntz@opensuse.org
- Update to version 3.1.92:
+ A11Y keyboard:
- Show the a11y dialogue on right-click (bgo#564171)
+ Color:
- Be less chatty when creating duplicate profiles
- Do not segfault when doing fast-user-switching into a new
account (bgo#736846)
- Use a username suffix on the profile ID (bgo#736846)
- Do not show a warning when switching to a new user account
- Use the correct profiles when fast user switching
- Fix linking (bgo#659086)
+ Common:
- Add helper to list disabled devices
- Clean up X11 library dependencies (bgo#657178)
- Bump colord dependency
+ Datetime:
- Allow chrony to be used on Fedora (bgo#655119)
- Add NTP support for SUSE variants (bgo#654970)
+ GConf:
- Plug some memory leaks
- Disconnect callbacks when cleaning up
+ Keyboard:
- Remember and apply NumLock status (bgo#631989)
+ Media keys:
- Don't show a level when muted (bgo#644537)
- Fix keyboard brightness (bgo#658689)
- Use the same "Music" mime-type as g-c-c
- There's no Beagle anymore
- Use gtk_show_uri() to launch nautilus
- Clean up app launching (bgo#141379)
- Clean up upower req
- Remove unused empty LIBS linkage
- Fix compile-time warning
- Move keyboard brightness icon here
- Remove OSD icons
+ Mouse:
- Add more debug for "touchpad disabled"
- Try harder to re-enable devices (bgo#656397)
+ Power:
- Make ABS_TO_PERCENTAGE warn on invalid input (bgo#657364)
- Correctly check for helper exit status
- Avoid warnings without backlights
- Do not connect to signals if we failed to connect
- Don't crash if we try to calculate the idle state before
connected to gnome-session (bgo#657917)
- Be less chatty when optional hardware is not attached
(bgo#658613)
- Fix a critical warning when getting the session inhibit state
- Do not handle the idle state transaction when the session is
not active (bgo#658568)
- Don't fall through the switch statement when shutting down
(bgo#659202)
- Do not leak the icon when getting device status (bgo#659213)
- Protect against a potential SIGFE (bgo#659205)
- Do not emit multiple 'Changed' signals when recalculating
(bgo#659204)
- Do not use G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES when we
want to read properties (bgo#659066)
- Fix compilation without libcanberra-gtk
+ Printers:
- Use the best PPD for new printer (bgo#658544)
- Style fixes
+ Updates:
- Ignore virtual mountpoints when looking for external media
(bgo#658282)
- Use the correct icons in the notifications
+ Updated translations.
- Add pkgconfig() BuildRequires: kbproto, x11. Those are new
explicit dependencies.
- Drop gnome-settings-daemon-ntp-support.patch: fixed upstream.
-------------------------------------------------------------------
Thu Sep 8 06:59:13 UTC 2011 - vuntz@opensuse.org

View File

@ -18,13 +18,13 @@
Name: gnome-settings-daemon
Version: 3.1.91
Version: 3.2.0
Release: 1
License: GPLv2+
Summary: Settings daemon for the GNOME desktop
Url: http://www.gnome.org
Group: System/GUI/GNOME
Source: http://download.gnome.org/sources/gnome-settings-daemon/3.1/%{name}-%{version}.tar.bz2
Source: http://download.gnome.org/sources/gnome-settings-daemon/3.2/%{name}-%{version}.tar.bz2
# PATCH-NEEDS-REBASE gnome-settings-daemon-system-proxy-configuration.diff
Patch2: gnome-settings-daemon-system-proxy-configuration.diff
# PATCH-NEEDS-REBASE gnome-settings-daemon-apport-monitor.patch bnc439203 jblunck@novell.com -- Add apport monitoring plugin. (was PATCH-FEATURE-UPSTREAM)
@ -39,8 +39,6 @@ Patch13: gnome-settings-daemon-add-layout-switcher.patch
Patch14: gnome-packagekit-fate302445.patch
# PATCH-NEEDSREBASE PATCH-MISSING-TAG -- See http://en.opensuse.org/Packaging/Patches
Patch15: gnome-packagekit-BNC383261.patch
# PATCH-FIX-UPSTREAM bgo#654970 bnc#675969 gnome-settings-daemon-ntp-support.patch vuntz@opensuse.org -- Add SUSE support for datetime polkit helper
Patch16: gnome-settings-daemon-ntp-support.patch
# PATCH-FIX-OPENSUSE gnome-settings-daemon-stop-reload-proxy-settings.patch bnc689592#c1, bnc#538353 glin@suse.com -- Stop g-s-d poping up the authentication dialog for reloading the proxy settings
Patch17: gnome-settings-daemon-stop-reload-proxy-settings.patch
BuildRequires: fdupes
@ -51,7 +49,7 @@ BuildRequires: intltool
BuildRequires: translation-update-upstream
BuildRequires: update-desktop-files
BuildRequires: cups-devel
BuildRequires: pkgconfig(colord)
BuildRequires: pkgconfig(colord) >= 0.1.12
BuildRequires: pkgconfig(dbus-glib-1) >= 0.7.4
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gconf-2.0) >= 2.6.1
@ -63,6 +61,7 @@ BuildRequires: pkgconfig(gnome-desktop-3.0) >= 3.1.5
BuildRequires: pkgconfig(gsettings-desktop-schemas)
BuildRequires: pkgconfig(gtk+-3.0) >= 2.99.3
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(kbproto)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: pkgconfig(libgnomekbd)
@ -73,7 +72,8 @@ BuildRequires: pkgconfig(libxklavier)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(packagekit-glib2) >= 0.6.12
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(upower-glib)
BuildRequires: pkgconfig(upower-glib) >= 0.9.1
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xi)
Requires: gsettings-desktop-schemas
@ -140,7 +140,6 @@ translation-update-upstream
#%%patch14 -p0
# PATCH-NEEDS-REBASE
#%%patch15 -p0
%patch16 -p1
%patch17 -p1
%endif
@ -216,7 +215,7 @@ rm -rf %{buildroot}
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.xrandr.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.xsettings.gschema.xml
%{_datadir}/icons/*/*/*
%{_datadir}/icons/hicolor/*/apps/gsd-xrandr.*
%{_datadir}/polkit-1/actions/org.gnome.settings-daemon.plugins.power.policy
%{_mandir}/man1/gnome-settings-daemon.1*
# Own the directory since we can't depend on gconf providing them