File gconf2.spec of Package gconf2

#
# spec file for package gconf2
#
# Copyright (c) 2017 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:           gconf2
BuildRequires:  dbus-1-glib-devel
BuildRequires:  gobject-introspection-devel
BuildRequires:  gtk3-devel
BuildRequires:  intltool
BuildRequires:  libidl-devel
BuildRequires:  libxml2-devel
BuildRequires:  polkit-devel
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
Url:            http://www.gnome.org/
%define _name GConf
Version:        3.2.6
Release:        0
Summary:        GNOME Configuration Database System
License:        GPL-2.0+ and LGPL-2.1+
Group:          System/GUI/GNOME
Source:         http://download.gnome.org/sources/GConf/3.2/%{_name}-%{version}.tar.xz
# Generic tool, not upstreamed:
Source1:        gconftool-rebuild
# RPM specific macros:
Source2:        macros.gconf2
Source99:       baselibs.conf
# PATCH-FIX-OPENSUSE gconf2-gconftool-reload.patch -- Include sabayon paths to the default configuration. Simplifies scriptlets:
Patch2:         gconf2-gconftool-reload.patch
# PATCH-FIX-OPENSUSE gconf2-schemas-path.patch
Patch3:         gconf2-schemas-path.patch
# PATCH-FIX-OPENSUSE gconf2-sabayon.patch
Patch4:         gconf2-sabayon.patch
# PATCH-FIX-OPENSUSE gconf2-pk-default-path.patch vuntz@novell.com -- Use the right gconf path for the defaults in the pk helper
Patch5:         gconf2-pk-default-path.patch
# PATCH-FIX-UPSTREAM gconf2-pass-warning-to-caller.patch bnc#872110 dliang@suse.com
Patch6:         gconf2-pass-warning-to-caller.patch
# PATCH-FIX-OPENSUSE gconf2-fdatasync.patch mgorse@suse.com bsc#909045 -- Use fdatasync instead of fsync, and only if not installing
Patch7:         gconf2-fdatasync.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Recommends:     %{name}-lang = %{version}
# gconf-sanity-check was dropped by upstream in GConf 3.2.6
Obsoletes:      gconf-sanity-check < %{version}

%description
GConf is a configuration database system for storing application
preferences. It supports default or mandatory settings set by the
administrator, and changes to the database are instantly applied to all
running applications. It is written for the GNOME desktop but doesn't
require it.

%package -n gconf-polkit
Summary:        GNOME Configuration Database System - PolicyKit service
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:polkit)

%description -n gconf-polkit
GConf is a configuration database system for storing application
preferences. It supports default or mandatory settings set by the
administrator, and changes to the database are instantly applied to all
running applications. It is written for the GNOME desktop but doesn't
require it.

This package contains the PolicyKit service that allows to edit the
system-wide defaults from a user session.

%package devel
Summary:        Include files and libraries mandatory for development
Group:          Development/Libraries/GNOME
Requires:       %{name} = %{version}
# For gsettings-schema-convert:
Requires:       python
Recommends:     python-lxml
Provides:       gconf2-doc = %{version}
Obsoletes:      gconf2-doc < %{version}

%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.

%lang_package
%prep
%setup -q -n %{_name}-%{version}
translation-update-upstream
%patch2 -p0
%patch3
%patch4
%patch5 -p1
%patch6 -p1
%patch7 -p1
cp -a %{S:1} %{S:2} .

%build
%configure --with-pic\
	--libexecdir=%{_libexecdir}/GConf/2\
	--disable-static \
        --with-gtk=3.0 \
        --disable-orbit
make %{?jobs:-j%jobs}

%install
%makeinstall
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
find %{buildroot} -name '*.la' -delete -print
%find_lang %{_name}2
%suse_update_desktop_file gsettings-data-convert
# Empty dir for schemas.
mkdir -p %{buildroot}%{_datadir}/GConf/schemas
mkdir -p %{buildroot}%{_sysconfdir}/gconf/gconf.xml.mandatory
mkdir -p %{buildroot}%{_sysconfdir}/gconf/gconf.xml.schemas
mkdir -p %{buildroot}%{_sysconfdir}/gconf/gconf.xml.system
mkdir -p %{buildroot}%{_sysconfdir}/gconf/gconf.xml.vendor
mkdir -p %{buildroot}%{_sysconfdir}/gconf/gconf.xml.defaults
# Directory for gsettings-data-convert
mkdir -p %{buildroot}%{_datadir}/GConf/gsettings
# Install gconftool-rebuild
install gconftool-rebuild %{buildroot}%{_bindir}
echo xml:merged:%{_sysconfdir}/gconf/gconf.xml.schemas >%{buildroot}%{_sysconfdir}/gconf/schema-install-source
# Install rpm macros
mkdir -p %{buildroot}%{_sysconfdir}/rpm
cp macros.gconf2 %{buildroot}%{_sysconfdir}/rpm

