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