From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f51.google.com (mail-wg0-f51.google.com [74.125.82.51]) by dpdk.org (Postfix) with ESMTP id 3CF1B68A2 for ; Tue, 4 Feb 2014 16:53:33 +0100 (CET) Received: by mail-wg0-f51.google.com with SMTP id z12so12799210wgg.18 for ; Tue, 04 Feb 2014 07:54:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Gaq09oS88M1CGZGUBUfcWKlO1vUFQQBuiKMDD8ljCCI=; b=ixpCkHYwQkz1M3YxysISa6weJq4hvSaat9GOkZrqQE7rCE6E9mR28/aeydLMUCF3lb 3BzF/U0GttV0a1uJVBrk1nx8TMdhJUSgEgdWHprJw5G23chYytJd2cy+VVZ5/ndgeRXF vtRXHuhy4z4fvPbLgRsq0V/QtKhMperAq6IR8pvL5rd1M7VHMr4pfLgf/w3e54FmX5mW 38S7a6pdF5s5jadJHrK7+10xIzMkrK1sRVX3UsPROa+SpGGw7sA1Hyb5j/bk3swMV5vB ayPVvClf3VlSZgK2Krm1AFU+tVtVM8qvKmNpdNYGHX8yOSKV1CkO6VO7aqcw7dpEu+zw Q95g== X-Gm-Message-State: ALoCoQk5VNcihiwh+4yKkw/4osRy0uxaT64A1ak8r4BRCyR7G+tABIRuKIY0Ecsjuot9d/OJ5/8F X-Received: by 10.195.12.200 with SMTP id es8mr921480wjd.77.1391529293877; Tue, 04 Feb 2014 07:54:53 -0800 (PST) Received: from angus.dev.6wind.com (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id q2sm53639203wjq.0.2014.02.04.07.54.52 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Feb 2014 07:54:53 -0800 (PST) From: Thomas Monjalon To: dev@dpdk.org Date: Tue, 4 Feb 2014 16:54:18 +0100 Message-Id: <1391529271-24606-4-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1391529271-24606-1-git-send-email-thomas.monjalon@6wind.com> References: <1391529271-24606-1-git-send-email-thomas.monjalon@6wind.com> Subject: [dpdk-dev] [PATCH 03/16] pkg: add recipe for RPM X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Feb 2014 15:53:33 -0000 Packages can be built with: RPM_BUILD_NCPUS=8 rpmbuild -ta dpdk-1.5.2r2.tar.gz There are packages for runtime, static libraries and development. Once devel package installed, it can be used like this: make -C /usr/share/dpdk/examples/helloworld RTE_SDK=/usr/share/dpdk Signed-off-by: Thomas Monjalon --- pkg/rpm.spec | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 pkg/rpm.spec diff --git a/pkg/rpm.spec b/pkg/rpm.spec new file mode 100644 index 0000000..d806d55 --- /dev/null +++ b/pkg/rpm.spec @@ -0,0 +1,143 @@ +# 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: 1.5.2r1 +Release: 1 +Packager: packaging@6wind.com +URL: http://dpdk.org +Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{version}.tar.gz + +Summary: Intel(r) Data Plane Development Kit +Group: System Environment/Libraries +License: BSD and LGPLv2 and GPLv2 + +ExclusiveArch: i686, x86_64 +%define target %{_arch}-default-linuxapp-gcc +%define machine default + +BuildRequires: kernel-devel, kernel-headers, doxygen + +%description +Dummy main package. Make only subpackages. + +%package core-runtime +Summary: Intel(r) Data Plane Development Kit core for runtime +%description core-runtime +Intel(r) DPDK runtime 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 core-static +Requires: %{name}-core-runtime +Summary: Intel(r) Data Plane Development Kit core as static libraries +%description core-static +Intel(r) DPDK static provides static version of the core libraries +for fast packet processing on x86 platforms. +More libraries are available as extensions in other packages. + +%package core-devel +Requires: %{name}-core-static +Summary: Intel(r) Data Plane Development Kit core for development +%description core-devel +Intel(r) DPDK devel is a set of makefiles, headers, examples and documentation +for fast packet processing on x86 platforms. +More libraries are available as extensions in other packages. + +# debuginfo packaging is broken +%define debug_package %{nil} + +%define destdir %{buildroot}%{_prefix} +%define moddir /lib/modules/%(uname -r)/extra +%define datadir %{_datadir}/%{name} +%define docdir %{_docdir}/%{name} + +%prep +%setup -q + +%build +make O=%{target} T=%{target} 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 +make O=%{target} %{?_smp_mflags} +cp %{target}/lib/*.so %{target} +sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1n,' %{target}/.config +make O=%{target} %{?_smp_mflags} +make O=%{target} doc + +%install +rm -rf %{buildroot} +make O=%{target} DESTDIR=%{destdir} +mkdir -p %{buildroot}%{moddir} +mv %{destdir}/%{target}/kmod/*.ko %{buildroot}%{moddir} +rmdir %{destdir}/%{target}/kmod +mkdir -p %{buildroot}%{_sbindir} +ln -s %{datadir}/tools/igb_uio_bind.py %{buildroot}%{_sbindir}/igb_uio_bind +mkdir -p %{buildroot}%{_bindir} +mv %{destdir}/%{target}/app/testpmd %{buildroot}%{_bindir} +rmdir %{destdir}/%{target}/app +mv %{destdir}/%{target}/include %{buildroot}%{_includedir} +mv %{destdir}/%{target}/lib %{buildroot}%{_libdir} +mv %{destdir}/%{target}/*.so %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{docdir} +mv %{destdir}/%{target}/doc/* %{buildroot}%{docdir} +rmdir %{destdir}/%{target}/doc +mkdir -p %{buildroot}%{datadir} +mv %{destdir}/%{target}/.config %{buildroot}%{datadir}/config +mv %{destdir}/%{target} %{buildroot}%{datadir} +mv %{destdir}/mk %{buildroot}%{datadir} +cp -a examples %{buildroot}%{datadir} +cp -a tools %{buildroot}%{datadir} +ln -s %{datadir}/config %{buildroot}%{datadir}/%{target}/.config +ln -s %{_includedir} %{buildroot}%{datadir}/%{target}/include +ln -s %{_libdir} %{buildroot}%{datadir}/%{target}/lib + +%files core-runtime +%dir %{datadir} +%{datadir}/config +%{datadir}/tools +%{moddir}/* +%{_sbindir}/* +%{_bindir}/* +%{_libdir}/*.so + +%files core-static +%{_libdir}/*.a + +%files core-devel +%{_includedir}/* +%{datadir}/mk +%{datadir}/%{target} +%{datadir}/examples +%doc %{docdir} -- 1.7.10.4