dconf/dconf.spec
Bjørn Lie c187a1fb73 Accepting request 420585 from home:zhangxiaofei:branches:GNOME:Factory
- Add 0001-gvdb-Restore-permissions-on-changed-files.patch:
  'dconf update' writes new contents into temporary file and
  renames it to the original one, resulting permission
  inconsistencies if umask has been changed before that. The patch
  restores the changed permissions (bsc#971074, bgo#758066).

OBS-URL: https://build.opensuse.org/request/show/420585
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/dconf?expand=0&rev=91
2016-08-22 13:05:01 +00:00

159 lines
5.0 KiB
RPMSpec

#
# spec file for package dconf
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: dconf
Version: 0.26.0
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.26/%{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM 0001-gvdb-Restore-permissions-on-changed-files.patch bsc#971074 bgo#758066 fezhang@suse.com -- Restore permissions on files changed by dconf update.
Patch0: 0001-gvdb-Restore-permissions-on-changed-files.patch
# For directory ownership
BuildRequires: dbus-1
BuildRequires: docbook-xsl-stylesheets
BuildRequires: intltool >= 0.50.0
BuildRequires: update-desktop-files
BuildRequires: vala >= 0.18.0
BuildRequires: xsltproc
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.44.0
BuildRequires: pkgconfig(gobject-introspection-1.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
%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: Simple key-based configuration system -- Library
Group: System/Libraries
# The library doesn't really work if the dconf service is not reachable, so we
# need a Requires
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: Simple key-based configuration system -- GSettings Backend
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: Simple key-based configuration system -- Development Files
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
%setup -q
%patch0 -p1
%if 0%{?BUILD_FROM_VCS}
[ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
%endif
%build
%configure \
%if 0%{?BUILD_FROM_VCS}
--enable-gtk-doc
%endif
%__make V=1 %{?_smp_mflags}
%install
%makeinstall
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
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
%defattr(-, root, root)
%doc COPYING NEWS
# 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/
%files -n libdconf1
%defattr(-, root, root)
%{_libdir}/libdconf.so.*
%files -n gsettings-backend-dconf
%defattr(-, root, root)
%{_libdir}/gio/modules/libdconfsettings.so
%files devel
%defattr(-, root, root)
%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