]>
Commit | Line | Data |
---|---|---|
c9fe5483 JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # do not build and package API docs | |
4 | %bcond_without libfabric # RPMEM component | |
5 | %bcond_without ndctl # daxio component | |
6 | # | |
7 | Summary: Persistent Memory Development Kit | |
8 | Summary(pl.UTF-8): Persistent Memory Development Kit - oprogramowanie do obsługi pamięci nieulotnej | |
9 | Name: pmdk | |
10 | Version: 1.4 | |
11 | Release: 1 | |
12 | License: BSD | |
13 | Group: Applications/System | |
14 | #Source0Download: https://github.com/pmem/pmdk/releases | |
15 | Source0: https://github.com/pmem/pmdk/archive/%{version}/%{name}-%{version}.tar.gz | |
16 | # Source0-md5: 8813455d9518b8d7e0c296a706314940 | |
17 | URL: http://pmem.io/pmdk/ | |
18 | BuildRequires: autoconf >= 2.50 | |
19 | %{?with_ndctl:BuildRequires: daxctl-devel >= 59.2} | |
20 | %{?with_libfabric:BuildRequires: libfabric-devel >= 1.4.2} | |
21 | BuildRequires: libstdc++-devel >= 6:4.8 | |
22 | %{?with_ndctl:BuildRequires: ndctl-devel >= 59.2} | |
23 | BuildRequires: pkgconfig | |
24 | Requires: %{name}-libs = %{version}-%{release} | |
25 | ExclusiveArch: %{x8664} aarch64 | |
26 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
27 | ||
28 | %description | |
29 | PMDK is a collection of libraries and utilities for using Non-Volatile | |
30 | Memory. | |
31 | ||
32 | This package contains command-line utility pmempool - standalone tool | |
33 | for off-line pool management. | |
34 | ||
35 | %description -l pl.UTF-8 | |
36 | PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci | |
37 | nieulotnej (Non-Volatile Memory). | |
38 | ||
39 | Ten pakiet zawiera narzędzie linii poleceń pmemtool - samodzielne | |
40 | narzędzie do zarządzania pamięcią off-line. | |
41 | ||
42 | %package -n bash-completion-pmdk | |
43 | Summary: Bash completion for PMDK utilities | |
44 | Summary(pl.UTF-8): Bashowe uzupełnianie parametrów poleceń PMDK | |
45 | Group: Applications/Shells | |
46 | Requires: %{name} = %{version}-%{release} | |
47 | ||
48 | %description -n bash-completion-pmdk | |
49 | Bash completion for PMDK pmempool utility. | |
50 | ||
51 | %description -n bash-completion-pmdk -l pl.UTF-8 | |
52 | Bashowe uzupełnianie parametrów polecenia PMDK pmempool. | |
53 | ||
54 | %package libs | |
55 | Summary: Persistent Memory Development Kit shared libraries | |
56 | Summary(pl.UTF-8): Biblioteki współdzielone Persistent Memory Development Kit | |
57 | Group: Libraries | |
58 | ||
59 | %description libs | |
60 | This package contains a collection of libraries for using Non-Volatile | |
61 | Memory (NVM): | |
62 | - libpmem - basic pmem operations like flushing | |
63 | - libpmemblk, libpmemlog, libpmemobj - pmem transactions | |
64 | - libvmem, libvmmalloc - volatile use of pmem | |
65 | - libpmempool - persistent memory pool management | |
66 | - libpmemcto - close-to-open persistence (EXPERIMENTAL) | |
67 | ||
68 | %description libs -l pl.UTF-8 | |
69 | Ten pakiet zawiera zestaw bibliotek do wykorzystywania pamięci | |
70 | nieulotnej (NVM - Non-Volatile Memory): | |
71 | - libpmem - podstawowe operacje pmem, takie jak flush | |
72 | - libpmemblk, libpmemlog, libpmemobj - transakcje pmem | |
73 | - libvmem, libvmmalloc - ulotne wykorzystanie pmem | |
74 | - libpmempool - zarządzanie pulą pamięci nieulotnej | |
75 | - libpmemcto - trwałość między close a open (EKSPERYMENTALNA) | |
76 | ||
77 | %package devel | |
78 | Summary: Header files for PMDK libraries | |
79 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek PMDK | |
80 | Group: Development/Libraries | |
81 | Requires: %{name}-libs = %{version}-%{release} | |
82 | ||
83 | %description devel | |
84 | Header files for PMDK libraries. | |
85 | ||
86 | %description devel -l pl.UTF-8 | |
87 | Pliki nagłówkowe bibliotek PMDK. | |
88 | ||
89 | %package static | |
90 | Summary: Static PMDK libraries | |
91 | Summary(pl.UTF-8): Statyczne biblioteki PMDK | |
92 | Group: Development/Libraries | |
93 | Requires: %{name}-devel = %{version}-%{release} | |
94 | ||
95 | %description static | |
96 | Static PMDK libraries. | |
97 | ||
98 | %description static -l pl.UTF-8 | |
99 | Statyczne biblioteki PMDK. | |
100 | ||
101 | %package c++-devel | |
102 | Summary: C++ bindings for PMDK libpmemobj library | |
103 | Summary(pl.UTF-8): Wiązania C++ do biblioteki PMDK libpmemobj | |
104 | Group: Development/Libraries | |
105 | Requires: %{name}-devel = %{version}-%{release} | |
106 | Requires: libstdc++-devel >= 6:4.8 | |
107 | ||
108 | %description c++-devel | |
109 | C++ bindings for PMDK libpmemobj library. | |
110 | ||
111 | %description c++-devel -l pl.UTF-8 | |
112 | Wiązania C++ do biblioteki PMDK libpmemobj. | |
113 | ||
114 | %package c++-apidocs | |
115 | Summary: API documentation for libpmemobj++ library | |
116 | Summary(pl.UTF-8): Dokumentacja API biblioteki libpmemobj++ | |
117 | Group: Documentation | |
118 | %if "%{_rpmversion}" >= "5" | |
119 | BuildArch: noarch | |
120 | %endif | |
121 | ||
122 | %description c++-apidocs | |
123 | API documentation for libpmemobj++ library. | |
124 | ||
125 | %description c++-apidocs -l pl.UTF-8 | |
126 | Dokumentacja API biblioteki libpmemobj++. | |
127 | ||
128 | %package dax | |
129 | Summary: PMDK utility for Device-DAX devices | |
130 | Summary(pl.UTF-8): Narzędzie PMDK do urządzeń Device-DAX | |
131 | Group: Applications/System | |
132 | Requires: %{name}-libs = %{version}-%{release} | |
133 | Requires: daxctl-libs >= 59.2 | |
134 | Requires: ndctl-libs >= 59.2 | |
135 | ||
136 | %description dax | |
137 | PMDK is a collection of libraries and utilities for using Non-Volatile | |
138 | Memory. | |
139 | ||
140 | This package contains command-line utility daxio - perform I/O on | |
141 | Device-DAX devices or zero a Device-DAX device. | |
142 | ||
143 | %description dax -l pl.UTF-8 | |
144 | PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci | |
145 | nieulotnej (Non-Volatile Memory). | |
146 | ||
147 | Ten pakiet zawiera narzędzie linii poleceń daxio - wykonywanie | |
148 | operacji we/wy lub zerowanie urządzeń Device-DAX. | |
149 | ||
150 | %package rpmem | |
151 | Summary: PMDK process for remote persistent memory access | |
152 | Summary(pl.UTF-8): Proces PMDK do zdalnego dostępu do pamięci nieulotnej | |
153 | Group: Applications/System | |
154 | Requires: %{name}-rpmem-libs = %{version}-%{release} | |
155 | ||
156 | %description rpmem | |
157 | PMDK is a collection of libraries and utilities for using Non-Volatile | |
158 | Memory. | |
159 | ||
160 | This package contains rpmemd - librpmem target node process. | |
161 | ||
162 | %description rpmem -l pl.UTF-8 | |
163 | PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci | |
164 | nieulotnej (Non-Volatile Memory). | |
165 | ||
166 | Ten pakiet zawiera rpmemd - proces librpmem uruchamiany na docelowych | |
167 | węzłach. | |
168 | ||
169 | %package rpmem-libs | |
170 | Summary: Library for remote access to persistent memory | |
171 | Summary(pl.UTF-8): Biblioteka do zdalnego dostępu do pamięci nieulotnej | |
172 | Group: Libraries | |
173 | Requires: %{name}-libs = %{version}-%{release} | |
174 | Requires: libfabric >= 1.4.2 | |
175 | ||
176 | %description rpmem-libs | |
177 | This package contains a collection of libraries for using Non-Volatile | |
178 | Memory (NVM): | |
179 | - librpmem - remote access to persistent memory (EXPERIMENTAL) | |
180 | ||
181 | %description rpmem-libs -l pl.UTF-8 | |
182 | Ten pakiet zawiera zestaw bibliotek do wykorzystywania pamięci | |
183 | nieulotnej (NVM - Non-Volatile Memory): | |
184 | - librpmem - zdalny dostęp do pamięci nieulotnej (EKSPERYMENTALNA) | |
185 | ||
186 | %package rpmem-devel | |
187 | Summary: Header file for rpmem library | |
188 | Summary(pl.UTF-8): Plik nagłówkowy biblioteki rpmem | |
189 | Group: Development/Libraries | |
190 | Requires: %{name}-devel = %{version}-%{release} | |
191 | Requires: %{name}-rpmem-libs = %{version}-%{release} | |
192 | Requires: libfabric-devel >= 1.4.2 | |
193 | ||
194 | %description rpmem-devel | |
195 | Header file for rpmem library. | |
196 | ||
197 | %description rpmem-devel -l pl.UTF-8 | |
198 | Plik nagłówkowy biblioteki rpmem. | |
199 | ||
200 | %package rpmem-static | |
201 | Summary: Static rpmem library | |
202 | Summary(pl.UTF-8): Statyczna biblioteka rpmem | |
203 | Group: Development/Libraries | |
204 | Requires: %{name}-rpmem-devel = %{version}-%{release} | |
205 | ||
206 | %description rpmem-static | |
207 | Static rpmem library. | |
208 | ||
209 | %description rpmem-static -l pl.UTF-8 | |
210 | Statyczna biblioteka rpmem. | |
211 | ||
212 | %prep | |
213 | %setup -q | |
214 | ||
215 | %build | |
216 | CFLAGS="%{rpmcflags} %{rpmcppflags}" \ | |
217 | %{__make} -j1 \ | |
218 | CC="%{__cc}" \ | |
219 | %{!?with_libfabric:BUILD_RPMEM=n} \ | |
220 | %{?with_ndctl:NDCTL_ENABLE=y} \ | |
221 | includedir=%{_includedir} \ | |
222 | libdir=%{_libdir} \ | |
223 | prefix=%{_prefix} \ | |
224 | sysconfdir=%{_sysconfdir} | |
225 | ||
226 | %install | |
227 | rm -rf $RPM_BUILD_ROOT | |
228 | ||
229 | %{__make} install \ | |
230 | DESTDIR=$RPM_BUILD_ROOT \ | |
231 | %{!?with_libfabric:BUILD_RPMEM=n} \ | |
232 | %{?with_ndctl:NDCTL_ENABLE=y} \ | |
233 | includedir=%{_includedir} \ | |
234 | libdir=%{_libdir} \ | |
235 | prefix=%{_prefix} \ | |
236 | sysconfdir=%{_sysconfdir} | |
237 | ||
238 | # debug libraries - needed for anything? | |
239 | %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/pmdk_debug | |
240 | # packaged as %doc in -apidocs | |
241 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libpmemobj++-dev | |
242 | ||
243 | %clean | |
244 | rm -rf $RPM_BUILD_ROOT | |
245 | ||
246 | %post libs -p /sbin/ldconfig | |
247 | %postun libs -p /sbin/ldconfig | |
248 | ||
249 | %post rpmem-libs -p /sbin/ldconfig | |
250 | %postun rpmem-libs -p /sbin/ldconfig | |
251 | ||
252 | %files | |
253 | %defattr(644,root,root,755) | |
254 | %doc src/tools/pmempool/README | |
255 | %attr(755,root,root) %{_bindir}/pmempool | |
256 | %{_mandir}/man1/pmempool.1* | |
257 | %{_mandir}/man1/pmempool-check.1* | |
258 | %{_mandir}/man1/pmempool-convert.1* | |
259 | %{_mandir}/man1/pmempool-create.1* | |
260 | %{_mandir}/man1/pmempool-dump.1* | |
261 | %{_mandir}/man1/pmempool-info.1* | |
262 | %{_mandir}/man1/pmempool-rm.1* | |
263 | %{_mandir}/man1/pmempool-sync.1* | |
264 | %{_mandir}/man1/pmempool-transform.1* | |
265 | %{_mandir}/man5/poolset.5* | |
266 | ||
267 | %files -n bash-completion-pmdk | |
268 | %defattr(644,root,root,755) | |
269 | /etc/bash_completion.d/pmempool.sh | |
270 | ||
271 | %files libs | |
272 | %defattr(644,root,root,755) | |
273 | %doc ChangeLog LICENSE | |
274 | %attr(755,root,root) %{_libdir}/libpmem.so.*.*.* | |
275 | %attr(755,root,root) %ghost %{_libdir}/libpmem.so.1 | |
276 | %attr(755,root,root) %{_libdir}/libpmemblk.so.*.*.* | |
277 | %attr(755,root,root) %ghost %{_libdir}/libpmemblk.so.1 | |
278 | %attr(755,root,root) %{_libdir}/libpmemcto.so.*.*.* | |
279 | %attr(755,root,root) %ghost %{_libdir}/libpmemcto.so.1 | |
280 | %attr(755,root,root) %{_libdir}/libpmemlog.so.*.*.* | |
281 | %attr(755,root,root) %ghost %{_libdir}/libpmemlog.so.1 | |
282 | %attr(755,root,root) %{_libdir}/libpmemobj.so.*.*.* | |
283 | %attr(755,root,root) %ghost %{_libdir}/libpmemobj.so.1 | |
284 | %attr(755,root,root) %{_libdir}/libpmempool.so.*.*.* | |
285 | %attr(755,root,root) %ghost %{_libdir}/libpmempool.so.1 | |
286 | %attr(755,root,root) %{_libdir}/libvmem.so.*.*.* | |
287 | %attr(755,root,root) %ghost %{_libdir}/libvmem.so.1 | |
288 | %attr(755,root,root) %{_libdir}/libvmmalloc.so.*.*.* | |
289 | %attr(755,root,root) %ghost %{_libdir}/libvmmalloc.so.1 | |
290 | ||
291 | %files devel | |
292 | %defattr(644,root,root,755) | |
293 | %attr(755,root,root) %{_libdir}/libpmem.so | |
294 | %attr(755,root,root) %{_libdir}/libpmemblk.so | |
295 | %attr(755,root,root) %{_libdir}/libpmemcto.so | |
296 | %attr(755,root,root) %{_libdir}/libpmemlog.so | |
297 | %attr(755,root,root) %{_libdir}/libpmemobj.so | |
298 | %attr(755,root,root) %{_libdir}/libpmempool.so | |
299 | %attr(755,root,root) %{_libdir}/libvmem.so | |
300 | %attr(755,root,root) %{_libdir}/libvmmalloc.so | |
301 | %{_includedir}/libpmemobj | |
302 | %{_includedir}/libpmem*.h | |
303 | %{_includedir}/libvmem.h | |
304 | %{_includedir}/libvmmalloc.h | |
305 | %{_pkgconfigdir}/libpmem.pc | |
306 | %{_pkgconfigdir}/libpmemblk.pc | |
307 | %{_pkgconfigdir}/libpmemcto.pc | |
308 | %{_pkgconfigdir}/libpmemlog.pc | |
309 | %{_pkgconfigdir}/libpmemobj.pc | |
310 | %{_pkgconfigdir}/libpmempool.pc | |
311 | %{_pkgconfigdir}/libvmem.pc | |
312 | %{_pkgconfigdir}/libvmmalloc.pc | |
313 | %{_mandir}/man3/d_ro.3* | |
314 | %{_mandir}/man3/d_rw.3* | |
315 | %{_mandir}/man3/direct_ro.3* | |
316 | %{_mandir}/man3/direct_rw.3* | |
317 | %{_mandir}/man3/oid_equals.3* | |
318 | %{_mandir}/man3/oid_instanceof.3* | |
319 | %{_mandir}/man3/oid_is_null.3* | |
320 | %{_mandir}/man3/pmem_*.3* | |
321 | %{_mandir}/man3/pmemblk_*.3* | |
322 | %{_mandir}/man3/pmemcto_*.3* | |
323 | %{_mandir}/man3/pmemlog_*.3* | |
324 | %{_mandir}/man3/pmemobj_*.3* | |
325 | %{_mandir}/man3/pmempool_*.3* | |
326 | %{_mandir}/man3/pobj_*.3* | |
327 | %{_mandir}/man3/toid.3* | |
328 | %{_mandir}/man3/toid_*.3* | |
329 | %{_mandir}/man3/tx_*.3* | |
330 | %{_mandir}/man3/vmem_*.3* | |
331 | %{_mandir}/man7/libpmem.7* | |
332 | %{_mandir}/man7/libpmemblk.7* | |
333 | %{_mandir}/man7/libpmemcto.7* | |
334 | %{_mandir}/man7/libpmemlog.7* | |
335 | %{_mandir}/man7/libpmemobj.7* | |
336 | %{_mandir}/man7/libpmempool.7* | |
337 | %{_mandir}/man7/libvmem.7* | |
338 | %{_mandir}/man7/libvmmalloc.7* | |
339 | ||
340 | %files static | |
341 | %defattr(644,root,root,755) | |
342 | %{_libdir}/libpmem.a | |
343 | %{_libdir}/libpmemblk.a | |
344 | %{_libdir}/libpmemcto.a | |
345 | %{_libdir}/libpmemlog.a | |
346 | %{_libdir}/libpmemobj.a | |
347 | %{_libdir}/libpmempool.a | |
348 | %{_libdir}/libvmem.a | |
349 | %{_libdir}/libvmmalloc.a | |
350 | ||
351 | %files c++-devel | |
352 | %defattr(644,root,root,755) | |
353 | %doc src/include/libpmemobj++/README.md | |
354 | %{_includedir}/libpmemobj++ | |
355 | %{_pkgconfigdir}/libpmemobj++.pc | |
356 | ||
357 | %if %{with apidocs} | |
358 | %files c++-apidocs | |
359 | %defattr(644,root,root,755) | |
360 | %doc doc/cpp_html/* | |
361 | %endif | |
362 | ||
363 | %if %{with ndctl} | |
364 | %files dax | |
365 | %defattr(644,root,root,755) | |
366 | %doc src/tools/daxio/README | |
367 | %attr(755,root,root) %{_bindir}/daxio | |
368 | %{_mandir}/man1/daxio.1* | |
369 | %endif | |
370 | ||
371 | %if %{with libfabric} | |
372 | %files rpmem | |
373 | %defattr(644,root,root,755) | |
374 | %doc src/tools/rpmemd/README | |
375 | %attr(755,root,root) %{_bindir}/rpmemd | |
376 | %{_mandir}/man1/rpmemd.1* | |
377 | ||
378 | %files rpmem-libs | |
379 | %defattr(644,root,root,755) | |
380 | %attr(755,root,root) %{_libdir}/librpmem.so.*.*.* | |
381 | %attr(755,root,root) %ghost %{_libdir}/librpmem.so.1 | |
382 | ||
383 | %files rpmem-devel | |
384 | %defattr(644,root,root,755) | |
385 | %attr(755,root,root) %{_libdir}/librpmem.so | |
386 | %{_includedir}/librpmem.h | |
387 | %{_pkgconfigdir}/librpmem.pc | |
388 | %{_mandir}/man3/rpmem_*.3* | |
389 | %{_mandir}/man7/librpmem.7* | |
390 | ||
391 | %files rpmem-static | |
392 | %defattr(644,root,root,755) | |
393 | %{_libdir}/librpmem.a | |
394 | %endif |