]> git.pld-linux.org Git - packages/elektra.git/blob - elektra.spec
- don't package key(3) man page, too generic and conflicting
[packages/elektra.git] / elektra.spec
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 #
8 Summary:        A key/value pair database to store software configurations
9 Summary(pl.UTF-8):      Baza kluczy/wartości do przechowywania konfiguracji oprogramowania
10 Name:           elektra
11 Version:        0.7.2
12 Release:        2
13 License:        BSD
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}
34 Requires:       mktemp
35 # for /usr/share/sgml dir
36 Requires:       sgml-common
37 Obsoletes:      registry
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %define         _bindir         /bin
41 %define         _sbindir        /sbin
42
43 %description
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.
47
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.
51
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.
56
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ę.
60
61 %package libs
62 Summary:        Elektra Project libraries
63 Summary(pl.UTF-8):      Biblioteki projektu Elektra
64 Group:          Libraries
65 Conflicts:      elektra < 0.7
66
67 %description libs
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.
71
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.
75
76 This package contains Elektra shared libraries.
77
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.
82
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ę.
86
87 Ten pakiet zawiera biblioteki współdzielone Elektry.
88
89 %package devel
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}
94
95 %description devel
96 This package contains the include files and API manual pages to use
97 the Elektra API in C.
98
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.
102
103 %package static
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}
108
109 %description static
110 This package contains static libraries for Elektra Project.
111
112 %description static -l pl.UTF-8
113 Ten pakiet zawiera statyczne biblioteki projektu Elektra.
114
115 %package cpp
116 Summary:        C++ interface for Elektra library
117 Summary(pl.UTF-8):      Interfejs C++ do biblioteki Elektra
118 Group:          Libraries
119 Requires:       %{name}-libs = %{version}-%{release}
120
121 %description cpp
122 C++ interface for Elektra library.
123
124 %description cpp -l pl.UTF-8
125 Interfejs C++ do biblioteki Elektra.
126
127 %package cpp-devel
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
134
135 %description cpp-devel
136 Header files of C++ interface for Elektra library.
137
138 %description cpp-devel -l pl.UTF-8
139 Pliki nagłówkowe interfejsu C++ do biblioteki Elektra.
140
141 %package cpp-static
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}
146
147 %description cpp-static
148 Static library of C++ interface for Elektra library.
149
150 %description cpp-static -l pl.UTF-8
151 Biblioteka statyczna interfejsu C++ do biblioteki Elektra.
152
153 %prep
154 %setup -q
155 %patch0 -p1
156 %patch1 -p1
157
158 %build
159 cp -f /usr/share/gettext/config.rpath .
160 %{__libtoolize}
161 %{__aclocal} -I m4
162 %{__autoconf}
163 %{__autoheader}
164 %{__automake}
165 %configure \
166         --libdir=/%{_lib} \
167         --disable-ltdl-install \
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}
174
175 %install
176 rm -rf $RPM_BUILD_ROOT
177 install -d $RPM_BUILD_ROOT/etc/sysconfig
178
179 %{__make} install \
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}
184
185 # prepare docs
186 rm -rf installed-doc
187 install -d installed-doc
188 mv $RPM_BUILD_ROOT%{_docdir}/%{name}-devel installed-doc/elektra-api
189 mv $RPM_BUILD_ROOT%{_docdir}/%{name}/scripts installed-doc/scripts
190 rmdir $RPM_BUILD_ROOT%{_docdir}/%{name}
191
192 echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra
193
194 # move devel files to /usr
195 %{__mv} $RPM_BUILD_ROOT/%{_lib}/libelektra.a $RPM_BUILD_ROOT%{_libdir}
196 ln -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
205 %clean
206 rm -rf $RPM_BUILD_ROOT
207
208 %post
209 # Create basic key structure for apps
210 kdb set -t dir system/sw || :
211 kdb set system/sw/kdb/schemapath "%{_datadir}/sgml/elektra-0.7.1/elektra.xsd"
212
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
218
219 %files
220 %defattr(644,root,root,755)
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
252
253 %files devel
254 %defattr(644,root,root,755)
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*
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*
269
270 %files static
271 %defattr(644,root,root,755)
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.243764 seconds and 4 git commands to generate.