Hello community,

here is the log from the commit of package dpdk for openSUSE:Factory checked in 
at 2017-01-30 10:47:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dpdk (Old)
 and      /work/SRC/openSUSE:Factory/.dpdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dpdk"

Changes:
--------
New Changes file:

--- /dev/null   2017-01-26 09:49:33.150892021 +0100
+++ /work/SRC/openSUSE:Factory/.dpdk.new/dpdk-thunderx.changes  2017-02-03 
17:35:59.807174883 +0100
@@ -0,0 +1,325 @@
+-------------------------------------------------------------------
+Fri Jan 20 11:01:47 CET 2017 -  [email protected]
+
+- Added gcc-6 as default compiler for CRC/mtune & other optimizations.
+- Fix possible parallel installation of dpdk subpackages.
+
+-------------------------------------------------------------------
+Wed Jan  4 18:11:17 CET 2017 -  [email protected]
+
+- Add pre_checkin.sh to generate the dpdk-thunderx.spec file
+
+-------------------------------------------------------------------
+Mon Dec 12 11:35:44 UTC 2016 - [email protected]
+
+- Fixed paths using %{name} to have the dpdk.spec aligned with 
dpdk-thunderx.spec
+
+-------------------------------------------------------------------
+Mon Dec 12 11:08:37 UTC 2016 - [email protected]
+
+- Added back in all the architectures to keep .spec files aligned
+  * Driving thunderx platform architectural dependency via the ExclusiveArch 
tag
+
+-------------------------------------------------------------------
+Mon Dec 12 10:30:00 UTC 2016 - [email protected]
+
+- Added support to build code for Thunderx platform(fate#321960).
+- Introduced new dpdk-thunderx.spec file:
+  * Removed architectures not supporting Thunderx platform (e.g. x86)
+  * Added dependency on gcc v5.0 for armv8a-crc
+
+-------------------------------------------------------------------
+Wed Nov 30 16:51:47 UTC 2016 - [email protected]
+
+- Update to version 16.07.2. Some of the fixes are listed below:
+  * ethdev: prevent duplicate event callback
+  * hash: fix bucket size usage
+  * hash: fix unlimited cuckoo path
+  * lpm: fix freeing memory
+  * lpm: fix freeing unused sub-table on rule delete
+  * mempool: fix leak if populate fails
+  * mempool: fix search of maximum contiguous pages
+  * pci: fix probing error if no driver found
+  * net/bnx2x: fix maximum PF queues
+  * net/bnxt: fix bit shift size
+  * net/bnxt: fix crash when closing
+  * net/enic: fix Rx queue index when not using Rx scatter
+  * net/enic: fix crash on MTU update or Rx queue reconfigure
+  * net/enic: fix crash with removed flow director filters
+  * net/enic: fix max packet length check
+  * net/enic: fix multi-queue Rx performance
+  * net/enic: revert truncated packets counter fix
+  * net/fm10k: fix VF Tx queue initialization
+  * net/i40e: fix Rx hang when disable LLDP
+  * net/ixgbe: fix VF registers
+  * net/thunderx: fix Tx checksum handling
+  * [The list of changes is rather long so please consult the following
+    resources for the complete list of new features, bugfixes and other
+    changes in this release:
+    - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]
+
+-------------------------------------------------------------------
+Thu Nov 24 15:31:27 UTC 2016 - [email protected]
+
+- Update to version 16.07.1. Some of the fixes are listed below:
+  * contigmem: zero all pages during mmap
+  * crypto/null: fix key size increment value
+  * hash: fix false zero signature key hit lookup
+  * mem: fix crash on hugepage mapping error
+  * mbuf: fix error handling on pool creation
+  * net/e1000: fix returned number of available Rx descriptors
+  * net/enic: fix freeing memory for descriptor ring
+  * net/i40e: fix dropping packets with ethertype 0x88A8
+  * net/i40e: fix mbuf leak during Rx queue release
+  * net/i40e: fix null pointer dereferences when using VMDq+RSS
+  * net/ixgbe/base: fix possible corruption of shadow RAM
+  * net/ixgbe: fix VF reset to apply to correct VF
+  * net/virtio_user: fix error management during init
+  * [The list of changes is rather long so please consult the following
+    resources for the complete list of new features, bugfixes and other
+    changes in this release:
+    - 
http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]
+
+-------------------------------------------------------------------
+Thu Oct  6 10:36:52 UTC 2016 - [email protected]
+
+- Drop code for generating our own linker script.
+  * Commit 948fd64befc3 (" mk: replace the combined library with a
+    linker script") added upstream support for building and installing
+    a linker script so we drop our code from the spec file which
+    generated a much larger and possibly broken linker script resulting
+    to linking issues (boo#1002534)
+
+-------------------------------------------------------------------
+Wed Aug 10 16:51:17 CEST 2016 -  [email protected]
+
+- Update to version 16.07. Some of the new features are listed below:
+  * Removed the mempool cache memory if caching is not being used.
+  * Added mempool external cache for non-EAL thread.
+  * Changed the memory allocation scheme in the mempool library.
+  * Added a new driver for Broadcom NetXtreme-C devices.
+  * Added a new driver for ThunderX nicvf devices.
+  * Added mailbox interrupt support for ixgbe and igb VFs.
+  * Updated the ixgbe base driver.
+  * Updated the i40e base driver.
+  * Updated the enic driver.
+  * Updated the mlx5 driver.
+  * Added support for virtio on IBM POWER8.
+  * Added support for Virtio in containers.
+  * Added vhost-user client mode.
+  * Added NSH packet recognition in i40e.
+  * Added AES-CTR support to AESNI MB PMD.
+  * Added AES counter mode support for Intel QuickAssist devices.
+  * Added KASUMI SW PMD.
+  * Added multi-writer support for RTE Hash with Intel TSX.
+  * Improved IP Pipeline Application.
+  * Added keepalive enhancements.
+  * Added packet capture framework.
+  * Added floating VEB support for i40e PF driver.
+  * Added support for live migration of a VM with SRIOV VF.
+  * [The list of changes is rather long so please consult the following
+     resources for the complete list of new features, bugfixes and other
+     changes in this release:
+     - http://dpdk.org/doc/guides/rel_notes/release_16_07.html
+     - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst
+     - Or the doc/guides/rel_notes/release_16_07.rst file in the released
+       tarball.]
+- Removed patches that are already avilable in dpdk-16.07
+       [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch
+         -0003-mk-fix-external-shared-library-dependencies-of-libraries.patch
+         -0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch
+         -0005-d293dac-vhost-claim-support-of-guest-announce.patch
+         -0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch
+         -0007-ixgbe-fix-VLAN-filter-missing-brackets.patch
+         -0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch
+         -0009-bonding-copy-entire-config-structure-in-mode-4.patch
+         -0010-bonding-fix-active-slaves-with-no-primary.patch
+         -0011-bonding-do-not-ignore-multicast-in-mode-4.patch
+         -0012-bonding-do-not-activate-slave-twice.patch
+         -0013-bonding-fix-crash-when-no-slave-device.patch
+         -0014-bonding-fix-detach-of-bonded-device.patch
+         -0015-bonding-fix-detach-of-slave-devices.patch
+         -0016-eal-linux-support-built-in-kernel-modules.patch
+         -0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch
+         -0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch
+         -0019-i40e-base-fix-driver-load-failure.patch
+         -0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch
+         -0021-i40e-fix-inverted-check-for-no-refcount.patch
+         -0022-i40e-fix-overflow.patch
+         -0023-i40e-fix-VLAN-filtering.patch
+         -0024-mempool-fix-leak-when-creation-fails.patch
+         -0025-pcap-fix-captured-frame-length.patch
+         -0026-port-fix-crash-for-ethdev-writer-nodrop.patch
+         -0027-port-fix-crash-for-ring-writer-nodrop.patch
+         -0028-tools-fix-unbinding-failure-handling.patch
+         -0029-tools-support-Python-3-in-bind-script.patch
+         -0030-tools-support-binding-to-built-in-kernel-modules.patch
+         -0031-vhost-fix-leak-of-fds-and-mmaps.patch
+         -0032-virtio-fix-crash-in-statistics-functions.patch
+         -0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch
+         -0034-virtio-fix-restart.patch
+         -0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch
+         -0036-examples-fix-build-dependencies.patch
+         -0037-examples-ethtool-fix-build.patch
+         -0099-mk-fix-gcc-5-version-on-suse.patch
+         -0100-kni-fix-build-with-gcc-6.patch
+         -0101-ixgbe-fix-uninitialized-warning.patch
+         -0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch
+         -0103-e1000-base-Add-missing-braces-to-the-if-statements.patch
+         -0104-igb-fix-constant-sign-in-left-shift-operator.patch
+         -0105-e1000-fix-missing-link-interrupt-check-brackets.patch
+         -0106-app-test-fix-missing-brackets.patch
+         -0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch
+         ]
+
+- Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, 
dpdk-devbind) to keep compatibility.
+- Added a new binary dpdk-pdump dpdk-procinfo
+
+-------------------------------------------------------------------
+Thu Jul 28 16:39:07 CEST 2016 - [email protected]
+
+- Add _constraints file to force build dpdk with sse3 enabled x86 machine.
+- Enable compilation for  ppc64le with the help of RĂ¼diger([email protected]).
+- Enable example package for aarch64 using RĂ¼diger([email protected]) changes.
+- Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings).
+- Disable examples that need LPM which is disabled on non-x86.
+
+  [+0036-examples-fix-build-dependencies.patch,
+   +0037-examples-ethtool-fix-build.patch]
+
+-------------------------------------------------------------------
+Mon Jul 11 18:20:57 CEST 2016 - [email protected]
+
+- Added support for aarch64 compilation. 
+  [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch]
+- Disabled aarch64 dpdk-examples package for the time being as it 
+  contains lots of Intel specific code.
+- Added proper "Group" field for the subpackages .
++++ 128 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.dpdk.new/dpdk-thunderx.changes
--- /work/SRC/openSUSE:Factory/dpdk/dpdk.changes        2016-12-02 
16:43:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dpdk.new/dpdk.changes   2017-02-03 
17:35:59.835170920 +0100
@@ -1,0 +2,30 @@
+Fri Jan 20 11:01:47 CET 2017 -  [email protected]
+
+- Added gcc-6 as default compiler for CRC/mtune & other optimizations.
+- Fix possible parallel installation of dpdk subpackages.
+
+-------------------------------------------------------------------
+Wed Jan  4 18:11:17 CET 2017 -  [email protected]
+
+- Add pre_checkin.sh to generate the dpdk-thunderx.spec file
+
+-------------------------------------------------------------------
+Mon Dec 12 11:35:44 UTC 2016 - [email protected]
+
+- Fixed paths using %{name} to have the dpdk.spec aligned with 
dpdk-thunderx.spec
+
+-------------------------------------------------------------------
+Mon Dec 12 11:08:37 UTC 2016 - [email protected]
+
+- Added back in all the architectures to keep .spec files aligned
+  * Driving thunderx platform architectural dependency via the ExclusiveArch 
tag
+
+-------------------------------------------------------------------
+Mon Dec 12 10:30:00 UTC 2016 - [email protected]
+
+- Added support to build code for Thunderx platform(fate#321960).
+- Introduced new dpdk-thunderx.spec file:
+  * Removed architectures not supporting Thunderx platform (e.g. x86)
+  * Added dependency on gcc v5.0 for armv8a-crc
+
+-------------------------------------------------------------------

New:
----
  dpdk-thunderx.changes
  dpdk-thunderx.spec
  pre_checkin.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dpdk-thunderx.spec ++++++
#
# spec file for package dpdk-thunderx
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define machine native
%define machine2 default
%ifarch x86_64
%define machine native
%define target x86_64-%{machine}-linuxapp-gcc
%endif
%ifarch %ix86
%define machine native
%define target i686-%{machine}-linuxapp-gcc
%endif
%ifarch aarch64
%define machine2 thunderx
%define target arm64-%{machine2}-linuxapp-gcc
%endif
%ifarch ppc64le
%define machine2 power8
%define target ppc_64-%{machine2}-linuxapp-gcc
%endif

%bcond_without shared
# Add option to build without examples
%bcond_without examples
# Add option to build without tools
%bcond_without tools
# Do NOT edit this auto generated file! Edit dpdk.spec instead
# and run 'pre_checkin.sh' before committing
Name:           dpdk-thunderx
Version:        16.07.2
Release:        0
Summary:        Set of libraries and drivers for fast packet processing 
(thunderx)
License:        BSD-3-Clause and GPL-2.0 and LGPL-2.1
Group:          System/Libraries
Url:            http://dpdk.org
Source:         http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
# PATCH-FIX-OPENSUSE 
0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
# This patch was originally taken from the fedora package but they have
# removed it since then because of
# http://osdir.com/ml/scm-fedora-commits/2016-03/msg00849.html
# However, the problem still exists and the fix has to find its way to the
# upstream code.
Patch1:         0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  gcc6
BuildRequires:  libnuma-devel
BuildRequires:  libpcap-devel
BuildRequires:  zlib-devel
ExclusiveArch:  aarch64 x86_64 %ix86 ppc64le
Provides:       dpdk-any = %{version}
Conflicts:      otherproviders(dpdk-any)

%description
The Data Plane Development Kit is a set of libraries and drivers for
fast packet processing in the user space.

%package devel
Summary:        Data Plane Development Kit development files (thunderx)
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Provides:       dpdk-any-devel = %{version}
Conflicts:      otherproviders(dpdk-any-devel)

%description devel
This package contains the headers and other files needed for developing
applications with the Data Plane Development Kit.

%package doc
Summary:        Data Plane Development Kit API documentation (thunderx)
Group:          System/Libraries
BuildArch:      noarch
Provides:       dpdk-any-doc = %{version}
Conflicts:      otherproviders(dpdk-any-doc)

%description doc
API programming documentation for the Data Plane Development Kit.

%if %{with tools}
%package tools
Summary:        Tools for setting up Data Plane Development Kit environment 
(thunderx)
Group:          System/Libraries
Requires:       %{name} = %{version}
Requires:       findutils
Requires:       iproute
Requires:       kmod
Requires:       pciutils
Provides:       dpdk-any-tools = %{version}
Conflicts:      otherproviders(dpdk-any-tools)

%description tools
This package contains tools for setting up Data Plane Development Kit 
environment
%endif

%if %{with examples}
%package examples
Summary:        Data Plane Development Kit example applications (thunderx)
Group:          System/Libraries
BuildRequires:  libvirt-devel
Provides:       dpdk-any-examples = %{version}
Conflicts:      otherproviders(dpdk-any-examples)

%description examples
Example applications utilizing the Data Plane Development Kit, such
as L2 and L3 forwarding.
%endif

%define sdkdir  %{_datadir}/dpdk
%define docdir  %{_docdir}/dpdk
%define incdir %{_includedir}/dpdk
%define pmddir %{_libdir}/dpdk-pmds

%prep
%setup -q -n dpdk-stable-%{version}
%patch1 -p1 -z .enic
# This fixes CROSS compilation (broken) in the mk file for ThunderX
sed -i '/^CROSS /s/^/#/'  mk/machine/thunderx/rte.vars.mk

%build
# set up a method for modifying the resulting .config file
function setconf() {
        if grep -q ^$1= %{target}/.config; then
                sed -i "s:^$1=.*$:$1=$2:g" %{target}/.config
        else
                echo $1=$2 >> %{target}/.config
        fi
}

# In case dpdk-devel is installed, we should ignore its hints about the SDK 
directories
unset RTE_SDK RTE_INCLUDE RTE_TARGET

# For the release, '-Wno-error=array-bounds' is done to prevent a spurious error
# generated by gcc 5.X against the 2.1 branch
export EXTRA_CFLAGS="%{optflags} -Wformat -fPIC -Wno-error=array-bounds"

# DPDK defaults to using builder-specific compiler flags.  However,
# the config has been changed by specifying CONFIG_RTE_MACHINE=default
# in order to build for a more generic host.  NOTE: It is possible that
# the compiler flags used still won't work for all Fedora-supported
# machines, but runtime checks in DPDK will catch those situations.

make CC=gcc-6 V=1 O=%{target} T=%{target} %{?_smp_mflags} config

setconf CONFIG_RTE_MACHINE '"%{machine2}"'
# Disable experimental features
setconf CONFIG_RTE_NEXT_ABI n
setconf CONFIG_RTE_LIBRTE_CRYPTODEV n
setconf CONFIG_RTE_LIBRTE_MBUF_OFFLOAD n

# Enable automatic driver loading from this path
setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"'

setconf CONFIG_RTE_LIBRTE_BNX2X_PMD y
setconf CONFIG_RTE_LIBRTE_PMD_PCAP y
setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y

setconf CONFIG_RTE_EAL_IGB_UIO n
setconf CONFIG_RTE_LIBRTE_KNI n
setconf CONFIG_RTE_KNI_KMOD n
setconf CONFIG_RTE_KNI_PREEMPT_DEFAULT n

%if %{with shared}
setconf CONFIG_RTE_BUILD_SHARED_LIB y
%endif

%ifarch aarch64 ppc64le
setconf CONFIG_RTE_LIBRTE_DISTRIBUTOR n
%endif
%ifarch ppc64le
setconf CONFIG_RTE_LIBRTE_PMD_RING n
%endif

make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags}
make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html

%if %{with examples}
make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
%endif

%install
# In case dpdk-devel is installed
unset RTE_SDK RTE_INCLUDE RTE_TARGET

%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}

