1 |
%define pkgname GConf |
2 |
%define api_version 2 |
3 |
%define lib_major 4 |
4 |
%define lib_name %mklibname %{name}_ %{lib_major} |
5 |
%define lib_namedev %mklibname -d %{name} |
6 |
|
7 |
# Version of required packages |
8 |
%define req_orbit_version 2.4.0 |
9 |
%define req_glib_version 2.25.12 |
10 |
|
11 |
%define giolibname %mklibname gio2.0_ 0 |
12 |
Summary: A configuration database system for GNOME 2 |
13 |
Name: %{pkgname}%{api_version} |
14 |
Version: 2.32.0 |
15 |
Release: %mkrel 1 |
16 |
License: LGPLv2+ |
17 |
Group: Graphical desktop/GNOME |
18 |
URL: http://www.gnome.org/projects/gconf/ |
19 |
BuildRoot: %{_tmppath}/%{name}-%{version}-root |
20 |
|
21 |
Source0: ftp://ftp.gnome.org/pub/GNOME/sources/%{pkgname}/%{pkgname}-%{version}.tar.bz2 |
22 |
Source1: gconf.sh |
23 |
Source2: gconf.csh |
24 |
Source3: gconf-schemas.filter |
25 |
Source4: gconf-schemas.script |
26 |
# (fc) reload database when schemas are installed/uninstalled (GNOME bug #328697) |
27 |
Patch1: GConf-2.12.1-reload.patch |
28 |
Conflicts: GConf < 1.0.6 |
29 |
BuildRequires: libglib2.0-devel >= %{req_glib_version} |
30 |
BuildRequires: libxml2-devel |
31 |
BuildRequires: libgtk+2-devel |
32 |
BuildRequires: polkit-1-devel |
33 |
BuildRequires: libORBit2-devel >= %{req_orbit_version} |
34 |
BuildRequires: dbus-glib-devel |
35 |
BuildRequires: autoconf2.5 |
36 |
BuildRequires: gtk-doc |
37 |
BuildRequires: intltool |
38 |
BuildRequires: libldap-devel |
39 |
BuildRequires: gobject-introspection-devel |
40 |
Requires: polkit-agent |
41 |
Requires: %{lib_name} = %{version} |
42 |
# needed by patch1 |
43 |
Requires: psmisc |
44 |
Requires: sed |
45 |
Requires(post): update-alternatives |
46 |
|
47 |
%description |
48 |
GConf is a configuration data storage mechanism scheduled to |
49 |
ship with GNOME 2.0. GConf does work without GNOME however; it |
50 |
can be used with plain GTK+, Xlib, KDE, or even text mode |
51 |
applications as well. |
52 |
|
53 |
%package sanity-check |
54 |
Summary: Sanity checker for %{pkgname}%{api_version} |
55 |
Group: %{group} |
56 |
Conflicts: %name < 2.21.90-2mdv |
57 |
|
58 |
%description sanity-check |
59 |
gconf-sanity-check is a tool to check the sanity of a %{pkgname}%{api_version} |
60 |
installation. |
61 |
|
62 |
%package -n %{lib_name} |
63 |
Summary: %{summary} |
64 |
Group: System/Libraries |
65 |
Provides: lib%{name} >= %{version}-%{release} |
66 |
Requires: %{name} >= %{version} |
67 |
Requires: libORBit2 >= %{req_orbit_version} |
68 |
Conflicts: gir-repository < 0.6.5-12 |
69 |
Requires(post): %giolibname >= 2.23.4-2mdv |
70 |
Requires(postun): %giolibname >= 2.23.4-2mdv |
71 |
|
72 |
%description -n %{lib_name} |
73 |
GConf is a configuration data storage mechanism scheduled to |
74 |
ship with GNOME 2.0. GConf does work without GNOME however; it |
75 |
can be used with plain GTK+, Xlib, KDE, or even text mode |
76 |
applications as well. |
77 |
|
78 |
This package contains necessary libraries to run any programs linked |
79 |
with GConf. |
80 |
|
81 |
%package -n %{lib_namedev} |
82 |
Summary: Development libraries and headers for GConf |
83 |
Group: Development/GNOME and GTK+ |
84 |
Conflicts: libGConf1-devel < 1.0.6 |
85 |
Provides: lib%{name}-devel = %{version}-%{release} |
86 |
Requires: %{lib_name} = %{version} |
87 |
Requires: %name-sanity-check = %version |
88 |
Requires: libORBit2-devel |
89 |
Requires: libglib2-devel >= %{req_glib_version} |
90 |
Requires: dbus-glib-devel |
91 |
Obsoletes: %mklibname -d %{name}_ 4 |
92 |
Conflicts: gir-repository < 0.6.5-12 |
93 |
|
94 |
%description -n %{lib_namedev} |
95 |
GConf is a configuration data storage mechanism scheduled to |
96 |
ship with GNOME 2.0. GConf does work without GNOME however; it |
97 |
can be used with plain GTK+, Xlib, KDE, or even text mode |
98 |
applications as well. |
99 |
|
100 |
This package contains the header files and libraries needed to develop |
101 |
applications using GConf. |
102 |
|
103 |
%prep |
104 |
%setup -q -n %{pkgname}-%{version} |
105 |
%apply_patches |
106 |
|
107 |
%build |
108 |
# <mrl> 20080110 texpdf is currently fork-bombing :( |
109 |
%configure2_5x --disable-gtk-doc |
110 |
|
111 |
%make |
112 |
|
113 |
make check |
114 |
|
115 |
%install |
116 |
rm -rf $RPM_BUILD_ROOT |
117 |
|
118 |
%makeinstall_std |
119 |
|
120 |
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d |
121 |
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/gconf.sh |
122 |
install -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/gconf.csh |
123 |
|
124 |
mkdir %{buildroot}%{_sysconfdir}/gconf/schemas |
125 |
|
126 |
# Provide /usr/lib/gconfd-2 symlink on lib64 platforms |
127 |
%if "%{_lib}" != "lib" |
128 |
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib |
129 |
ln -s ../%{_lib}/gconfd-%{api_version} $RPM_BUILD_ROOT%{_prefix}/lib/gconfd-%{api_version} |
130 |
%endif |
131 |
|
132 |
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gconf/{gconf.xml.local-defaults,gconf.xml.local-mandatory,gconf.xml.system} |
133 |
|
134 |
cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/gconf/2/local-defaults.path |
135 |
xml:readonly:/etc/gconf/gconf.xml.local-defaults |
136 |
include "\$(HOME)/.gconf.path.defaults" |
137 |
EOF |
138 |
|
139 |
cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/gconf/2/local-mandatory.path |
140 |
xml:readonly:/etc/gconf/gconf.xml.local-mandatory |
141 |
include "\$(HOME)/.gconf.path.mandatory" |
142 |
EOF |
143 |
|
144 |
# automatic install of gconf schemas on rpm installs |
145 |
# (see http://wiki.mandriva.com/en/Rpm_filetriggers) |
146 |
install -d %buildroot%{_var}/lib/rpm/filetriggers |
147 |
install -m 644 %{SOURCE3} %buildroot%{_var}/lib/rpm/filetriggers |
148 |
install -m 755 %{SOURCE4} %buildroot%{_var}/lib/rpm/filetriggers |
149 |
|
150 |
%{find_lang} %{name} |
151 |
|
152 |
# remove unpackaged files |
153 |
rm -f $RPM_BUILD_ROOT%{_libdir}/{gio/modules/,GConf/%{api_version}}/*.a |
154 |
|
155 |
%clean |
156 |
rm -rf %{buildroot} |
157 |
|
158 |
# remove buggy symlink |
159 |
%post |
160 |
update-alternatives --install %{_bindir}/gconftool gconftool /usr/bin/gconftool-%{api_version} 20 |
161 |
if [ "$1" = "2" ]; then |
162 |
update-alternatives --auto gconftool |
163 |
fi |
164 |
|
165 |
%triggerpostun -- GConf2 < 2.22.0-4mdv |
166 |
GCONF_CONFIG_SOURCE=`%{_bindir}/gconftool-2 --get-default-source` %{_bindir}/gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/*.schemas > /dev/null |
167 |
|
168 |
%post -n %{lib_name} |
169 |
%if %_lib != lib |
170 |
%{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules |
171 |
%else |
172 |
%{_bindir}/gio-querymodules-32 %{_libdir}/gio/modules |
173 |
%endif |
174 |
|
175 |
%postun -n %{lib_name} |
176 |
if [ "$1" = "0" ]; then |
177 |
%if %_lib != lib |
178 |
%{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules |
179 |
%else |
180 |
%{_bindir}/gio-querymodules-32 %{_libdir}/gio/modules |
181 |
%endif |
182 |
fi |
183 |
|
184 |
%files -f %{name}.lang |
185 |
%defattr(-, root, root) |
186 |
%doc README |
187 |
%config(noreplace) %{_sysconfdir}/profile.d/* |
188 |
%config(noreplace) %_sysconfdir/dbus-1/system.d/org.gnome.GConf.Defaults.conf |
189 |
%_sysconfdir/xdg/autostart/gsettings-data-convert.desktop |
190 |
%_bindir/gsettings-data-convert |
191 |
%_bindir/gsettings-schema-convert |
192 |
%{_bindir}/gconftool* |
193 |
%{_bindir}/gconf-merge-tree |
194 |
%_mandir/man1/gconftool-2.1* |
195 |
%_mandir/man1/gsettings-data-convert.1* |
196 |
%_mandir/man1/gsettings-schema-convert.1* |
197 |
%if "%{_lib}" != "lib" |
198 |
%{_prefix}/lib/gconfd-%{api_version} |
199 |
%endif |
200 |
%{_libexecdir}/gconfd-%{api_version} |
201 |
%{_libexecdir}/gconf-defaults-mechanism |
202 |
%dir %{_libdir}/GConf |
203 |
%dir %{_libdir}/GConf/%{api_version} |
204 |
%{_libdir}/GConf/%{api_version}/*.so |
205 |
%config(noreplace) %{_sysconfdir}/gconf/%{api_version} |
206 |
%dir %{_sysconfdir}/gconf |
207 |
%dir %{_sysconfdir}/gconf/gconf.xml* |
208 |
%dir %{_sysconfdir}/gconf/schemas |
209 |
%{_datadir}/polkit-1/actions/org.gnome.gconf.defaults.policy |
210 |
%{_datadir}/sgml/gconf |
211 |
%{_datadir}/GConf |
212 |
%{_datadir}/dbus-1/services/org.gnome.GConf.service |
213 |
%{_datadir}/dbus-1/system-services/org.gnome.GConf.Defaults.service |
214 |
%{_var}/lib/rpm/filetriggers/gconf-schemas.* |
215 |
|
216 |
# (blino) split gconf-sanity-check not to require gtk in GConf2 |
217 |
%files sanity-check |
218 |
%{_libexecdir}/gconf-sanity-check-%{api_version} |
219 |
|
220 |
%files -n %{lib_name} |
221 |
%defattr(-, root, root) |
222 |
%doc README |
223 |
%{_libdir}/lib*.so.* |
224 |
%_libdir/gio/modules/libgsettingsgconfbackend.so |
225 |
%_libdir/gio/modules/libgsettingsgconfbackend.la |
226 |
%_libdir/girepository-1.0/GConf-2.0.typelib |
227 |
|
228 |
%files -n %{lib_namedev} |
229 |
%defattr (-, root, root) |
230 |
%doc ChangeLog TODO NEWS AUTHORS |
231 |
%doc %{_datadir}/gtk-doc/html/* |
232 |
%{_datadir}/aclocal/* |
233 |
%{_includedir}/* |
234 |
%{_libdir}/*.so |
235 |
%attr(644,root,root) %{_libdir}/*a |
236 |
%{_libdir}/pkgconfig/* |
237 |
%attr(644,root,root) %{_libdir}/GConf/%{api_version}/*.la |
238 |
%_datadir/gir-1.0/GConf-2.0.gir |
239 |
|
240 |
|
241 |
|
242 |
|