Accepting request 291567 from GNOME:Next
resub OBS-URL: https://build.opensuse.org/request/show/291567 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/dconf?expand=0&rev=79
This commit is contained in:
parent
32e28c3882
commit
feb13d0cec
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0a277cb0c3f09e77d9413c5a9b3577fc2b5d6e941b59b44940392e024a224b8e
|
||||
size 393260
|
3
dconf-0.23.2.tar.xz
Normal file
3
dconf-0.23.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:14dfd57590953c6ad9e61dbcc4454d0fc84b66ad953577308d6f99de917e9157
|
||||
size 218564
|
@ -1,197 +0,0 @@
|
||||
From b25b57872daa036adbafeddb6aaf1236407bed1b Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gorse <mgorse@suse.com>
|
||||
Date: Thu, 1 May 2014 12:56:11 -0500
|
||||
Subject: [PATCH] Use g_settings_get_default_value() to retrieve default values
|
||||
|
||||
GSettings now has an API to retrieve a default value, and using it is
|
||||
more reliable than parsing the schema ourselves.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=668234
|
||||
---
|
||||
editor/dconf-editor.vala | 5 +++-
|
||||
editor/dconf-model.vala | 7 ++++-
|
||||
editor/dconf-schema.vala | 76 +-----------------------------------------------
|
||||
3 files changed, 11 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/editor/dconf-editor.vala b/editor/dconf-editor.vala
|
||||
index 8174218..692c57e 100644
|
||||
--- a/editor/dconf-editor.vala
|
||||
+++ b/editor/dconf-editor.vala
|
||||
@@ -235,7 +235,10 @@ class ConfigurationEditor : Gtk.Application
|
||||
if (selected_key.schema != null)
|
||||
{
|
||||
var gettext_domain = selected_key.schema.gettext_domain;
|
||||
+ Settings settings;
|
||||
+
|
||||
schema_name = selected_key.schema.schema.id;
|
||||
+ settings = new Settings (schema_name);
|
||||
if (selected_key.schema.summary != null)
|
||||
summary = selected_key.schema.summary;
|
||||
if (gettext_domain != null && summary != "")
|
||||
@@ -245,7 +248,7 @@ class ConfigurationEditor : Gtk.Application
|
||||
if (gettext_domain != null && description != "")
|
||||
description = dgettext(gettext_domain, description);
|
||||
type = key_to_description(selected_key);
|
||||
- default_value = selected_key.schema.default_value.print(false);
|
||||
+ default_value = settings.get_default_value (((Key)(iter.user_data)).name).print(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
diff --git a/editor/dconf-model.vala b/editor/dconf-model.vala
|
||||
index 8b43d60..ae25f86 100644
|
||||
--- a/editor/dconf-model.vala
|
||||
+++ b/editor/dconf-model.vala
|
||||
@@ -37,6 +37,7 @@ public class Key : GLib.Object
|
||||
}
|
||||
|
||||
private Variant? _value;
|
||||
+ private Variant? _default_value;
|
||||
public Variant value
|
||||
{
|
||||
get
|
||||
@@ -45,7 +46,11 @@ public class Key : GLib.Object
|
||||
if (_value != null)
|
||||
return _value;
|
||||
else
|
||||
- return schema.default_value;
|
||||
+ {
|
||||
+ var settings = new Settings (schema.schema.id);
|
||||
+ _default_value = settings.get_default_value (name);
|
||||
+ return _default_value;
|
||||
+ }
|
||||
}
|
||||
set
|
||||
{
|
||||
diff --git a/editor/dconf-schema.vala b/editor/dconf-schema.vala
|
||||
index fd35fb2..37c6571 100644
|
||||
--- a/editor/dconf-schema.vala
|
||||
+++ b/editor/dconf-schema.vala
|
||||
@@ -3,7 +3,6 @@ public class SchemaKey
|
||||
public Schema schema;
|
||||
public string name;
|
||||
public string type;
|
||||
- public Variant default_value;
|
||||
public SchemaValueRange? range;
|
||||
public SchemaValueRange type_range;
|
||||
public List<SchemaChoice> choices;
|
||||
@@ -42,15 +41,8 @@ public class SchemaKey
|
||||
{
|
||||
if (child->name == "default")
|
||||
{
|
||||
- try
|
||||
- {
|
||||
- default_value = Variant.parse(new VariantType(type), child->get_content());
|
||||
- }
|
||||
- catch (VariantParseError e)
|
||||
- {
|
||||
- // ...
|
||||
+ // we use get_default_value(), so ignore this
|
||||
}
|
||||
- }
|
||||
else if (child->name == "summary")
|
||||
summary = child->get_content();
|
||||
else if (child->name == "description")
|
||||
@@ -129,9 +121,6 @@ public class SchemaKey
|
||||
else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE)
|
||||
warning ("Unknown child tag in <key>, <%s>", child->name);
|
||||
}
|
||||
-
|
||||
- //if (default_value == null)
|
||||
- // ?
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,9 +237,6 @@ public class SchemaEnum
|
||||
else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE)
|
||||
warning ("Unknown tag in <enum>, <%s>", child->name);
|
||||
}
|
||||
-
|
||||
- //if (default_value == null)
|
||||
- // ?
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,9 +287,6 @@ public class SchemaFlags
|
||||
else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE)
|
||||
warning ("Unknown tag in <flags>, <%s>", child->name);
|
||||
}
|
||||
-
|
||||
- //if (default_value == null)
|
||||
- // ?
|
||||
}
|
||||
}
|
||||
|
||||
@@ -407,53 +390,6 @@ public class SchemaList
|
||||
delete doc;
|
||||
}
|
||||
|
||||
- public void parse_override(string path)
|
||||
- {
|
||||
- var keyfile = new KeyFile();
|
||||
- try
|
||||
- {
|
||||
- keyfile.load_from_file(path, KeyFileFlags.NONE);
|
||||
- }
|
||||
- catch (Error e)
|
||||
- {
|
||||
- warning("Failed to load override file %s: %s", path, e.message);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- foreach (var group in keyfile.get_groups())
|
||||
- {
|
||||
- var schema = schemas.lookup(group);
|
||||
- if (schema == null)
|
||||
- continue;
|
||||
-
|
||||
- string[] keys;
|
||||
- try { keys = keyfile.get_keys(group); } catch (Error e) { continue; }
|
||||
-
|
||||
- foreach (var key_name in keys)
|
||||
- {
|
||||
- string value;
|
||||
- try { value = keyfile.get_value(group, key_name); } catch (Error e) { continue; }
|
||||
-
|
||||
- var key = schema.keys.lookup (key_name);
|
||||
- if (key == null)
|
||||
- continue;
|
||||
-
|
||||
- Variant default_value;
|
||||
- try
|
||||
- {
|
||||
- default_value = Variant.parse(new VariantType(key.type), value);
|
||||
- }
|
||||
- catch (VariantParseError e)
|
||||
- {
|
||||
- // ...
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- key.default_value = default_value;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
public void load_directory(string dir) throws Error
|
||||
{
|
||||
var directory = File.new_for_path(dir);
|
||||
@@ -471,15 +407,5 @@ public class SchemaList
|
||||
}
|
||||
|
||||
i = directory.enumerate_children (FileAttribute.STANDARD_NAME, 0, null);
|
||||
- while (true)
|
||||
- {
|
||||
- var info = i.next_file (null);
|
||||
- if (info == null)
|
||||
- break;
|
||||
- var name = info.get_name();
|
||||
-
|
||||
- if (name.has_suffix(".override"))
|
||||
- parse_override(Path.build_filename(dir, name, null));
|
||||
- }
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.4
|
||||
|
||||
|
@ -1,3 +1,26 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 17 08:31:30 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.23.2:
|
||||
+ Remove dconf-editor manpage (accidentally missed during the
|
||||
split).
|
||||
+ Fix whitespace issues in 'dconf --help'.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 3 00:34:09 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.23.1:
|
||||
+ dconf-editor is now in a separate package.
|
||||
+ portability improvements.
|
||||
- Drop dconf-editor subpackages and references to it: it's now
|
||||
maintained in its own package (version 3.15.91).
|
||||
- Drop pkgconfig(gtk+-3.0) and pkgconfig(libxml-2.0) BuildRequires:
|
||||
dconf-editor dependencies.
|
||||
- Drop dconf-use-g_settings_get_default_value.patch: patch applied
|
||||
to dconf-editor.
|
||||
- Drop lang-package: it provided languages for dconf-editor
|
||||
(despite the gettext domain being 'dconf').
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 2 13:53:58 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
|
53
dconf.spec
53
dconf.spec
@ -17,16 +17,14 @@
|
||||
|
||||
|
||||
Name: dconf
|
||||
Version: 0.22.0
|
||||
Version: 0.23.2
|
||||
Release: 0
|
||||
Summary: Simple key-based configuration system
|
||||
License: LGPL-2.1+
|
||||
Group: System/Libraries
|
||||
Url: http://live.gnome.org/dconf
|
||||
Source: http://download.gnome.org/sources/dconf/0.22/%{name}-%{version}.tar.xz
|
||||
Source: http://download.gnome.org/sources/dconf/0.23/%{name}-%{version}.tar.xz
|
||||
Source99: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM dconf-use-g_settings_get_default_value.patch bnc#873225 bgo#668234 mgorse@suse.com -- Have editor display correct default value when an administrator has a custom database.
|
||||
Patch0: dconf-use-g_settings_get_default_value.patch
|
||||
# For directory ownership
|
||||
BuildRequires: dbus-1
|
||||
BuildRequires: docbook-xsl-stylesheets
|
||||
@ -38,15 +36,12 @@ BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.39.1
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
%if 0%{?BUILD_FROM_VCS}
|
||||
BuildRequires: gtk-doc
|
||||
%endif
|
||||
# dconf provides a dbus service, but has no dependency on dbus in any way
|
||||
# (because it uses gdbus), so we need an explicit Requires
|
||||
Requires: dbus-1
|
||||
Recommends: %{name}-lang
|
||||
|
||||
%description
|
||||
dconf is a low-level configuration system. Its main purpose is to
|
||||
@ -93,19 +88,6 @@ have configuration storage systems.
|
||||
This package provides a GSettings backend that uses dconf to store
|
||||
the settings.
|
||||
|
||||
%package editor
|
||||
Summary: Simple key-based configuration system -- Graphical Editor
|
||||
Group: System/GUI/GNOME
|
||||
Requires: %{name} >= %{version}
|
||||
%glib2_gsettings_schema_requires
|
||||
|
||||
%description editor
|
||||
dconf is a low-level configuration system. Its main purpose is to
|
||||
provide a backend to GSettings on platforms that don't already
|
||||
have configuration storage systems.
|
||||
|
||||
This package provides a graphical editor for dconf database.
|
||||
|
||||
%package devel
|
||||
Summary: Simple key-based configuration system -- Development Files
|
||||
Group: Development/Libraries/GNOME
|
||||
@ -126,10 +108,8 @@ dconf is a low-level configuration system. Its main purpose is to
|
||||
provide a backend to GSettings on platforms that don't already
|
||||
have configuration storage systems.
|
||||
|
||||
%lang_package
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%if 0%{?BUILD_FROM_VCS}
|
||||
[ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
|
||||
@ -146,9 +126,7 @@ have configuration storage systems.
|
||||
%install
|
||||
%makeinstall
|
||||
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
|
||||
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/ca.desrt.dconf-editor.desktop SystemSetup X-GNOME-PersonalSettings
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
|
||||
%find_lang %{name}
|
||||
|
||||
%post -n libdconf1 -p /sbin/ldconfig
|
||||
|
||||
@ -164,18 +142,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
|
||||
%postun -n gsettings-backend-dconf
|
||||
%glib2_gio_module_postun
|
||||
|
||||
%post editor
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
%icon_theme_cache_post HighContrast
|
||||
%glib2_gsettings_schema_post
|
||||
|
||||
%postun editor
|
||||
%desktop_database_postun
|
||||
%icon_theme_cache_postun
|
||||
%icon_theme_cache_postun HighContrast
|
||||
%glib2_gsettings_schema_postun
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc COPYING NEWS
|
||||
@ -191,8 +157,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
|
||||
# alternative databases
|
||||
%{_sysconfdir}/dconf/
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%files -n libdconf1
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/libdconf.so.*
|
||||
@ -205,19 +169,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/gio/modules/libdconfsettings.so
|
||||
|
||||
%files editor
|
||||
%defattr(-, root, root)
|
||||
%{_bindir}/dconf-editor
|
||||
%dir %{_datadir}/appdata
|
||||
%{_datadir}/appdata/ca.desrt.dconf-editor.appdata.xml
|
||||
%{_datadir}/applications/ca.desrt.dconf-editor.desktop
|
||||
%{_datadir}/dbus-1/services/ca.desrt.dconf-editor.service
|
||||
%{_datadir}/glib-2.0/schemas/ca.desrt.dconf-editor.gschema.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/dconf-editor.png
|
||||
%{_datadir}/icons/HighContrast/
|
||||
|
||||
%{_mandir}/man1/dconf-editor.1%{?ext_man}
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
%doc %{_datadir}/gtk-doc/html/dconf/
|
||||
|
Loading…
Reference in New Issue
Block a user