Packages can be built with: rpmbuild -ta memnic-1.0.tar.gz There are packages for kernel module and PMD versions.
Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> --- pkg/dpdk-memnic.spec | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 pkg/dpdk-memnic.spec diff --git a/pkg/dpdk-memnic.spec b/pkg/dpdk-memnic.spec new file mode 100644 index 0000000..656411f --- /dev/null +++ b/pkg/dpdk-memnic.spec @@ -0,0 +1,107 @@ +# 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: memnic +Version: 1.0 +Release: 1 +Packager: packaging at 6wind.com +URL: http://dpdk.org/doc/memnic-pmd +Source: http://dpdk.org/browse/memnic/snapshot/%{name}-%{version}.tar.gz + +Summary: MEMNIC +Group: System Environment/Libraries +License: BSD and GPLv2 + +ExclusiveArch: i686, x86_64 +%define target %{_arch}-default-linuxapp-gcc + +%description +Dummy main package. Make only subpackages. + +%package -n dpdk-memnic-1 +BuildRequires: dpdk-core-1.6.0-devel +Requires: dpdk-core-1.6.0 +Summary: MEMNIC driver for Intel(r) Data Plane Development Kit +%description -n dpdk-memnic-1 +MEMNIC is a paravirtualized network interface (PMD) based +on memory copy and introduced by NEC. +It has similar concepts to virtio-net, but does not use the vring framework. +Instead, it is based on a queue of mailboxed packets which are copied +in IVSHMEM between the host and the guest. + +%define datadir %{_datadir}/dpdk +%define docdir %{_docdir}/dpdk + +%package kmod +BuildRequires: kernel-devel +Summary: MEMNIC kernel driver +%description kmod +MEMNIC is a paravirtualized network interface (netdevice driver) based +on memory copy and introduced by NEC. +It has similar concepts to virtio-net, but does not use the vring framework. +Instead, it is based on a queue of mailboxed packets which are copied +in IVSHMEM between the host and the guest. + +%define modroot /lib/modules/%(uname -r) +%define kerneldir %{modroot}/build +%define moddir %{modroot}/extra + +%prep +%setup -qn %{name}-%{version} + +%build +make %{?_smp_mflags} -C pmd RTE_INCLUDE=%{datadir}/%{target}/include +make %{?_smp_mflags} -C %{kerneldir} M=$(pwd)/linux + +%install +rm -rf %{buildroot} +make install -C pmd DESTDIR=%{buildroot} libdir=%{_libdir} docdir=%{docdir} +make modules_install -C %{kerneldir} M=$(pwd)/linux INSTALL_MOD_PATH=%{buildroot} +rm -f %{buildroot}%{modroot}/modules.* + +%files -n dpdk-memnic-1 +%{_libdir}/* +%doc %{docdir} + +%files kmod +%{moddir}/* + +%post dpdk-memnic-1 +/sbin/ldconfig + +%postun dpdk-memnic-1 +/sbin/ldconfig + +%post kmod +/sbin/depmod + +%postun kmod +/sbin/depmod -- 1.9.2