- don't package key(3) man page, too generic and conflicting
[packages/elektra.git] / elektra.spec
CommitLineData
de7f9f03
JB
1# TODO: PLDify init script
2#
3# Conditonal build:
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]
7#
b511c548 8Summary: A key/value pair database to store software configurations
3afb30a1 9Summary(pl.UTF-8): Baza kluczy/wartości do przechowywania konfiguracji oprogramowania
08a1423c 10Name: elektra
de7f9f03 11Version: 0.7.2
69396d03 12Release: 2
08a1423c 13License: BSD
b511c548 14Group: Applications/System
de7f9f03
JB
15Source0: http://www.libelektra.org/ftp/elektra/releases/%{name}-%{version}.tar.gz
16# Source0-md5: 29f14be7693ae627fb8cc30a079b10c9
17Patch0: %{name}-elektraenv.patch
18Patch1: %{name}-am.patch
19URL: http://www.libelektra.org/
20%{?with_gconf:BuildRequires: GConf2-devel}
21BuildRequires: autoconf >= 2.59
22BuildRequires: automake
23%{?with_db:BuildRequires: db-devel}
24BuildRequires: doxygen
25BuildRequires: gettext-devel
26BuildRequires: libstdc++-devel
27BuildRequires: libltdl-devel
28BuildRequires: libtool
731cdbee 29BuildRequires: libxml2-devel
b0fec8fa 30BuildRequires: libxslt-progs
de7f9f03
JB
31BuildRequires: pkgconfig
32%{?with_python:BuildRequires: python-devel}
33Requires: %{name}-libs = %{version}-%{release}
731cdbee 34Requires: mktemp
ff4dd69b
JB
35# for /usr/share/sgml dir
36Requires: sgml-common
08a1423c 37Obsoletes: registry
a1ae6c6c 38BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
de7f9f03
JB
40%define _bindir /bin
41%define _sbindir /sbin
42
a1ae6c6c 43%description
b511c548 44The Elektra Project provides a framework to store generic
45configuration data in an hierarchical key-value pair database, instead
46of a human-readable only text file.
a1ae6c6c 47
48This way any software can read/save his configuration using a
49consistent API. Also, applications can be aware of other applications
50configurations, leveraging easy application integration.
51
9b93ecfb 52%description -l pl.UTF-8
ff4dd69b 53Projekt Elektra dostarcza szkielet do przechowywania typowych danych
9b93ecfb
JR
54konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
55danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
85fe0e6b 56
9b93ecfb
JR
57W ten sposób oprogramowanie może odczytywać/zapisywać konfigurację za
58pomocą spójnego API. Dodatkowo aplikacje mogą być zorientowane w
59konfiguracji innych aplikacji, ułatwiając ich integrację.
a1ae6c6c 60
de7f9f03
JB
61%package libs
62Summary: Elektra Project libraries
63Summary(pl.UTF-8): Biblioteki projektu Elektra
64Group: Libraries
65Conflicts: elektra < 0.7
a1ae6c6c 66
de7f9f03 67%description libs
b511c548 68The Elektra Project provides a framework to store generic
69configuration data in an hierarchical key-value pair database, instead
70of a human-readable only text file.
a1ae6c6c 71
72This way any software can read/save his configuration using a
73consistent API. Also, applications can be aware of other applications
74configurations, leveraging easy application integration.
75
de7f9f03 76This package contains Elektra shared libraries.
a1ae6c6c 77
de7f9f03 78%description libs -l pl.UTF-8
ff4dd69b 79Projekt Elektra dostarcza szkielet do przechowywania typowych danych
9b93ecfb
JR
80konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
81danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
85fe0e6b 82
9b93ecfb
JR
83W ten sposób oprogramowanie może odczytywać/zapisywać konfigurację za
84pomocą spójnego API. Dodatkowo aplikacje mogą być zorientowane w
85konfiguracji innych aplikacji, ułatwiając ich integrację.
85fe0e6b 86
de7f9f03
JB
87Ten pakiet zawiera biblioteki współdzielone Elektry.
88
89%package devel
90Summary: Include files and API documentation for Elektra Project
91Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja API projektu Elektra
92Group: Development/Libraries
93Requires: %{name}-libs = %{version}-%{release}
94
95%description devel
96This package contains the include files and API manual pages to use
97the Elektra API in C.
98
99%description devel -l pl.UTF-8
9b93ecfb
JR
100Ten pakiet zawiera pliki nagłówkowe oraz strony podręcznika
101systemowego opisującego sposób użycia API Elektry w C.
a1ae6c6c 102
b511c548 103%package static
de7f9f03
JB
104Summary: Static libraries for Elektra Project
105Summary(pl.UTF-8): Statyczne biblioteki projektu Elektra
85fe0e6b 106Group: Development/Libraries
de7f9f03 107Requires: %{name}-devel = %{version}-%{release}
a1ae6c6c 108
b511c548 109%description static
de7f9f03 110This package contains static libraries for Elektra Project.
a1ae6c6c 111
de7f9f03
JB
112%description static -l pl.UTF-8
113Ten pakiet zawiera statyczne biblioteki projektu Elektra.
a1ae6c6c 114
de7f9f03
JB
115%package cpp
116Summary: C++ interface for Elektra library
117Summary(pl.UTF-8): Interfejs C++ do biblioteki Elektra
118Group: Libraries
119Requires: %{name}-libs = %{version}-%{release}
a1ae6c6c 120
de7f9f03
JB
121%description cpp
122C++ interface for Elektra library.
85fe0e6b 123
de7f9f03
JB
124%description cpp -l pl.UTF-8
125Interfejs C++ do biblioteki Elektra.
126
127%package cpp-devel
128Summary: Header files of C++ interface for Elektra library
129Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki Elektra
130Group: Development/Libraries
131Requires: %{name}-cpp = %{version}-%{release}
132Requires: %{name}-libs = %{version}-%{release}
133Requires: libstdc++-devel
134
135%description cpp-devel
136Header files of C++ interface for Elektra library.
137
138%description cpp-devel -l pl.UTF-8
139Pliki nagłówkowe interfejsu C++ do biblioteki Elektra.
140
141%package cpp-static
142Summary: Static library of C++ interface for Elektra library
143Summary(pl.UTF-8): Biblioteka statyczna interfejsu C++ do biblioteki Elektra
144Group: Development/Libraries
145Requires: %{name}-cpp-devel = %{version}-%{release}
85fe0e6b 146
de7f9f03
JB
147%description cpp-static
148Static library of C++ interface for Elektra library.
149
150%description cpp-static -l pl.UTF-8
151Biblioteka statyczna interfejsu C++ do biblioteki Elektra.
a1ae6c6c 152
153%prep
de7f9f03 154%setup -q
b511c548 155%patch0 -p1
01799f2a 156%patch1 -p1
a1ae6c6c 157
158%build
de7f9f03
JB
159cp -f /usr/share/gettext/config.rpath .
160%{__libtoolize}
161%{__aclocal} -I m4
162%{__autoconf}
163%{__autoheader}
164%{__automake}
165%configure \
166 --libdir=/%{_lib} \
05cae991 167 --disable-ltdl-install \
de7f9f03
JB
168 %{?with_db:--enable-berkeleydb} \
169 %{?with_gconf:--enable-gconf} \
170 --enable-passwd \
171 %{?with_python:--enable-python}
172# also outdated (as of 0.7.2): daemon, fstab
173%{__make}
a1ae6c6c 174
175%install
176rm -rf $RPM_BUILD_ROOT
eeac539a 177install -d $RPM_BUILD_ROOT/etc/sysconfig
ff4dd69b 178
85fe0e6b 179%{__make} install \
de7f9f03
JB
180 DESTDIR=$RPM_BUILD_ROOT \
181 elektrainitdir=/etc/rc.d/init.d
182
183%{!?with_berkeleydb:%{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/libelektra-ddefault.so}
a1ae6c6c 184
de7f9f03
JB
185# prepare docs
186rm -rf installed-doc
187install -d installed-doc
188mv $RPM_BUILD_ROOT%{_docdir}/%{name}-devel installed-doc/elektra-api
189mv $RPM_BUILD_ROOT%{_docdir}/%{name}/scripts installed-doc/scripts
190rmdir $RPM_BUILD_ROOT%{_docdir}/%{name}
a1ae6c6c 191
eeac539a 192echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra
ff4dd69b 193
de7f9f03
JB
194# move devel files to /usr
195%{__mv} $RPM_BUILD_ROOT/%{_lib}/libelektra.a $RPM_BUILD_ROOT%{_libdir}
196ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelektra.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libelektra.so
197%{__rm} $RPM_BUILD_ROOT/%{_lib}/libelektra.so
198
199# dlopened modules
200%{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/*.{la,a}
201# obsoleted by pkg-config
202%{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.la \
203 $RPM_BUILD_ROOT%{_libdir}/lib*.la
204
a1ae6c6c 205%clean
206rm -rf $RPM_BUILD_ROOT
207
208%post
b511c548 209# Create basic key structure for apps
731cdbee 210kdb set -t dir system/sw || :
de7f9f03 211kdb set system/sw/kdb/schemapath "%{_datadir}/sgml/elektra-0.7.1/elektra.xsd"
a1ae6c6c 212
de7f9f03
JB
213%post libs -p /sbin/ldconfig
214%postun libs -p /sbin/ldconfig
215
216%post cpp -p /sbin/ldconfig
217%postun cpp -p /sbin/ldconfig
a1ae6c6c 218
219%files
220%defattr(644,root,root,755)
de7f9f03
JB
221%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/standards installed-doc/scripts
222%attr(755,root,root) /bin/kdb
223%attr(755,root,root) /bin/kdb_static
224%attr(755,root,root) /bin/preload
225%attr(755,root,root) /bin/preload_static
226%dir /%{_lib}/elektra
227%attr(755,root,root) /%{_lib}/elektra/libelektra-default.so
228%attr(755,root,root) /%{_lib}/elektra/libelektra-filesys.so*
229%attr(755,root,root) /%{_lib}/elektra/libelektra-hosts.so*
230%attr(755,root,root) /%{_lib}/elektra/libelektra-passwd.so*
231%if %{with db}
232%attr(755,root,root) /%{_lib}/elektra/libelektra-berkeleydb.so*
233%attr(755,root,root) /%{_lib}/elektra/libelektra-ddefault.so
234%endif
235%if %{with gconf}
236%attr(755,root,root) /%{_lib}/elektra/libelektra-gconf.so*
237%endif
238%attr(754,root,root) /etc/rc.d/init.d/kdbd
239%attr(755,root,root) /etc/profile.d/elektraenv.sh
240%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/elektra
241%{_datadir}/sgml/elektra-0.7.1
242%{_mandir}/man1/kdb.1*
243%{_mandir}/man5/elektra.5*
244%{_mandir}/man7/elektra.7*
245
246%files libs
247%defattr(644,root,root,755)
248%attr(755,root,root) /%{_lib}/libelektra.so.*.*.*
249%attr(755,root,root) %ghost /%{_lib}/libelektra.so.3
250%attr(755,root,root) %{_libdir}/libelektratools.so.*.*.*
251%attr(755,root,root) %ghost %{_libdir}/libelektratools.so.2
a1ae6c6c 252
253%files devel
254%defattr(644,root,root,755)
de7f9f03
JB
255%doc installed-doc/elektra-api/*
256%attr(755,root,root) %{_libdir}/libelektra.so
257%attr(755,root,root) %{_libdir}/libelektratools.so
258%{_includedir}/kdb*.h
259%{_pkgconfigdir}/elektra.pc
260%{_pkgconfigdir}/elektratools.pc
261%{_mandir}/man3/kdb*.3*
69396d03
JB
262# too generic name, conflicting with e.g. allegro
263#%{_mandir}/man3/key.3*
264%{_mandir}/man3/keymeta.3*
265%{_mandir}/man3/keyname.3*
266%{_mandir}/man3/keyset.3*
267%{_mandir}/man3/keytest.3*
268%{_mandir}/man3/keyvalue.3*
a1ae6c6c 269
b511c548 270%files static
85fe0e6b 271%defattr(644,root,root,755)
de7f9f03
JB
272%{_libdir}/libelektra.a
273%{_libdir}/libelektratools.a
274
275%files cpp
276%defattr(644,root,root,755)
277%attr(755,root,root) %{_libdir}/libelektra-cpp.so.*.*.*
278%attr(755,root,root) %ghost %{_libdir}/libelektra-cpp.so.0
279
280%files cpp-devel
281%defattr(644,root,root,755)
282%attr(755,root,root) %{_libdir}/libelektra-cpp.so
283%{_includedir}/kdb
284%{_includedir}/key
285%{_includedir}/keyset
286%{_pkgconfigdir}/elektracpp.pc
287
288%files cpp-static
289%defattr(644,root,root,755)
290%{_libdir}/libelektra-cpp.a
This page took 0.076444 seconds and 4 git commands to generate.