+#
+# TODO:
+# - update documentation to follow changes introduced in Patch0
+#
+# Conditional build:
+%bcond_without static_libs # don't build static libraries
+#
Summary: GNOME2 configuration database system
-Summary(pl): System konfiguracyjnej bazy danych dla GNOME2
-Summary(pt_BR): Sistema de Configuração do GNOME2
-Summary(ru): óÉÓÔÅÍÁ ËÏÎÆÉÇÕÒÁÃÉÉ Gnome
+Summary(pl.UTF-8): System konfiguracyjnej bazy danych dla GNOME 2
+Summary(pt_BR.UTF-8): Sistema de Configuração do GNOME 2
+Summary(ru.UTF-8): Система конфигурации GNOME 2
Name: GConf2
-Version: 2.4.0.1
-Release: 3
-License: LGPL
+Version: 2.24.0
+Release: 2
+License: LGPL v2+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/GConf/2.4/GConf-%{version}.tar.bz2
-# Source0-md5: 2f7548d0bad24d7c4beba54d0ec98a20
+Source0: http://ftp.gnome.org/pub/GNOME/sources/GConf/2.24/GConf-%{version}.tar.bz2
+# Source0-md5: 4971d96f5ba94fe4a69396267bd5afe8
Patch0: %{name}-NO_MAJOR_VERSION.patch
-Patch1: %{name}-am.patch
-Patch2: %{name}-path.patch
-Patch3: %{name}-am18.patch
-Patch4: %{name}-locale-names.patch
+Patch1: %{name}-path.patch
+Patch2: %{name}-reload.patch
URL: http://www.gnome.org/
-BuildRequires: ORBit2-devel >= 2.8.0
+BuildRequires: ORBit2-devel >= 1:2.14.9
+BuildRequires: PolicyKit-devel >= 0.9
BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: automake >= 1:1.9
BuildRequires: gettext-devel
-BuildRequires: gtk+2-devel >= 2.2.0
-BuildRequires: gtk-doc
-BuildRequires: glib2-devel >= 2.2.0
+BuildRequires: glib2-devel >= 1:2.18.0
+BuildRequires: gtk+2-devel >= 2:2.12.8
+BuildRequires: gtk-doc >= 1.8
+BuildRequires: intltool >= 0.36.2
BuildRequires: libtool
-BuildRequires: libxml2-devel >= 2.0
+BuildRequires: libxml2-devel >= 1:2.6.30
+BuildRequires: openldap-devel >= 2.4.6
+BuildRequires: perl-base
BuildRequires: pkgconfig
-BuildRequires: popt-devel
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+BuildRequires: rpmbuild(macros) >= 1.197
+Requires(post): findutils
+Requires: %{name}-libs = %{version}-%{release}
+Obsoletes: GConf2-xinitrc
Obsoletes: libGConf2
+# sr@Latn vs. sr@latin
+Conflicts: glibc-misc < 6:2.7
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
GConf2 is a configuration database system, functionally similar to the
GNOME2 desktop but does not require GNOME2; configure should notice if
GNOME2 is not installed and compile the basic GConf2 library anyway.
-%description -l pl
+%description -l pl.UTF-8
GConf2 jest systemem konfiguracyjnej bazy danych, funkcjonalnie
podobnej do rejestru Windows, ale o wiele lepszej :-). Jest pisana dla
desktopu GNOME2, ale nie wymaga GNOME2; skrypt configure powinien
-wykryæ brak GNOME2 i skompilowaæ tylko wersjê podstawow± GConf2.
+wykryć brak GNOME2 i skompilować tylko wersję podstawową GConf2.
+
+%description -l pt_BR.UTF-8
+Gconf2 é o sistema de banco de dados de configuração do GNOME2.
+
+%package libs
+Summary: GConf2 shared library
+Summary(pl.UTF-8): Biblioteka współdzielona GConf2
+Group: Libraries
+Requires: ORBit2 >= 1:2.14.9
+Requires: glib2 >= 1:2.18.0
+Conflicts: GConf2 < 2.24.0-2
+
+%description libs
+GConf2 shared library and gconftool utility (used both for
+configuration management and development purposes).
-%description -l pt_BR
-Gconf2 é o sistema de banco de dados de configuração do GNOME2.
+%description libs -l pl.UTF-8
+Biblioteka współdzielona GConf2 oraz narzędzie gconftool (używane
+zarówno przy zarządzaniu konfiguracją, jak i tworzeniu
+oprogramowania).
%package devel
-Summary: GConf2 includes, etc
-Summary(pl): Pliki nag³ówkowe GConf2
-Summary(pt_BR): Sistema de Configuração do GNOME2 - arquivos para desenvolvimento
-Group: X11/Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: ORBit2-devel >= 2.8.0
-Requires: gtk-doc-common
-Requires: libxml2-devel >= 2.0
+Summary: Header files for GConf2 library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GConf2
+Summary(pt_BR.UTF-8): Sistema de Configuração do GNOME2 - arquivos para desenvolvimento
+Group: Development/Libraries
+Requires: %{name}-libs = %{version}-%{release}
+Requires: ORBit2-devel >= 1:2.14.9
+Requires: libxml2-devel >= 1:2.6.30
Obsoletes: libGConf2-devel
%description devel
-GConf2 includes etc.
+Header files for GConf2 library.
-%description devel -l pl
-Pliki nag³ówkowe GConf2.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki GConf2.
-%description devel -l pt_BR
-Sistema de Configuração do GNOME2 - arquivos para desenvolvimento.
+%description devel -l pt_BR.UTF-8
+Sistema de Configuração do GNOME2 - arquivos para desenvolvimento.
%package static
Summary: GConf2 static libraries
-Summary(pl): Biblioteki statyczne GConf2
-Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com gconf2
-Group: X11/Development/Libraries
+Summary(pl.UTF-8): Biblioteki statyczne GConf2
+Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com gconf2
+Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
GConf2 static libraries.
-%description static -l pl
+%description static -l pl.UTF-8
Biblioteki statyczne GConf2.
-%description static -l pt_BR
-Bibliotecas estáticas para desenvolvimento com gconf
+%description static -l pt_BR.UTF-8
+Bibliotecas estáticas para desenvolvimento com gconf
+
+%package apidocs
+Summary: GConf2 API documentation
+Summary(pl.UTF-8): Dokumentacja API GConf2
+Group: Documentation
+Requires: gtk-doc-common
+
+%description apidocs
+GConf2 API documentation.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API GConf2.
+
+%package examples
+Summary: GConf2 - example programs
+Summary(pl.UTF-8): GConf2 - przykładowe programy
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description examples
+GConf2 - example programs.
+
+%description examples -l pl.UTF-8
+GConf2 - przykładowe programy.
+
+%package backend-evoldap
+Summary: Evolution Data Sources LDAP backend for GConf
+Summary(pl.UTF-8): Backend LDAP źródeł danych Evolution dla GConfa
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description backend-evoldap
+This is a special-purpose backend for GConf which enables default mail
+accounts, addressbooks and calendars for Evolution to be configured
+using each user's LDAP entry. By setting each user's mail address,
+incoming/outgoing mail server addresses and addressbook/calendar
+addresses in the user's LDAP entry, Evolution will be automatically
+configured to use these addresses.
+
+%description backend-evoldap -l pl.UTF-8
+To jest backend GConfa specjalnego przeznaczenia, pozwalający na
+konfigurowanie domyślnych kont pocztowych, książek adresowych i
+kalendarzy dla Evolution przy użyciu wpisu LDAP dla każdego
+użytkownika. Poprzez ustawienie każdemu użytkownikowi adres pocztowy,
+adresy serwerów poczty przychodzącej/wychodzącej oraz adresy książki
+adresowej i kalendarza w jego wpisie LDAP, Evolution zostanie
+automatycznie skonfigurowane do używania tych adresów.
%prep
%setup -q -n GConf-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-
-mv -f po/{no,nb}.po
%build
-rm -f acinclude.m4
-glib-gettextize --copy --force
+%{__gtkdocize}
+%{__glib_gettextize}
+%{__intltoolize}
%{__libtoolize}
%{__aclocal}
%{__autoheader}
-%{__automake}
%{__autoconf}
+%{__automake}
%configure \
- --with-html-dir=%{_gtkdocdir} \
-%ifarch ppc
- --disable-gtk-doc
-%else
- --enable-gtk-doc
-%endif
+ POLKIT_POLICY_FILE_VALIDATE=/usr/bin/polkit-policy-file-validate \
+ %{!?with_static_libs:--disable-static} \
+ --enable-gtk-doc \
+ --with-html-dir=%{_gtkdocdir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_aclocaldir},%{_sysconfdir}/gconf/schemas}
+install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{_sysconfdir}/gconf/schemas}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install gconf.m4 $RPM_BUILD_ROOT%{_aclocaldir}/gconf-2.m4
+cp examples/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp examples/*.schemas $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post
+umask 022
+for GCONF_DIR in %{_sysconfdir}/gconf/gconf.xml.mandatory %{_sysconfdir}/gconf/gconf.xml.defaults ;
+ do
+ GCONF_TREE=$GCONF_DIR/%gconf-tree.xml
+ if [ ! -f "$GCONF_TREE" ]; then
+ gconf-merge-tree "$GCONF_DIR"
+ chmod 644 "$GCONF_TREE"
+ find "$GCONF_DIR" -mindepth 1 -maxdepth 1 -type d -exec rm -rf \{\} \;
+ rm -f "$GCONF_DIR/%gconf.xml"
+ fi
+done
-%files -f %{name}.lang
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%files
%defattr(644,root,root,755)
-%doc AUTHORS README
-%attr(755,root,root) %{_bindir}/gconf*
-%attr(755,root,root) %{_libdir}/gconf-sanity-check-2
-%attr(755,root,root) %{_libdir}/gconfd-2
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%doc AUTHORS NEWS README
+%attr(755,root,root) %{_bindir}/gconf-merge-tree
+%attr(755,root,root) %{_libexecdir}/gconf-defaults-mechanism
+%attr(755,root,root) %{_libexecdir}/gconf-sanity-check-2
+%attr(755,root,root) %{_libexecdir}/gconfd-2
%dir %{_libdir}/GConf2
-%attr(755,root,root) %{_libdir}/GConf2/lib*.so
-%{_sysconfdir}/gconf
+%attr(755,root,root) %{_libdir}/GConf2/libgconfbackend-oldxml.so
+%attr(755,root,root) %{_libdir}/GConf2/libgconfbackend-xml.so
+%{_sysconfdir}/dbus-1/system.d/org.gnome.GConf.Defaults.conf
+%dir %{_sysconfdir}/gconf
+%dir %{_sysconfdir}/gconf/2
+%{_sysconfdir}/gconf/gconf.xml.*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gconf/path
+%dir %{_sysconfdir}/gconf/schemas
+%{_datadir}/PolicyKit/policy/org.gnome.gconf.defaults.policy
+%{_datadir}/dbus-1/services/org.gnome.GConf.service
+%{_datadir}/dbus-1/system-services/org.gnome.GConf.Defaults.service
+%dir %{_datadir}/GConf
+%dir %{_datadir}/GConf/schema
%{_datadir}/sgml/gconf
+%files libs -f %{name}.lang
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgconf-2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgconf-2.so.4
+%attr(755,root,root) %{_bindir}/gconftool-2
+%{_mandir}/man1/gconftool-2.1*
+
%files devel
%defattr(644,root,root,755)
%doc ChangeLog TODO
-%doc %{_gtkdocdir}/gconf
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
+%attr(755,root,root) %{_libdir}/libgconf-2.so
+%{_libdir}/libgconf-2.la
%{_includedir}/gconf2
-%{_aclocaldir}/*.m4
-%{_pkgconfigdir}/*.pc
+%{_aclocaldir}/gconf-2.m4
+%{_pkgconfigdir}/gconf-2.0.pc
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libgconf-2.a
+%endif
+
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/gconf
+
+%files examples
+%defattr(644,root,root,755)
+%{_examplesdir}/%{name}-%{version}
+
+%files backend-evoldap
+%defattr(644,root,root,755)
+%doc backends/README.evoldap
+%attr(755,root,root) %{_libdir}/GConf2/libgconfbackend-evoldap.so
+%{_datadir}/GConf/schema/evoldap.schema
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gconf/2/evoldap.conf