diff options
Diffstat (limited to 'src/seastar/dpdk/pkg/dpdk.spec')
-rw-r--r-- | src/seastar/dpdk/pkg/dpdk.spec | 130 |
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 |