nvml/nvml.spec
2020-12-04 16:12:15 +08:00

254 lines
8.2 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}
%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
sed -i 's/uint16_t checksum;/uint16_t checksum = 0;/g' src/test/obj_realloc/obj_realloc.c
sed -i 's/size_t check_size;/size_t check_size = 0;/g' src/test/obj_realloc/obj_realloc.c
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
* Gri Dec 4 2020 Ge Wang <wangge20@huawei.com> - 1.4.2-3
- Fix coding error to solve check failure
* Fri Dec 6 2019 caomeng<caomeng5@huawei.com> - 1.4.2-2
- Package init