1 # TODO: PLDify init script
4 %bcond_with db # BerkeleyDB backend [slightly outdated]
5 %bcond_with gconf # GConf backend [same as above]
6 %bcond_with python # Python binding [same as above]
8 Summary: A key/value pair database to store software configurations
9 Summary(pl.UTF-8): Baza kluczy/wartości do przechowywania konfiguracji oprogramowania
14 Group: Applications/System
15 Source0: http://www.libelektra.org/ftp/elektra/releases/%{name}-%{version}.tar.gz
16 # Source0-md5: 29f14be7693ae627fb8cc30a079b10c9
17 Patch0: %{name}-elektraenv.patch
18 Patch1: %{name}-am.patch
19 URL: http://www.libelektra.org/
20 %{?with_gconf:BuildRequires: GConf2-devel}
21 BuildRequires: autoconf >= 2.59
22 BuildRequires: automake
23 %{?with_db:BuildRequires: db-devel}
24 BuildRequires: doxygen
25 BuildRequires: gettext-devel
26 BuildRequires: libstdc++-devel
27 BuildRequires: libltdl-devel
28 BuildRequires: libtool
29 BuildRequires: libxml2-devel
30 BuildRequires: libxslt-progs
31 BuildRequires: pkgconfig
32 %{?with_python:BuildRequires: python-devel}
33 Requires: %{name}-libs = %{version}-%{release}
35 # for /usr/share/sgml dir
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 %define _sbindir /sbin
44 The Elektra Project provides a framework to store generic
45 configuration data in an hierarchical key-value pair database, instead
46 of a human-readable only text file.
48 This way any software can read/save his configuration using a
49 consistent API. Also, applications can be aware of other applications
50 configurations, leveraging easy application integration.
52 %description -l pl.UTF-8
53 Projekt Elektra dostarcza szkielet do przechowywania typowych danych
54 konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
55 danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
57 W ten sposób oprogramowanie może odczytywać/zapisywać konfigurację za
58 pomocą spójnego API. Dodatkowo aplikacje mogą być zorientowane w
59 konfiguracji innych aplikacji, ułatwiając ich integrację.
62 Summary: Elektra Project libraries
63 Summary(pl.UTF-8): Biblioteki projektu Elektra
65 Conflicts: elektra < 0.7
68 The Elektra Project provides a framework to store generic
69 configuration data in an hierarchical key-value pair database, instead
70 of a human-readable only text file.
72 This way any software can read/save his configuration using a
73 consistent API. Also, applications can be aware of other applications
74 configurations, leveraging easy application integration.
76 This package contains Elektra shared libraries.
78 %description libs -l pl.UTF-8
79 Projekt Elektra dostarcza szkielet do przechowywania typowych danych
80 konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
81 danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
83 W ten sposób oprogramowanie może odczytywać/zapisywać konfigurację za
84 pomocą spójnego API. Dodatkowo aplikacje mogą być zorientowane w
85 konfiguracji innych aplikacji, ułatwiając ich integrację.
87 Ten pakiet zawiera biblioteki współdzielone Elektry.
90 Summary: Include files and API documentation for Elektra Project
91 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja API projektu Elektra
92 Group: Development/Libraries
93 Requires: %{name}-libs = %{version}-%{release}
96 This package contains the include files and API manual pages to use
99 %description devel -l pl.UTF-8
100 Ten pakiet zawiera pliki nagłówkowe oraz strony podręcznika
101 systemowego opisującego sposób użycia API Elektry w C.
104 Summary: Static libraries for Elektra Project
105 Summary(pl.UTF-8): Statyczne biblioteki projektu Elektra
106 Group: Development/Libraries
107 Requires: %{name}-devel = %{version}-%{release}
110 This package contains static libraries for Elektra Project.
112 %description static -l pl.UTF-8
113 Ten pakiet zawiera statyczne biblioteki projektu Elektra.
116 Summary: C++ interface for Elektra library
117 Summary(pl.UTF-8): Interfejs C++ do biblioteki Elektra
119 Requires: %{name}-libs = %{version}-%{release}
122 C++ interface for Elektra library.
124 %description cpp -l pl.UTF-8
125 Interfejs C++ do biblioteki Elektra.
128 Summary: Header files of C++ interface for Elektra library
129 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki Elektra
130 Group: Development/Libraries
131 Requires: %{name}-cpp = %{version}-%{release}
132 Requires: %{name}-libs = %{version}-%{release}
133 Requires: libstdc++-devel
135 %description cpp-devel
136 Header files of C++ interface for Elektra library.
138 %description cpp-devel -l pl.UTF-8
139 Pliki nagłówkowe interfejsu C++ do biblioteki Elektra.
142 Summary: Static library of C++ interface for Elektra library
143 Summary(pl.UTF-8): Biblioteka statyczna interfejsu C++ do biblioteki Elektra
144 Group: Development/Libraries
145 Requires: %{name}-cpp-devel = %{version}-%{release}
147 %description cpp-static
148 Static library of C++ interface for Elektra library.
150 %description cpp-static -l pl.UTF-8
151 Biblioteka statyczna interfejsu C++ do biblioteki Elektra.
159 cp -f /usr/share/gettext/config.rpath .
167 %{?with_db:--enable-berkeleydb} \
168 %{?with_gconf:--enable-gconf} \
170 %{?with_python:--enable-python}
171 # also outdated (as of 0.7.2): daemon, fstab
175 rm -rf $RPM_BUILD_ROOT
176 install -d $RPM_BUILD_ROOT/etc/sysconfig
179 DESTDIR=$RPM_BUILD_ROOT \
180 elektrainitdir=/etc/rc.d/init.d
182 %{!?with_berkeleydb:%{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/libelektra-ddefault.so}
186 install -d installed-doc
187 mv $RPM_BUILD_ROOT%{_docdir}/%{name}-devel installed-doc/elektra-api
188 mv $RPM_BUILD_ROOT%{_docdir}/%{name}/scripts installed-doc/scripts
189 rmdir $RPM_BUILD_ROOT%{_docdir}/%{name}
191 echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra
193 # move devel files to /usr
194 %{__mv} $RPM_BUILD_ROOT/%{_lib}/libelektra.a $RPM_BUILD_ROOT%{_libdir}
195 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelektra.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libelektra.so
196 %{__rm} $RPM_BUILD_ROOT/%{_lib}/libelektra.so
199 %{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/*.{la,a}
200 # obsoleted by pkg-config
201 %{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.la \
202 $RPM_BUILD_ROOT%{_libdir}/lib*.la
205 rm -rf $RPM_BUILD_ROOT
208 # Create basic key structure for apps
209 kdb set -t dir system/sw || :
210 kdb set system/sw/kdb/schemapath "%{_datadir}/sgml/elektra-0.7.1/elektra.xsd"
212 %post libs -p /sbin/ldconfig
213 %postun libs -p /sbin/ldconfig
215 %post cpp -p /sbin/ldconfig
216 %postun cpp -p /sbin/ldconfig
219 %defattr(644,root,root,755)
220 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/standards installed-doc/scripts
221 %attr(755,root,root) /bin/kdb
222 %attr(755,root,root) /bin/kdb_static
223 %attr(755,root,root) /bin/preload
224 %attr(755,root,root) /bin/preload_static
225 %dir /%{_lib}/elektra
226 %attr(755,root,root) /%{_lib}/elektra/libelektra-default.so
227 %attr(755,root,root) /%{_lib}/elektra/libelektra-filesys.so*
228 %attr(755,root,root) /%{_lib}/elektra/libelektra-hosts.so*
229 %attr(755,root,root) /%{_lib}/elektra/libelektra-passwd.so*
231 %attr(755,root,root) /%{_lib}/elektra/libelektra-berkeleydb.so*
232 %attr(755,root,root) /%{_lib}/elektra/libelektra-ddefault.so
235 %attr(755,root,root) /%{_lib}/elektra/libelektra-gconf.so*
237 %attr(754,root,root) /etc/rc.d/init.d/kdbd
238 %attr(755,root,root) /etc/profile.d/elektraenv.sh
239 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/elektra
240 %{_datadir}/sgml/elektra-0.7.1
241 %{_mandir}/man1/kdb.1*
242 %{_mandir}/man5/elektra.5*
243 %{_mandir}/man7/elektra.7*
246 %defattr(644,root,root,755)
247 %attr(755,root,root) /%{_lib}/libelektra.so.*.*.*
248 %attr(755,root,root) %ghost /%{_lib}/libelektra.so.3
249 %attr(755,root,root) %{_libdir}/libelektratools.so.*.*.*
250 %attr(755,root,root) %ghost %{_libdir}/libelektratools.so.2
253 %defattr(644,root,root,755)
254 %doc installed-doc/elektra-api/*
255 %attr(755,root,root) %{_libdir}/libelektra.so
256 %attr(755,root,root) %{_libdir}/libelektratools.so
257 %{_includedir}/kdb*.h
258 %{_pkgconfigdir}/elektra.pc
259 %{_pkgconfigdir}/elektratools.pc
260 %{_mandir}/man3/kdb*.3*
261 %{_mandir}/man3/key*.3*
264 %defattr(644,root,root,755)
265 %{_libdir}/libelektra.a
266 %{_libdir}/libelektratools.a
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/libelektra-cpp.so.*.*.*
271 %attr(755,root,root) %ghost %{_libdir}/libelektra-cpp.so.0
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_libdir}/libelektra-cpp.so
278 %{_includedir}/keyset
279 %{_pkgconfigdir}/elektracpp.pc
282 %defattr(644,root,root,755)
283 %{_libdir}/libelektra-cpp.a