]> git.pld-linux.org Git - packages/pmdk.git/blob - pmdk.spec
1eedc2751ed2df7909b50e3394d4c2c685523ea6
[packages/pmdk.git] / pmdk.spec
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
This page took 0.107329 seconds and 2 git commands to generate.