nvml/nvml.spec
2023-01-11 15:10:40 +08:00

270 lines
8.6 KiB
RPMSpec

%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
%define min_libfabric_ver 1.4.2
%define min_ndctl_ver 60.1
%define upstreamversion 1.4.2
Name: nvml
Summary: Persistent Memory Development Kit (formerly NVML)
Version: 1.4.2
Release: 7
License: BSD-3-Clause
URL: http://pmem.io/pmdk
Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz
BuildRequires: gcc make glibc-devel autoconf automake man doxygen pkgconfig
BuildRequires: ndctl-devel >= %{min_ndctl_ver} daxctl-devel >= %{min_ndctl_ver}
BuildRequires: libfabric-devel >= %{min_libfabric_ver}
Requires: libfabric >= %{min_libfabric_ver} openssh-clients
ExclusiveArch: x86_64
Provides: libpmemobj++-static = %{version}-%{release}
Obsoletes: nvml-tools < %{version}-%{release}
Obsoletes: libpmemblk-debug < %{version}-%{release}
Obsoletes: libpmemblk-devel < %{version}-%{release}
Obsoletes: libpmemblk < %{version}-%{release}
Obsoletes: libpmem-debug < %{version}-%{release}
Obsoletes: libpmem-devel < %{version}-%{release}
Obsoletes: libpmemlog < %{version}-%{release}
Obsoletes: libpmem < %{version}-%{release}
Obsoletes: libpmemobj++-devel < %{version}-%{release}
Obsoletes: libvmmalloc-debug < %{version}-%{release}
Obsoletes: libvmmalloc-devel < %{version}-%{release}
Obsoletes: libvmmalloc < %{version}-%{release}
Obsoletes: libvmem-debug < %{version}-%{release}
Obsoletes: libvmem-devel < %{version}-%{release}
Obsoletes: libvmem < %{version}-%{release}
Obsoletes: libpmemobj-devel < %{version}-%{release}
Obsoletes: libpmemobj < %{version}-%{release}
Obsoletes: libpmemlog-debug < %{version}-%{release}
Obsoletes: libpmemlog-devel < %{version}-%{release}
Obsoletes: daxio < %{version}-%{release}
Obsoletes: libpmemcto-devel < %{version}-%{release}
Obsoletes: pmempool < %{version}-%{release}
Obsoletes: libpmemcto-debug < %{version}-%{release}
Obsoletes: libpmemcto < %{version}-%{release}
Obsoletes: rpmemd < %{version}-%{release}
Obsoletes: libpmempool < %{version}-%{release}
Obsoletes: libpmempool-devel < %{version}-%{release}
Obsoletes: libpmempool-debug < %{version}-%{release}
Obsoletes: librpmem < %{version}-%{release}
Obsoletes: librpmem-devel < %{version}-%{release}
Obsoletes: libpmemobj-debug < %{version}-%{release}
Obsoletes: librpmem-debug < %{version}-%{release}
Provides: libpmemblk-debug = %{version}-%{release}
Provides: libpmemblk-devel = %{version}-%{release}
Provides: libpmemblk = %{version}-%{release}
Provides: libpmem-debug = %{version}-%{release}
Provides: libpmem-devel = %{version}-%{release}
Provides: libpmemlog = %{version}-%{release}
Provides: libpmem = %{version}-%{release}
Provides: libpmemobj++-devel = %{version}-%{release}
Provides: libvmmalloc-debug = %{version}-%{release}
Provides: libvmmalloc-devel = %{version}-%{release}
Provides: libvmmalloc = %{version}-%{release}
Provides: libvmem-debug = %{version}-%{release}
Provides: libvmem-devel = %{version}-%{release}
Provides: libvmem = %{version}-%{release}
Provides: libpmemobj-devel = %{version}-%{release}
Provides: libpmemobj
Provides: libpmemlog-debug = %{version}-%{release}
Provides: libpmemlog-devel = %{version}-%{release}
Provides: daxio
Provides: libpmemcto-devel = %{version}-%{release}
Provides: pmempool = %{version}-%{release}
Provides: libpmemcto-debug = %{version}-%{release}
Provides: libpmemcto = %{version}-%{release}
Provides: rpmemd = %{version}-%{release}
Provides: libpmempool = %{version}-%{release}
Provides: libpmempool-devel = %{version}-%{release}
Provides: libpmempool-debug = %{version}-%{release}
Provides: librpmem = %{version}-%{release}
Provides: librpmem-devel = %{version}-%{release}
Provides: libpmemobj-debug = %{version}-%{release}
Provides: librpmem-debug = %{version}-%{release}
Patch0000: fix-build-error.patch
Patch0001: delete-extra-tests.patch
Patch0002: Initialize-child_idx.patch
Patch0003: fix-build-with-gcc-9.patch
Patch0004: change-daxctl-include.patch
%description
The Persistent Memory Development Kit (PMDK), formerly known as NVML, is
a growing collection of libraries and tools. Tuned and validated on both
Linux and Windows, the libraries build on the DAX feature of those operating
systems (short for Direct Access) which allows applications to access persistent
memory as memory-mapped files
%package_help
%prep
%autosetup -p1 -n pmdk-%{upstreamversion}
%build
CFLAGS="%{optflags}" \
LDFLAGS="%{?__global_ldflags}" \
make -j1 NORPATH=1
%install
make install DESTDIR=%{buildroot} \
LIB_AR= \
prefix=%{_prefix} \
libdir=%{_libdir} \
includedir=%{_includedir} \
mandir=%{_mandir} \
bindir=%{_bindir} \
sysconfdir=%{_sysconfdir} \
docdir=%{_docdir} \
CPP_DOC_DIR=libpmemobj++-devel
mkdir -p %{buildroot}%{_datadir}/pmdk
cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
%check
echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
#make check
%ldconfig_scriptlets
%files
%license LICENSE
%doc ChangeLog CONTRIBUTING.md README.md
%dir %{_datadir}/pmdk
%{_libdir}/libpmem.so.*
%{_datadir}/pmdk/pmdk.magic
%{_libdir}/libpmem.so
%{_libdir}/pkgconfig/libpmem.pc
%{_includedir}/libpmem.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmem.so
%{_libdir}/pmdk_debug/libpmem.so.*
%{_libdir}/libpmemblk.so.*
%{_libdir}/libpmemblk.so
%{_libdir}/pkgconfig/libpmemblk.pc
%{_includedir}/libpmemblk.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmemblk.so
%{_libdir}/pmdk_debug/libpmemblk.so.*
%{_libdir}/libpmemlog.so.*
%{_libdir}/libpmemlog.so
%{_libdir}/pkgconfig/libpmemlog.pc
%{_includedir}/libpmemlog.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmemlog.so
%{_libdir}/pmdk_debug/libpmemlog.so.*
%{_libdir}/libpmemobj.so.*
%{_libdir}/libpmemobj.so
%{_libdir}/pkgconfig/libpmemobj.pc
%{_includedir}/libpmemobj.h
%{_includedir}/libpmemobj/*.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmemobj.so
%{_libdir}/pmdk_debug/libpmemobj.so.*
%{_libdir}/libvmem.so
%{_libdir}/pkgconfig/libvmem.pc
%{_includedir}/libvmem.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libvmem.so
%{_libdir}/pmdk_debug/libvmem.so.*
%{_libdir}/libvmmalloc.so.*
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libvmmalloc.so
%{_libdir}/pmdk_debug/libvmmalloc.so.*
%{_libdir}/pkgconfig/libpmemobj++.pc
%{_includedir}/libpmemobj++/*.hpp
%{_includedir}/libpmemobj++/detail/*.hpp
%{_docdir}/libpmemobj++-devel/*
%{_libdir}/libpmempool.so.*
%{_libdir}/libpmempool.so
%{_libdir}/pkgconfig/libpmempool.pc
%{_includedir}/libpmempool.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmempool.so
%{_libdir}/pmdk_debug/libpmempool.so.*
%{_libdir}/librpmem.so.*
%{_libdir}/librpmem.so
%{_libdir}/pkgconfig/librpmem.pc
%{_includedir}/librpmem.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/librpmem.so
%{_libdir}/pmdk_debug/librpmem.so.*
%{_bindir}/rpmemd
%{_libdir}/libpmemcto.so.*
%{_libdir}/libpmemcto.so
%{_libdir}/pkgconfig/libpmemcto.pc
%{_includedir}/libpmemcto.h
%dir %{_libdir}/pmdk_debug
%{_libdir}/pmdk_debug/libpmemcto.so
%{_libdir}/pmdk_debug/libpmemcto.so.*
%{_bindir}/pmempool
%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool
%{_bindir}/daxio
%{_libdir}/libvmmalloc.so
%{_libdir}/pkgconfig/libvmmalloc.pc
%{_includedir}/libvmmalloc.h
%{_libdir}/libvmem.so.*
%files help
%{_mandir}/man1/pmempool.1.gz
%{_mandir}/man1/pmempool-*.1.gz
%{_mandir}/man1/daxio.1.gz
%{_mandir}/man1/rpmemd.1.gz
%{_mandir}/man3/pmem_*.3.gz
%{_mandir}/man3/pmemblk_*.3.gz
%{_mandir}/man3/pmemlog_*.3.gz
%{_mandir}/man3/pmemobj_*.3.gz
%{_mandir}/man3/pobj_*.3.gz
%{_mandir}/man3/oid_*.3.gz
%{_mandir}/man3/toid*.3.gz
%{_mandir}/man3/direct_*.3.gz
%{_mandir}/man3/d_r*.3.gz
%{_mandir}/man3/tx_*.3.gz
%{_mandir}/man3/vmem_*.3.gz
%{_mandir}/man3/pmempool_*.3.gz
%{_mandir}/man3/rpmem_*.3.gz
%{_mandir}/man3/pmemcto*.3.gz
%{_mandir}/man5/poolset.5.gz
%{_mandir}/man5/poolset.5.gz
%{_mandir}/man5/poolset.5.gz
%{_mandir}/man5/poolset.5.gz
%{_mandir}/man5/poolset.5.gz
%{_mandir}/man7/libpmem.7.gz
%{_mandir}/man7/libpmemblk.7.gz
%{_mandir}/man7/libpmemlog.7.gz
%{_mandir}/man7/libpmemobj.7.gz
%{_mandir}/man7/libvmem.7.gz
%{_mandir}/man7/libpmempool.7.gz
%{_mandir}/man7/librpmem.7.gz
%{_mandir}/man7/libpmemcto.7.gz
%{_mandir}/man7/libvmmalloc.7.gz
%if 0%{?__debug_package} == 0
%debug_package
%endif
%changelog
* Wed Jan 11 2023 Ge Wang<wangge20@h-partners.com> - 1.4.2-7
- fix build failure
* Wed Jul 21 2021 wangyue<wangyue92@huawei.com> - 1.4.2-6
- Remove gdb from Buildrequires
* Mon Jan 25 2021 lingsheng<lingsheng@huawei.com> - 1.4.2-5
- Initialize child_idx to fix warning
* Wed Aug 19 2020 lingsheng<lingsheng@huawei.com> - 1.4.2-4
- Disable check
* Tue Jul 28 2020 wutao<wutao61@huawei.com> - 1.4.2-3
- fix build error problems and delete extra tests
* Fri Dec 6 2019 caomeng<caomeng5@huawei.com> - 1.4.2-2
- Package init