From: Jakub Bogusz Date: Mon, 14 May 2018 18:29:21 +0000 (+0200) Subject: - new X-Git-Tag: auto/th/pmdk-1.4-1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpmdk.git;a=commitdiff_plain;h=c9fe54830f8c5104e1202868ba4da39e00355a50 - new --- c9fe54830f8c5104e1202868ba4da39e00355a50 diff --git a/pmdk.spec b/pmdk.spec new file mode 100644 index 0000000..1eedc27 --- /dev/null +++ b/pmdk.spec @@ -0,0 +1,394 @@ +# +# Conditional build: +%bcond_without apidocs # do not build and package API docs +%bcond_without libfabric # RPMEM component +%bcond_without ndctl # daxio component +# +Summary: Persistent Memory Development Kit +Summary(pl.UTF-8): Persistent Memory Development Kit - oprogramowanie do obsługi pamięci nieulotnej +Name: pmdk +Version: 1.4 +Release: 1 +License: BSD +Group: Applications/System +#Source0Download: https://github.com/pmem/pmdk/releases +Source0: https://github.com/pmem/pmdk/archive/%{version}/%{name}-%{version}.tar.gz +# Source0-md5: 8813455d9518b8d7e0c296a706314940 +URL: http://pmem.io/pmdk/ +BuildRequires: autoconf >= 2.50 +%{?with_ndctl:BuildRequires: daxctl-devel >= 59.2} +%{?with_libfabric:BuildRequires: libfabric-devel >= 1.4.2} +BuildRequires: libstdc++-devel >= 6:4.8 +%{?with_ndctl:BuildRequires: ndctl-devel >= 59.2} +BuildRequires: pkgconfig +Requires: %{name}-libs = %{version}-%{release} +ExclusiveArch: %{x8664} aarch64 +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +PMDK is a collection of libraries and utilities for using Non-Volatile +Memory. + +This package contains command-line utility pmempool - standalone tool +for off-line pool management. + +%description -l pl.UTF-8 +PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci +nieulotnej (Non-Volatile Memory). + +Ten pakiet zawiera narzędzie linii poleceń pmemtool - samodzielne +narzędzie do zarządzania pamięcią off-line. + +%package -n bash-completion-pmdk +Summary: Bash completion for PMDK utilities +Summary(pl.UTF-8): Bashowe uzupełnianie parametrów poleceń PMDK +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} + +%description -n bash-completion-pmdk +Bash completion for PMDK pmempool utility. + +%description -n bash-completion-pmdk -l pl.UTF-8 +Bashowe uzupełnianie parametrów polecenia PMDK pmempool. + +%package libs +Summary: Persistent Memory Development Kit shared libraries +Summary(pl.UTF-8): Biblioteki współdzielone Persistent Memory Development Kit +Group: Libraries + +%description libs +This package contains a collection of libraries for using Non-Volatile +Memory (NVM): +- libpmem - basic pmem operations like flushing +- libpmemblk, libpmemlog, libpmemobj - pmem transactions +- libvmem, libvmmalloc - volatile use of pmem +- libpmempool - persistent memory pool management +- libpmemcto - close-to-open persistence (EXPERIMENTAL) + +%description libs -l pl.UTF-8 +Ten pakiet zawiera zestaw bibliotek do wykorzystywania pamięci +nieulotnej (NVM - Non-Volatile Memory): +- libpmem - podstawowe operacje pmem, takie jak flush +- libpmemblk, libpmemlog, libpmemobj - transakcje pmem +- libvmem, libvmmalloc - ulotne wykorzystanie pmem +- libpmempool - zarządzanie pulą pamięci nieulotnej +- libpmemcto - trwałość między close a open (EKSPERYMENTALNA) + +%package devel +Summary: Header files for PMDK libraries +Summary(pl.UTF-8): Pliki nagłówkowe bibliotek PMDK +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +Header files for PMDK libraries. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe bibliotek PMDK. + +%package static +Summary: Static PMDK libraries +Summary(pl.UTF-8): Statyczne biblioteki PMDK +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static PMDK libraries. + +%description static -l pl.UTF-8 +Statyczne biblioteki PMDK. + +%package c++-devel +Summary: C++ bindings for PMDK libpmemobj library +Summary(pl.UTF-8): Wiązania C++ do biblioteki PMDK libpmemobj +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: libstdc++-devel >= 6:4.8 + +%description c++-devel +C++ bindings for PMDK libpmemobj library. + +%description c++-devel -l pl.UTF-8 +Wiązania C++ do biblioteki PMDK libpmemobj. + +%package c++-apidocs +Summary: API documentation for libpmemobj++ library +Summary(pl.UTF-8): Dokumentacja API biblioteki libpmemobj++ +Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description c++-apidocs +API documentation for libpmemobj++ library. + +%description c++-apidocs -l pl.UTF-8 +Dokumentacja API biblioteki libpmemobj++. + +%package dax +Summary: PMDK utility for Device-DAX devices +Summary(pl.UTF-8): Narzędzie PMDK do urządzeń Device-DAX +Group: Applications/System +Requires: %{name}-libs = %{version}-%{release} +Requires: daxctl-libs >= 59.2 +Requires: ndctl-libs >= 59.2 + +%description dax +PMDK is a collection of libraries and utilities for using Non-Volatile +Memory. + +This package contains command-line utility daxio - perform I/O on +Device-DAX devices or zero a Device-DAX device. + +%description dax -l pl.UTF-8 +PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci +nieulotnej (Non-Volatile Memory). + +Ten pakiet zawiera narzędzie linii poleceń daxio - wykonywanie +operacji we/wy lub zerowanie urządzeń Device-DAX. + +%package rpmem +Summary: PMDK process for remote persistent memory access +Summary(pl.UTF-8): Proces PMDK do zdalnego dostępu do pamięci nieulotnej +Group: Applications/System +Requires: %{name}-rpmem-libs = %{version}-%{release} + +%description rpmem +PMDK is a collection of libraries and utilities for using Non-Volatile +Memory. + +This package contains rpmemd - librpmem target node process. + +%description rpmem -l pl.UTF-8 +PMDK to zbiór bibliotek i narzędzi do wykorzystywania pamięci +nieulotnej (Non-Volatile Memory). + +Ten pakiet zawiera rpmemd - proces librpmem uruchamiany na docelowych +węzłach. + +%package rpmem-libs +Summary: Library for remote access to persistent memory +Summary(pl.UTF-8): Biblioteka do zdalnego dostępu do pamięci nieulotnej +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: libfabric >= 1.4.2 + +%description rpmem-libs +This package contains a collection of libraries for using Non-Volatile +Memory (NVM): +- librpmem - remote access to persistent memory (EXPERIMENTAL) + +%description rpmem-libs -l pl.UTF-8 +Ten pakiet zawiera zestaw bibliotek do wykorzystywania pamięci +nieulotnej (NVM - Non-Volatile Memory): +- librpmem - zdalny dostęp do pamięci nieulotnej (EKSPERYMENTALNA) + +%package rpmem-devel +Summary: Header file for rpmem library +Summary(pl.UTF-8): Plik nagłówkowy biblioteki rpmem +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-rpmem-libs = %{version}-%{release} +Requires: libfabric-devel >= 1.4.2 + +%description rpmem-devel +Header file for rpmem library. + +%description rpmem-devel -l pl.UTF-8 +Plik nagłówkowy biblioteki rpmem. + +%package rpmem-static +Summary: Static rpmem library +Summary(pl.UTF-8): Statyczna biblioteka rpmem +Group: Development/Libraries +Requires: %{name}-rpmem-devel = %{version}-%{release} + +%description rpmem-static +Static rpmem library. + +%description rpmem-static -l pl.UTF-8 +Statyczna biblioteka rpmem. + +%prep +%setup -q + +%build +CFLAGS="%{rpmcflags} %{rpmcppflags}" \ +%{__make} -j1 \ + CC="%{__cc}" \ + %{!?with_libfabric:BUILD_RPMEM=n} \ + %{?with_ndctl:NDCTL_ENABLE=y} \ + includedir=%{_includedir} \ + libdir=%{_libdir} \ + prefix=%{_prefix} \ + sysconfdir=%{_sysconfdir} + +%install +rm -rf $RPM_BUILD_ROOT + +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT \ + %{!?with_libfabric:BUILD_RPMEM=n} \ + %{?with_ndctl:NDCTL_ENABLE=y} \ + includedir=%{_includedir} \ + libdir=%{_libdir} \ + prefix=%{_prefix} \ + sysconfdir=%{_sysconfdir} + +# debug libraries - needed for anything? +%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/pmdk_debug +# packaged as %doc in -apidocs +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libpmemobj++-dev + +%clean +rm -rf $RPM_BUILD_ROOT + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%post rpmem-libs -p /sbin/ldconfig +%postun rpmem-libs -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc src/tools/pmempool/README +%attr(755,root,root) %{_bindir}/pmempool +%{_mandir}/man1/pmempool.1* +%{_mandir}/man1/pmempool-check.1* +%{_mandir}/man1/pmempool-convert.1* +%{_mandir}/man1/pmempool-create.1* +%{_mandir}/man1/pmempool-dump.1* +%{_mandir}/man1/pmempool-info.1* +%{_mandir}/man1/pmempool-rm.1* +%{_mandir}/man1/pmempool-sync.1* +%{_mandir}/man1/pmempool-transform.1* +%{_mandir}/man5/poolset.5* + +%files -n bash-completion-pmdk +%defattr(644,root,root,755) +/etc/bash_completion.d/pmempool.sh + +%files libs +%defattr(644,root,root,755) +%doc ChangeLog LICENSE +%attr(755,root,root) %{_libdir}/libpmem.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmem.so.1 +%attr(755,root,root) %{_libdir}/libpmemblk.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmemblk.so.1 +%attr(755,root,root) %{_libdir}/libpmemcto.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmemcto.so.1 +%attr(755,root,root) %{_libdir}/libpmemlog.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmemlog.so.1 +%attr(755,root,root) %{_libdir}/libpmemobj.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmemobj.so.1 +%attr(755,root,root) %{_libdir}/libpmempool.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpmempool.so.1 +%attr(755,root,root) %{_libdir}/libvmem.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libvmem.so.1 +%attr(755,root,root) %{_libdir}/libvmmalloc.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libvmmalloc.so.1 + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libpmem.so +%attr(755,root,root) %{_libdir}/libpmemblk.so +%attr(755,root,root) %{_libdir}/libpmemcto.so +%attr(755,root,root) %{_libdir}/libpmemlog.so +%attr(755,root,root) %{_libdir}/libpmemobj.so +%attr(755,root,root) %{_libdir}/libpmempool.so +%attr(755,root,root) %{_libdir}/libvmem.so +%attr(755,root,root) %{_libdir}/libvmmalloc.so +%{_includedir}/libpmemobj +%{_includedir}/libpmem*.h +%{_includedir}/libvmem.h +%{_includedir}/libvmmalloc.h +%{_pkgconfigdir}/libpmem.pc +%{_pkgconfigdir}/libpmemblk.pc +%{_pkgconfigdir}/libpmemcto.pc +%{_pkgconfigdir}/libpmemlog.pc +%{_pkgconfigdir}/libpmemobj.pc +%{_pkgconfigdir}/libpmempool.pc +%{_pkgconfigdir}/libvmem.pc +%{_pkgconfigdir}/libvmmalloc.pc +%{_mandir}/man3/d_ro.3* +%{_mandir}/man3/d_rw.3* +%{_mandir}/man3/direct_ro.3* +%{_mandir}/man3/direct_rw.3* +%{_mandir}/man3/oid_equals.3* +%{_mandir}/man3/oid_instanceof.3* +%{_mandir}/man3/oid_is_null.3* +%{_mandir}/man3/pmem_*.3* +%{_mandir}/man3/pmemblk_*.3* +%{_mandir}/man3/pmemcto_*.3* +%{_mandir}/man3/pmemlog_*.3* +%{_mandir}/man3/pmemobj_*.3* +%{_mandir}/man3/pmempool_*.3* +%{_mandir}/man3/pobj_*.3* +%{_mandir}/man3/toid.3* +%{_mandir}/man3/toid_*.3* +%{_mandir}/man3/tx_*.3* +%{_mandir}/man3/vmem_*.3* +%{_mandir}/man7/libpmem.7* +%{_mandir}/man7/libpmemblk.7* +%{_mandir}/man7/libpmemcto.7* +%{_mandir}/man7/libpmemlog.7* +%{_mandir}/man7/libpmemobj.7* +%{_mandir}/man7/libpmempool.7* +%{_mandir}/man7/libvmem.7* +%{_mandir}/man7/libvmmalloc.7* + +%files static +%defattr(644,root,root,755) +%{_libdir}/libpmem.a +%{_libdir}/libpmemblk.a +%{_libdir}/libpmemcto.a +%{_libdir}/libpmemlog.a +%{_libdir}/libpmemobj.a +%{_libdir}/libpmempool.a +%{_libdir}/libvmem.a +%{_libdir}/libvmmalloc.a + +%files c++-devel +%defattr(644,root,root,755) +%doc src/include/libpmemobj++/README.md +%{_includedir}/libpmemobj++ +%{_pkgconfigdir}/libpmemobj++.pc + +%if %{with apidocs} +%files c++-apidocs +%defattr(644,root,root,755) +%doc doc/cpp_html/* +%endif + +%if %{with ndctl} +%files dax +%defattr(644,root,root,755) +%doc src/tools/daxio/README +%attr(755,root,root) %{_bindir}/daxio +%{_mandir}/man1/daxio.1* +%endif + +%if %{with libfabric} +%files rpmem +%defattr(644,root,root,755) +%doc src/tools/rpmemd/README +%attr(755,root,root) %{_bindir}/rpmemd +%{_mandir}/man1/rpmemd.1* + +%files rpmem-libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/librpmem.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/librpmem.so.1 + +%files rpmem-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/librpmem.so +%{_includedir}/librpmem.h +%{_pkgconfigdir}/librpmem.pc +%{_mandir}/man3/rpmem_*.3* +%{_mandir}/man7/librpmem.7* + +%files rpmem-static +%defattr(644,root,root,755) +%{_libdir}/librpmem.a +%endif