summaryrefslogtreecommitdiffstats
path: root/src/spdk/pkg
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/spdk/pkg
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/spdk/pkg')
-rw-r--r--src/spdk/pkg/spdk.spec154
1 files changed, 154 insertions, 0 deletions
diff --git a/src/spdk/pkg/spdk.spec b/src/spdk/pkg/spdk.spec
new file mode 100644
index 000000000..f2f9a5a01
--- /dev/null
+++ b/src/spdk/pkg/spdk.spec
@@ -0,0 +1,154 @@
+# Build documentation package
+%bcond_with doc
+
+Name: spdk
+Version: 20.07
+Release: 0%{?dist}
+Epoch: 0
+URL: http://spdk.io
+
+Source: https://github.com/spdk/spdk/archive/v20.07.tar.gz
+Summary: Set of libraries and utilities for high performance user-mode storage
+
+%define package_version %{epoch}:%{version}-%{release}
+
+%define install_datadir %{buildroot}/%{_datadir}/%{name}
+%define install_sbindir %{buildroot}/%{_sbindir}
+%define install_docdir %{buildroot}/%{_docdir}/%{name}
+
+License: BSD
+
+# Only x86_64 is supported
+ExclusiveArch: x86_64
+
+BuildRequires: gcc gcc-c++ make
+BuildRequires: dpdk-devel, numactl-devel
+BuildRequires: libiscsi-devel, libaio-devel, openssl-devel, libuuid-devel
+BuildRequires: libibverbs-devel, librdmacm-devel
+%if %{with doc}
+BuildRequires: doxygen mscgen graphviz
+%endif
+
+# Install dependencies
+Requires: dpdk >= 17.11, numactl-libs, openssl-libs
+Requires: libiscsi, libaio, libuuid
+# NVMe over Fabrics
+Requires: librdmacm, librdmacm
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
+%description
+The Storage Performance Development Kit provides a set of tools
+and libraries for writing high performance, scalable, user-mode storage
+applications.
+
+
+%package devel
+Summary: Storage Performance Development Kit development files
+Requires: %{name}%{?_isa} = %{package_version}
+Provides: %{name}-static%{?_isa} = %{package_version}
+
+%description devel
+This package contains the headers and other files needed for
+developing applications with the Storage Performance Development Kit.
+
+
+%package tools
+Summary: Storage Performance Development Kit tools files
+Requires: %{name}%{?_isa} = %{package_version} python3 python3-configshell python3-pexpect
+BuildArch: noarch
+
+%description tools
+%{summary}
+
+
+%if %{with doc}
+%package doc
+Summary: Storage Performance Development Kit documentation
+BuildArch: noarch
+
+%description doc
+%{summary}
+%endif
+
+
+%prep
+# add -q
+%autosetup -n spdk-%{version}
+
+
+%build
+./configure --prefix=%{_usr} \
+ --disable-tests \
+ --disable-unit-tests \
+ --without-crypto \
+ --with-dpdk=/usr/share/dpdk/x86_64-default-linuxapp-gcc \
+ --without-fio \
+ --with-vhost \
+ --without-pmdk \
+ --without-vpp \
+ --without-rbd \
+ --with-rdma \
+ --with-shared \
+ --with-iscsi-initiator \
+ --without-vtune
+
+make -j`nproc` all
+
+%if %{with doc}
+make -C doc
+%endif
+
+%install
+%make_install -j`nproc` prefix=%{_usr} libdir=%{_libdir} datadir=%{_datadir}
+
+# Install tools
+mkdir -p %{install_datadir}
+find scripts -type f -regextype egrep -regex '.*(spdkcli|rpc).*[.]py' \
+ -exec cp --parents -t %{install_datadir} {} ";"
+
+# env is banned - replace '/usr/bin/env anything' with '/usr/bin/anything'
+find %{install_datadir}/scripts -type f -regextype egrep -regex '.*([.]py|[.]sh)' \
+ -exec sed -i -E '1s@#!/usr/bin/env (.*)@#!/usr/bin/\1@' {} +
+
+# symlinks to tools
+mkdir -p %{install_sbindir}
+ln -sf -r %{install_datadir}/scripts/rpc.py %{install_sbindir}/%{name}-rpc
+ln -sf -r %{install_datadir}/scripts/spdkcli.py %{install_sbindir}/%{name}-cli
+
+%if %{with doc}
+# Install doc
+mkdir -p %{install_docdir}
+mv doc/output/html/ %{install_docdir}
+%endif
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+
+%files
+%{_bindir}/spdk_*
+%{_libdir}/*.so.*
+
+
+%files devel
+%{_includedir}/%{name}
+%{_libdir}/*.a
+%{_libdir}/*.so
+
+
+%files tools
+%{_datadir}/%{name}/scripts
+%{_sbindir}/%{name}-rpc
+%{_sbindir}/%{name}-cli
+
+%if %{with doc}
+%files doc
+%{_docdir}/%{name}
+%endif
+
+
+%changelog
+* Tue Sep 18 2018 Pawel Wodkowski <pawelx.wodkowski@intel.com> - 0:18.07-3
+- Initial RPM release