%if ! %{with tools}
rm -rf %{buildroot}%{sdkdir}/tools
rm -rf %{buildroot}%{_sbindir}/dpdk_nic_bind
%endif
rm -f %{buildroot}%{sdkdir}/tools/setup.sh
#TODO pip elftools has issues to fix
rm -rf %{buildroot}%{_bindir}/dpdk-pmdinfo

%if %{with examples}
find %{target}/examples/ -name "*.map" | xargs rm -f
for f in %{target}/examples/*/%{target}/app/*; do
    bn=`basename ${f}`
    cp -p ${f} %{buildroot}%{_bindir}/dpdk_example_${bn}
done
%endif

# Create a driver directory with symlinks to all pmds
mkdir -p %{buildroot}/%{pmddir}
for f in %{buildroot}/%{_libdir}/*_pmd_*.so; do
    bn=$(basename ${f})
    ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
done

# Setup RTE_SDK environment as expected by apps etc
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh
if [ -z "\${RTE_SDK}" ]; then
    export RTE_SDK="%{sdkdir}"
    export RTE_TARGET="%{target}"
    export RTE_INCLUDE="%{incdir}"
fi
EOF

cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.csh
if ( ! \$RTE_SDK ) then
    setenv RTE_SDK "%{sdkdir}"
    setenv RTE_TARGET "%{target}"
    setenv RTE_INCLUDE "%{incdir}"
endif
EOF

# Fixup target machine mismatch
sed -i -e 's:-%{machine}-:-%{machine2}-:g' 
%{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk*

#doc
mkdir %{buildroot}%{_docdir}/
mv   %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%{_docdir}/

ln -s %{_bindir}/dpdk-procinfo %{buildroot}%{_bindir}/dpdk_proc_info
ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind

# Remove duplicates
%fdupes %{buildroot}/%{_prefix} 

%post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig
%post  -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
# BSD
%{_bindir}/testpmd
%{_bindir}/dpdk-procinfo
%{_bindir}/dpdk_proc_info
%{_bindir}/dpdk-pdump

%if %{with shared}
%dir %{_libdir}/dpdk-pmds

%{_libdir}/*.so.*
%{pmddir}/
%endif

%files doc
%defattr(-,root,root)
#BSD
%docdir
%doc LICENSE.GPL  LICENSE.LGPL

%files devel
%defattr(-,root,root)
#BSD
%{incdir}/
%{sdkdir}
%if %{with tools}
%exclude %{sdkdir}/tools/
%endif
%if %{with examples}
%exclude %{sdkdir}/examples/
%endif
%{_sysconfdir}/profile.d/dpdk-sdk-*.*
%if ! %{with shared}
%{_libdir}/*.a
%else
%{_libdir}/*.so
%endif

%if %{with tools}
%files tools
%defattr(-,root,root)
%{sdkdir}/tools/
%{_sbindir}/dpdk-devbind
%{_sbindir}/dpdk_nic_bind
%endif

%if %{with examples}
%files examples
%defattr(-,root,root)
%{_bindir}/dpdk_example_*
%doc %{sdkdir}/examples
%endif

%changelog
++++++ dpdk.spec ++++++
--- /var/tmp/diff_new_pack.crPtft/_old  2017-02-03 17:36:00.775037894 +0100
+++ /var/tmp/diff_new_pack.crPtft/_new  2017-02-03 17:36:00.779037328 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package dpdk
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -47,7 +47,7 @@
 License:        BSD-3-Clause and GPL-2.0 and LGPL-2.1
 Group:          System/Libraries
 Url:            http://dpdk.org
-Source:         http://fast.dpdk.org/rel/%{name}-%{version}.tar.xz
+Source:         http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
 # PATCH-FIX-OPENSUSE 
0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
 # This patch was originally taken from the fedora package but they have
 # removed it since then because of
@@ -57,10 +57,13 @@
 Patch1:         0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
 BuildRequires:  doxygen
 BuildRequires:  fdupes
+BuildRequires:  gcc6
 BuildRequires:  libnuma-devel
 BuildRequires:  libpcap-devel
 BuildRequires:  zlib-devel
 ExclusiveArch:  aarch64 x86_64 %ix86 ppc64le
+Provides:       dpdk-any = %{version}
+Conflicts:      otherproviders(dpdk-any)
 
 %description
 The Data Plane Development Kit is a set of libraries and drivers for
@@ -70,6 +73,8 @@
 Summary:        Data Plane Development Kit development files
 Group:          Development/Libraries/C and C++
 Requires:       %{name} = %{version}
+Provides:       dpdk-any-devel = %{version}
+Conflicts:      otherproviders(dpdk-any-devel)
 
 %description devel
 This package contains the headers and other files needed for developing
@@ -79,6 +84,8 @@
 Summary:        Data Plane Development Kit API documentation
 Group:          System/Libraries
 BuildArch:      noarch
+Provides:       dpdk-any-doc = %{version}
+Conflicts:      otherproviders(dpdk-any-doc)
 
 %description doc
 API programming documentation for the Data Plane Development Kit.
@@ -92,6 +99,8 @@
 Requires:       iproute
 Requires:       kmod
 Requires:       pciutils
+Provides:       dpdk-any-tools = %{version}
+Conflicts:      otherproviders(dpdk-any-tools)
 
 %description tools
 This package contains tools for setting up Data Plane Development Kit 
environment
@@ -102,20 +111,24 @@
 Summary:        Data Plane Development Kit example applications
 Group:          System/Libraries
 BuildRequires:  libvirt-devel
+Provides:       dpdk-any-examples = %{version}
+Conflicts:      otherproviders(dpdk-any-examples)
 
 %description examples
 Example applications utilizing the Data Plane Development Kit, such
 as L2 and L3 forwarding.
 %endif
 
-%define sdkdir  %{_datadir}/%{name}
-%define docdir  %{_docdir}/%{name}
-%define incdir %{_includedir}/%{name}
-%define pmddir %{_libdir}/%{name}-pmds
+%define sdkdir  %{_datadir}/dpdk
+%define docdir  %{_docdir}/dpdk
+%define incdir %{_includedir}/dpdk
+%define pmddir %{_libdir}/dpdk-pmds
 
 %prep
-%setup -q -n %{name}-stable-%{version}
+%setup -q -n dpdk-stable-%{version}
 %patch1 -p1 -z .enic
+# This fixes CROSS compilation (broken) in the mk file for ThunderX
+sed -i '/^CROSS /s/^/#/'  mk/machine/thunderx/rte.vars.mk
 
 %build
 # set up a method for modifying the resulting .config file
@@ -140,7 +153,7 @@
 # the compiler flags used still won't work for all Fedora-supported
 # machines, but runtime checks in DPDK will catch those situations.
 
-make V=1 O=%{target} T=%{target} %{?_smp_mflags} config
+make CC=gcc-6 V=1 O=%{target} T=%{target} %{?_smp_mflags} config
 
 setconf CONFIG_RTE_MACHINE '"%{machine2}"'
 # Disable experimental features
@@ -171,11 +184,11 @@
 setconf CONFIG_RTE_LIBRTE_PMD_RING n
 %endif
 
-make V=1 O=%{target} %{?_smp_mflags}
-make V=1 O=%{target} %{?_smp_mflags} doc-api-html
+make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags}
+make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html
 
 %if %{with examples}
-make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
+make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
 %endif
 
 %install

++++++ pre_checkin.sh ++++++
#!/bin/sh

# Start fresh
for f in spec changes; do
    cp dpdk.$f dpdk-thunderx.$f || exit 1
done

#
#- Add comment about generated file
#- Fix {,sub-}package name, description, summary
#- Enable the dpdk conditional build
sed -i -e "/^Name:.*dpdk$/i \
# Do NOT edit this auto generated file! Edit dpdk.spec instead\n\
# and run 'pre_checkin.sh' before committing" \
-e "/^#\s*spec file/s/dpdk$/&-thunderx/" \
-e "/^Name:/s/dpdk/&-thunderx/g" \
-e "/^Summary:/s/^.*$/&\ \(thunderx\)/g" \
-e "/^%define machine2 armv8a/s/armv8a/thunderx/g" \
dpdk-thunderx.spec || exit 1

Reply via email to