Imported Upstream version 16.04
[deb_dpdk.git] / pkg / dpdk.spec
diff --git a/pkg/dpdk.spec b/pkg/dpdk.spec
new file mode 100644 (file)
index 0000000..953f46c
--- /dev/null
@@ -0,0 +1,120 @@
+# 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: 16.04
+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
+%global machine default
+%global target %{_arch}-%{machine}-linuxapp-gcc
+%global config %{_arch}-native-linuxapp-gcc
+
+BuildRequires: kernel-devel, kernel-headers, libpcap-devel, xen-devel
+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
+sed -ri 's,(LIBRTE_PMD_XENVIRT=).*,\1y,'   %{target}/.config
+sed -ri 's,(LIBRTE_XEN_DOM0=).*,\1y,'      %{target}/.config
+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/tools
+/lib/modules/%(uname -r)/extra/*
+%{_sbindir}/*
+%{_bindir}/*
+%{_libdir}/*
+
+%files devel
+%{_includedir}/dpdk
+%{_datadir}/dpdk/mk
+%{_datadir}/dpdk/scripts
+%{_datadir}/dpdk/%{target}
+%{_datadir}/dpdk/examples
+
+%files doc
+%doc %{_docdir}/dpdk
+
+%post
+/sbin/ldconfig
+/sbin/depmod
+
+%postun
+/sbin/ldconfig
+/sbin/depmod