dconf/dconf.spec

148 lines
4.7 KiB
RPMSpec
Raw Normal View History

#
# spec file for package dconf
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: dconf
Version: 0.40.0
Release: 0
Summary: Key-based configuration system
License: LGPL-2.1-or-later
Group: System/Libraries
URL: https://live.gnome.org/dconf
Source0: https://download.gnome.org/sources/dconf/0.40/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM 0001-gvdb-Restore-permissions-on-changed-files.patch bsc#971074 bgo#758066 bsc#1203344 fezhang@suse.com -- Restore permissions on files changed by dconf update.
Patch0: 0001-gvdb-Restore-permissions-on-changed-files.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: gtk-doc
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: vala >= 0.18.0
BuildRequires: xsltproc
Accepting request 635391 from GNOME:Next - Update to version 0.30.0: + No changes, stable bump only. - Update to version 0.29.2: + Service: When corrupt GVDB files are found, they are now transparently backed up and replaced with an empty database. + Replace all hard-coded /etc path with sysconfdir. This is useful for JHBuild environments and systems that don't want to use /etc/dconf. + Engine: Change overflow thresholds in subscription counts from GMAXUINT32 to GMAXUINT. + Change meson flag used to build Gtk-Doc from enable-gtk-doc to gtk_doc. + Declare libdconf_service as a dependency to fix the build in massively parallelised environments. - Change options passed to meson following upstreams changes, now passing bash_completion=true, man=true and gtk_doc=true. - Update to version 0.29.1: + Engine: track in progress watch handles to avoid spurious changed signals for the root path. Subscription requests are no longer sent if the engine is already subscribed to the given path. In the case that some value changes while a subscription request is in progress, a changed signal is only sent for the path being subscribed to instead of the root path. + Engine: fix deadlock which occured when using the engine from libsoup within flatpak by extending the existing workaround for Glib issue. GSocket and various other GObject types are now also initialised in the main thread. + Add transfer annotations to the GTK-Doc strings for functions in the dconf_changeset_* and dconf_client_* namespaces. + Update GVDB subtree from GVDB master, containing mostly documentation improvements. + dconf-update.vala: correct error message grammar. + Various meson related improvements. + Add GitLab CI. + Service: Port from the deprecated g_type_class_add_private() to G_ADD_PRIVATE(). - Add pkgconfig(dbus-1) and pkgconfig(bash-completion) BuildRequires: New dependencies. - Drop dbus-1 BuildRequires, full devel package is now needed. OBS-URL: https://build.opensuse.org/request/show/635391 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/dconf?expand=0&rev=101
2018-09-17 05:14:55 +02:00
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.44.0
BuildRequires: pkgconfig(gobject-introspection-1.0)
# 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
%description
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.
%package -n libdconf1
Summary: Key-based configuration system
# The library doesn't really work if the dconf service is not reachable, so we
# need a Requires
Group: System/Libraries
Requires: %{name} >= %{version}
# libdconf-dbus-1-0 is no longer supported with dconf 0.25.x+
Obsoletes: libdconf-dbus-1-0 < %{version}
%description -n libdconf1
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.
%package -n gsettings-backend-dconf
Summary: GSettings integration of the dconf key-based configuration system
Group: System/Libraries
Requires: %{name} >= %{version}
# We really want this to be used as the default GSettings backend
Supplements: libgio-2_0-0
%{glib2_gio_module_requires}
%description -n gsettings-backend-dconf
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 GSettings backend that uses dconf to store
the settings.
%package devel
Summary: Development files for dconf, a key-based configuration system
Group: Development/Libraries/GNOME
Requires: libdconf1 = %{version}
# The libdbus-1 backend has been removed. Dconf now always uses GDBus (since 0.25.x)
Obsoletes: libdconf-dbus-devel < %{version}
%description devel
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.
%prep
Accepting request 635391 from GNOME:Next - Update to version 0.30.0: + No changes, stable bump only. - Update to version 0.29.2: + Service: When corrupt GVDB files are found, they are now transparently backed up and replaced with an empty database. + Replace all hard-coded /etc path with sysconfdir. This is useful for JHBuild environments and systems that don't want to use /etc/dconf. + Engine: Change overflow thresholds in subscription counts from GMAXUINT32 to GMAXUINT. + Change meson flag used to build Gtk-Doc from enable-gtk-doc to gtk_doc. + Declare libdconf_service as a dependency to fix the build in massively parallelised environments. - Change options passed to meson following upstreams changes, now passing bash_completion=true, man=true and gtk_doc=true. - Update to version 0.29.1: + Engine: track in progress watch handles to avoid spurious changed signals for the root path. Subscription requests are no longer sent if the engine is already subscribed to the given path. In the case that some value changes while a subscription request is in progress, a changed signal is only sent for the path being subscribed to instead of the root path. + Engine: fix deadlock which occured when using the engine from libsoup within flatpak by extending the existing workaround for Glib issue. GSocket and various other GObject types are now also initialised in the main thread. + Add transfer annotations to the GTK-Doc strings for functions in the dconf_changeset_* and dconf_client_* namespaces. + Update GVDB subtree from GVDB master, containing mostly documentation improvements. + dconf-update.vala: correct error message grammar. + Various meson related improvements. + Add GitLab CI. + Service: Port from the deprecated g_type_class_add_private() to G_ADD_PRIVATE(). - Add pkgconfig(dbus-1) and pkgconfig(bash-completion) BuildRequires: New dependencies. - Drop dbus-1 BuildRequires, full devel package is now needed. OBS-URL: https://build.opensuse.org/request/show/635391 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/dconf?expand=0&rev=101
2018-09-17 05:14:55 +02:00
%autosetup -p1
%build
%meson \
Accepting request 635391 from GNOME:Next - Update to version 0.30.0: + No changes, stable bump only. - Update to version 0.29.2: + Service: When corrupt GVDB files are found, they are now transparently backed up and replaced with an empty database. + Replace all hard-coded /etc path with sysconfdir. This is useful for JHBuild environments and systems that don't want to use /etc/dconf. + Engine: Change overflow thresholds in subscription counts from GMAXUINT32 to GMAXUINT. + Change meson flag used to build Gtk-Doc from enable-gtk-doc to gtk_doc. + Declare libdconf_service as a dependency to fix the build in massively parallelised environments. - Change options passed to meson following upstreams changes, now passing bash_completion=true, man=true and gtk_doc=true. - Update to version 0.29.1: + Engine: track in progress watch handles to avoid spurious changed signals for the root path. Subscription requests are no longer sent if the engine is already subscribed to the given path. In the case that some value changes while a subscription request is in progress, a changed signal is only sent for the path being subscribed to instead of the root path. + Engine: fix deadlock which occured when using the engine from libsoup within flatpak by extending the existing workaround for Glib issue. GSocket and various other GObject types are now also initialised in the main thread. + Add transfer annotations to the GTK-Doc strings for functions in the dconf_changeset_* and dconf_client_* namespaces. + Update GVDB subtree from GVDB master, containing mostly documentation improvements. + dconf-update.vala: correct error message grammar. + Various meson related improvements. + Add GitLab CI. + Service: Port from the deprecated g_type_class_add_private() to G_ADD_PRIVATE(). - Add pkgconfig(dbus-1) and pkgconfig(bash-completion) BuildRequires: New dependencies. - Drop dbus-1 BuildRequires, full devel package is now needed. OBS-URL: https://build.opensuse.org/request/show/635391 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/dconf?expand=0&rev=101
2018-09-17 05:14:55 +02:00
-Dbash_completion=true \
-Dman=true \
-Dgtk_doc=true \
%{nil}
%meson_build
%install
%meson_install
mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db}
%post -n libdconf1 -p /sbin/ldconfig
%postun -n libdconf1 -p /sbin/ldconfig
%post -n gsettings-backend-dconf
%{glib2_gio_module_post}
%postun -n gsettings-backend-dconf
%{glib2_gio_module_postun}
%files
%license COPYING
%doc NEWS README
# small utility to read values in the database
%{_bindir}/dconf
# service is needed for write
%{_libexecdir}/dconf-service
%{_datadir}/dbus-1/services/ca.desrt.dconf.service
# Bash completion helper
%{_datadir}/bash-completion/completions/dconf
%{_mandir}/man[17]/dconf.[17]%{ext_man}
%{_mandir}/man1/dconf-service.1%{?ext_man}
# alternative databases
%{_sysconfdir}/dconf/
%{_userunitdir}/dconf.service
%files -n libdconf1
%{_libdir}/libdconf.so.*
%files -n gsettings-backend-dconf
%{_libdir}/gio/modules/libdconfsettings.so
%files devel
%doc HACKING
%doc %{_datadir}/gtk-doc/html/dconf/
%{_includedir}/dconf/
%{_libdir}/libdconf.so
%{_libdir}/pkgconfig/dconf.pc
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/dconf.*
%changelog