nvml/nvml.spec
2020-07-28 10:41:22 +08:00

255 lines
8.1 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: 3
License: BSD
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 gdb
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
%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 %{?_smp_mflags} 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
* 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