X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=pkg%2Fdpdk.spec;h=e38e2a2dbfd4af35a071ed70904008ae4b749435;hb=f7db6f821e96eaa2edb5d9035cc8e87489353daa;hp=5f6ec6a2d07ca396151f9afd37fa29d2a63a62ca;hpb=493db80afd009eea35ee7d95ad4aba49df5113a3;p=dpdk.git diff --git a/pkg/dpdk.spec b/pkg/dpdk.spec index 5f6ec6a2d0..e38e2a2dbf 100644 --- a/pkg/dpdk.spec +++ b/pkg/dpdk.spec @@ -30,7 +30,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. Name: dpdk -Version: 2.0.0 +Version: 17.05 Release: 1 Packager: packaging@6wind.com URL: http://dpdk.org @@ -40,13 +40,23 @@ Summary: Data Plane Development Kit core Group: System Environment/Libraries License: BSD and LGPLv2 and GPLv2 -ExclusiveArch: i686, x86_64 -%global target %{_arch}-native-linuxapp-gcc +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 - -BuildRequires: kernel-devel, kernel-headers, libpcap-devel, xen-devel +%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, texlive-collection-fontsextra +BuildRequires: texlive-collection-latexextra %description DPDK core includes kernel modules, core libraries and tools. @@ -69,73 +79,47 @@ BuildArch: noarch DPDK doc is divided in two parts: API details in doxygen HTML format and guides in sphinx HTML/PDF formats. -%global destdir %{buildroot}%{_prefix} -%global moddir /lib/modules/%(uname -r)/extra -%global datadir %{_datadir}/dpdk -%global docdir %{_docdir}/dpdk - %prep %setup -q %build -make O=%{target} T=%{target} config +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 -sed -ri 's,(LIBRTE_XEN_DOM0=).*,\1y,' %{target}/.config +%endif 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/*nic_bind.py %{buildroot}%{_sbindir}/dpdk_nic_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} -mkdir -p %{buildroot}%{docdir} -rm -rf %{destdir}/%{target}/doc/*/*/.{build,doc}* -mv %{destdir}/%{target}/doc/html/* %{buildroot}%{docdir} -mv %{destdir}/%{target}/doc/*/*/*pdf %{buildroot}%{docdir}/guides -rm -rf %{destdir}/%{target}/doc -mkdir -p %{buildroot}%{datadir} -mv %{destdir}/%{target}/.config %{buildroot}%{datadir}/config -mv %{destdir}/%{target} %{buildroot}%{datadir} -mv %{destdir}/scripts %{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 +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} -%{datadir}/config -%{datadir}/tools -%{moddir}/* +%dir %{_datadir}/dpdk +%{_datadir}/dpdk/usertools +/lib/modules/%(uname -r)/extra/* %{_sbindir}/* %{_bindir}/* %{_libdir}/* %files devel -%{_includedir}/* -%{datadir}/mk -%{datadir}/scripts -%{datadir}/%{target} -%{datadir}/examples +%{_includedir}/dpdk +%{_datadir}/dpdk/mk +%{_datadir}/dpdk/buildtools +%{_datadir}/dpdk/%{target} +%{_datadir}/dpdk/examples %files doc -%doc %{docdir} +%doc %{_docdir}/dpdk %post /sbin/ldconfig