[dpdk-dev] [memnic PATCH v2 2/4] pkg: add recipe for RPM

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Apr 30 02:46:43 CEST 2014


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



More information about the dev mailing list