summaryrefslogtreecommitdiffstats
path: root/src/seastar/dpdk/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'src/seastar/dpdk/pkg')
-rw-r--r--src/seastar/dpdk/pkg/dpdk.spec130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/seastar/dpdk/pkg/dpdk.spec b/src/seastar/dpdk/pkg/dpdk.spec
new file mode 100644
index 00000000..e38e2a2d
--- /dev/null
+++ b/src/seastar/dpdk/pkg/dpdk.spec
@@ -0,0 +1,130 @@
+# Copyright 2014 6WIND S.A.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of 6WIND S.A. nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Name: dpdk
+Version: 17.05
+Release: 1
+Packager: packaging@6wind.com
+URL: http://dpdk.org
+Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{version}.tar.gz
+
+Summary: Data Plane Development Kit core
+Group: System Environment/Libraries
+License: BSD and LGPLv2 and GPLv2
+
+ExclusiveArch: i686 x86_64 aarch64
+%ifarch aarch64
+%global machine armv8a
+%global target arm64-%{machine}-linuxapp-gcc
+%global config arm64-%{machine}-linuxapp-gcc
+%else
+%global machine default
+%global target %{_arch}-%{machine}-linuxapp-gcc
+%global config %{_arch}-native-linuxapp-gcc
+%endif
+
+BuildRequires: kernel-devel, kernel-headers, libpcap-devel
+%ifarch i686 x86_64
+BuildRequires: xen-devel
+%endif
+BuildRequires: doxygen, python-sphinx, inkscape
+BuildRequires: texlive-collection-latexextra
+
+%description
+DPDK core includes kernel modules, core libraries and tools.
+testpmd application allows to test fast packet processing environments
+on x86 platforms. For instance, it can be used to check that environment
+can support fast path applications such as 6WINDGate, pktgen, rumptcpip, etc.
+More libraries are available as extensions in other packages.
+
+%package devel
+Summary: Data Plane Development Kit for development
+Requires: %{name}%{?_isa} = %{version}-%{release}
+%description devel
+DPDK devel is a set of makefiles, headers and examples
+for fast packet processing on x86 platforms.
+
+%package doc
+Summary: Data Plane Development Kit API documentation
+BuildArch: noarch
+%description doc
+DPDK doc is divided in two parts: API details in doxygen HTML format
+and guides in sphinx HTML/PDF formats.
+
+%prep
+%setup -q
+
+%build
+make O=%{target} T=%{config} config
+sed -ri 's,(RTE_MACHINE=).*,\1%{machine},' %{target}/.config
+sed -ri 's,(RTE_APP_TEST=).*,\1n,' %{target}/.config
+sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' %{target}/.config
+sed -ri 's,(RTE_NEXT_ABI=).*,\1n,' %{target}/.config
+sed -ri 's,(LIBRTE_VHOST=).*,\1y,' %{target}/.config
+sed -ri 's,(LIBRTE_PMD_PCAP=).*,\1y,' %{target}/.config
+%ifarch i686 x86_64
+sed -ri 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' %{target}/.config
+%endif
+make O=%{target} %{?_smp_mflags}
+make O=%{target} doc
+
+%install
+rm -rf %{buildroot}
+make install O=%{target} DESTDIR=%{buildroot} \
+ prefix=%{_prefix} bindir=%{_bindir} sbindir=%{_sbindir} \
+ includedir=%{_includedir}/dpdk libdir=%{_libdir} \
+ datadir=%{_datadir}/dpdk docdir=%{_docdir}/dpdk
+
+%files
+%dir %{_datadir}/dpdk
+%{_datadir}/dpdk/usertools
+/lib/modules/%(uname -r)/extra/*
+%{_sbindir}/*
+%{_bindir}/*
+%{_libdir}/*
+
+%files devel
+%{_includedir}/dpdk
+%{_datadir}/dpdk/mk
+%{_datadir}/dpdk/buildtools
+%{_datadir}/dpdk/%{target}
+%{_datadir}/dpdk/examples
+
+%files doc
+%doc %{_docdir}/dpdk
+
+%post
+/sbin/ldconfig
+/sbin/depmod
+
+%postun
+/sbin/ldconfig
+/sbin/depmod