%pre
# FIXME: We should probably remove this entire section for 11.3 (Checked my mboman@suse.de, 2009-02-21)
# Remove probably obsolete /etc/opt/gnome/gconf/schemas and above.
# Needed only for old->10.3->11.x update scenario (now fixed in opt_gnome-compat).
rmdir --ignore-fail-on-non-empty etc/opt/gnome/gconf/schemas 2>/dev/null || :
rmdir --ignore-fail-on-non-empty etc/opt/gnome/gconf 2>/dev/null || :
rmdir --ignore-fail-on-non-empty etc/opt/gnome 2>/dev/null || :
# FIXME: remove this section for 12.2 (we deprecated /etc/gconf/schemas in favor if /usr/share/gconf/schemas during development of 11.2)
rmdir --ignore-fail-on-non-empty etc/gconf/schemas 2>/dev/null || :
# FIXME: remove this section for 11.4+3 (we deprecated /usr/share/gconf/schemas in favor if /usr/share/GConf/schemas during development of 11.4)
rmdir --ignore-fail-on-non-empty usr/share/gconf/schemas 2>/dev/null || :

%post
/sbin/ldconfig
# FIXME: Consider removing the rest of this section for 12.2:
# If it is an update from SuSE Linux version causing orphan files,
# avoid orphan GConf database keys. (#48114).
# Worked-around by database rebuild from scratch after each update of
# gconf2 package at the cost of extra time.
# http://bugzilla.gnome.org/show_bug.cgi?id=306924
# Since SuSE Linux 10.3, scriptlets are correct, but we have to provide
# upgrade protection for third party packages with broken scriptlets
# for a long time.
# During openSUSE 11.2 development, we moved to a merged xml file.
usr/bin/gconftool-rebuild

%postun
/sbin/ldconfig
# No other gconf instance exist and schemas directory, too.
# Delete gconf.xml.schemas and keep others (they can contain local
# customization).
# WARNING: If this package will be renamed to gconf and upgraded from <=9.0,
# the directory /etc/opt/gnome/gconf will be deleted by mistake.
# FIXME: remove test for etc/gconf/schemas for 12.2
if test $1 = 0 -a ! \( -d etc/gconf/schemas -o -d usr/share/gconf/schemas \) ; then
    rm -rf etc/gconf/gconf.xml.schemas
fi

%clean
rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README
%{_bindir}/gconf-merge-tree
%{_bindir}/gconftool-2
%{_bindir}/gconftool-rebuild
%{_bindir}/gsettings-data-convert
%doc %{_mandir}/man1/gconftool-2.1*
%doc %{_mandir}/man1/gsettings-data-convert.1*
%{_datadir}/dbus-1/services/org.gnome.GConf.service
%{_libdir}/girepository-1.0/GConf-2.0.typelib
%{_datadir}/sgml/gconf
%{_libdir}/*.so.*
%dir %{_libdir}/GConf
%dir %{_libdir}/GConf/2
%{_libdir}/GConf/2/*.so*
%if "%{_libdir}" != "%{_libexecdir}"
%dir %{_libexecdir}/GConf
%dir %{_libexecdir}/GConf/2
%endif
%{_libexecdir}/GConf/2/gconfd-2
%{_libdir}/gio/modules/libgsettingsgconfbackend.so
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%dir %{_datadir}/GConf/schemas
%dir %{_sysconfdir}/gconf
%dir %{_sysconfdir}/gconf/gconf.xml.defaults
%dir %{_sysconfdir}/gconf/gconf.xml.mandatory
%dir %{_sysconfdir}/gconf/gconf.xml.vendor
%dir %{_sysconfdir}/gconf/gconf.xml.system
%dir %{_sysconfdir}/gconf/gconf.xml.schemas
%{_sysconfdir}/gconf/schema-install-source
%config %{_sysconfdir}/gconf/2/
%{_sysconfdir}/xdg/autostart/gsettings-data-convert.desktop

%files -n gconf-polkit
%defattr(-, root, root)
%{_libexecdir}/GConf/2/gconf-defaults-mechanism
%{_datadir}/dbus-1/system-services/org.gnome.GConf.Defaults.service
%{_datadir}/polkit-1/actions/org.gnome.gconf.defaults.policy
%{_sysconfdir}/dbus-1/system.d/org.gnome.GConf.Defaults.conf

%files lang -f %{_name}2.lang

%files devel
%defattr(-, root, root)
%doc %{_datadir}/gtk-doc/html/gconf/
%{_datadir}/aclocal/gconf-2.m4
%{_datadir}/gir-1.0/GConf-2.0.gir
%{_includedir}/gconf/
%{_libdir}/*.so
%{_libdir}/pkgconfig/gconf-2.0.pc
%{_bindir}/gsettings-schema-convert
%{_mandir}/man1/gsettings-schema-convert.1*
%{_sysconfdir}/rpm/macros.gconf2

%changelog
openSUSE Build Service is sponsored by