Declare compliance with Debian Policy v4.0.0
[deb_dpdk.git] / debian / control
index e77cece..db3c12e 100644 (file)
@@ -1,6 +1,9 @@
 Source: dpdk
 Priority: optional
 Maintainer: deb_dpdk Packagers <deb-dpdk@lists.fd.io>
+Uploaders: Luca Boccassi <luca.boccassi@gmail.com>,
+           Christian Ehrhardt <christian.ehrhardt@canonical.com>,
+           Santiago Ruano Rincón <santiagorr@riseup.net>
 Build-Depends: debhelper (>= 9),
                dh-python,
                dh-systemd (>= 1.5),
@@ -10,14 +13,14 @@ Build-Depends: debhelper (>= 9),
                inkscape,
                libcap-dev,
                libpcap-dev,
-               libxen-dev,
-               libxenstore3.0,
+               libxen-dev [amd64 arm64 i386],
+               libxenstore3.0 [amd64 arm64 i386],
                python,
                python-sphinx,
                python-sphinx-rtd-theme,
                texlive-fonts-recommended,
                texlive-latex-extra
-Standards-Version: 3.9.8
+Standards-Version: 4.0.0
 Section: libs
 Homepage: http://www.dpdk.org
 Vcs-Git: https://gerrit.fd.io/r/deb_dpdk
@@ -25,45 +28,71 @@ Vcs-Browser: https://gerrit.fd.io/r/gitweb?p=deb_dpdk.git
 
 Package: dpdk
 Section: admin
-Architecture: amd64 arm64 i386
-Homepage: http://www.dpdk.org
-Depends: libdpdk-dev (= ${binary:Version}),
+Architecture: amd64 arm64 i386 ppc64el
+Depends: hwdata,
          lsb-base (>= 3.2-14),
          pciutils,
          ${misc:Depends},
          ${python:Depends},
          ${shlibs:Depends}
-Suggests: linux-image-generic
+Recommends: librte-pmd-af-packet1 (= ${binary:Version}),
+            librte-pmd-bnxt1 (= ${binary:Version}),
+            librte-pmd-bond1 (= ${binary:Version}),
+            librte-pmd-cxgbe1 (= ${binary:Version}),
+            librte-pmd-e1000-1 (= ${binary:Version}),
+            librte-pmd-ena1 (= ${binary:Version}),
+            librte-pmd-enic1 (= ${binary:Version}) [amd64 arm64 i386],
+            librte-pmd-fm10k1 (= ${binary:Version}) [amd64 i386],
+            librte-pmd-i40e1 (= ${binary:Version}),
+            librte-pmd-ixgbe1 (= ${binary:Version}) [amd64 arm64 i386],
+            librte-pmd-null-crypto1 (= ${binary:Version}),
+            librte-pmd-null1 (= ${binary:Version}),
+            librte-pmd-pcap1 (= ${binary:Version}),
+            librte-pmd-qede1 (= ${binary:Version}),
+            librte-pmd-ring2 (= ${binary:Version}),
+            librte-pmd-thunderx-nicvf1 (= ${binary:Version}),
+            librte-pmd-vhost1 (= ${binary:Version}),
+            librte-pmd-virtio1 (= ${binary:Version}),
+            librte-pmd-vmxnet3-uio1 (= ${binary:Version}) [amd64 arm64 i386],
+            librte-pmd-xenvirt1 (= ${binary:Version}) [amd64 arm64 i386]
+Suggests: dpdk-doc,
+          dpdk-igb-uio-dkms (= ${binary:Version}),
+          dpdk-rte-kni-dkms (= ${binary:Version}),
+          linux-image-generic,
+          python-pyelftools,
 Description: Data Plane Development Kit (runtime)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains the runtime environment to run DPDK applications.
 
 Package: dpdk-dev
 Section: devel
-Architecture: amd64 arm64 i386
-Homepage: http://www.dpdk.org
+Architecture: amd64 arm64 i386 ppc64el
 Depends: libdpdk-dev (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
 Description: Data Plane Development Kit (development files)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains examples and the upstream build environment. It is
  not strictly required in order to build external applications.
 
 Package: dpdk-doc
 Section: doc
 Architecture: all
+Multi-Arch: foreign
 Homepage: http://dpdk.org/doc/guides/index.html
 Depends: libjs-jquery, libjs-underscore, ${misc:Depends}, ${python:Depends}
 Recommends: python, ${python:Recommends}
 Description: Data Plane Development Kit (documentation)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains the complete set of documentation and guides.
 
 Package: dpdk-igb-uio-dkms
 Section: kernel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
 Depends: dkms,
          dpdk-dev (= ${binary:Version}),
          libdpdk-dev (= ${binary:Version}),
@@ -72,11 +101,12 @@ Depends: dkms,
 Description: Data Plane Development Kit (igb uio dkms)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains the source code for the igb_uio kernel module.
 
 Package: dpdk-rte-kni-dkms
 Section: kernel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
 Depends: dkms,
          dpdk-dev (= ${binary:Version}),
          libdpdk-dev (= ${binary:Version}),
@@ -85,32 +115,32 @@ Depends: dkms,
 Description: Data Plane Development Kit (rte kni dkms)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains the source code for the rte_kni kernel module.
 
 Package: libdpdk-dev
 Section: libdevel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
-Homepage: http://www.dpdk.org
 Pre-Depends: ${misc:Pre-Depends}
-Depends: ${misc:Depends},
-         libpcap-dev,
-         libethdev4 (= ${binary:Version}),
+Depends: libpcap-dev,
          librte-acl2 (= ${binary:Version}),
          librte-cfgfile2 (= ${binary:Version}),
          librte-cmdline2 (= ${binary:Version}),
-         librte-cryptodev1 (= ${binary:Version}),
+         librte-cryptodev2 (= ${binary:Version}),
          librte-distributor1 (= ${binary:Version}),
-         librte-eal2 (= ${binary:Version}),
+         librte-eal3 (= ${binary:Version}),
+         librte-ethdev5 (= ${binary:Version}),
          librte-hash2 (= ${binary:Version}),
          librte-ip-frag1 (= ${binary:Version}),
          librte-jobstats1 (= ${binary:Version}),
-         librte-kni2 (= ${binary:Version}) [amd64 arm64],
+         librte-kni2 (= ${binary:Version}) [amd64 arm64 ppc64el],
          librte-kvargs1 (= ${binary:Version}),
          librte-lpm2 (= ${binary:Version}),
          librte-mbuf2 (= ${binary:Version}),
          librte-mempool2 (= ${binary:Version}),
          librte-meter1 (= ${binary:Version}),
+         librte-net1 (= ${binary:Version}),
          librte-pdump1 (= ${binary:Version}),
          librte-pipeline3 (= ${binary:Version}),
          librte-pmd-af-packet1 (= ${binary:Version}),
@@ -119,18 +149,20 @@ Depends: ${misc:Depends},
          librte-pmd-cxgbe1 (= ${binary:Version}),
          librte-pmd-e1000-1 (= ${binary:Version}),
          librte-pmd-ena1 (= ${binary:Version}),
-         librte-pmd-enic1 (= ${binary:Version}),
+         librte-pmd-enic1 (= ${binary:Version}) [amd64 arm64 i386],
          librte-pmd-fm10k1 (= ${binary:Version}) [amd64 i386],
-         librte-pmd-i40e1 (= ${binary:Version}) [amd64 i386],
-         librte-pmd-ixgbe1 (= ${binary:Version}),
+         librte-pmd-i40e1 (= ${binary:Version}),
+         librte-pmd-ixgbe1 (= ${binary:Version}) [amd64 arm64 i386],
          librte-pmd-null-crypto1 (= ${binary:Version}),
          librte-pmd-null1 (= ${binary:Version}),
          librte-pmd-pcap1 (= ${binary:Version}),
+         librte-pmd-qede1 (= ${binary:Version}),
          librte-pmd-ring2 (= ${binary:Version}),
+         librte-pmd-thunderx-nicvf1 (= ${binary:Version}),
          librte-pmd-vhost1 (= ${binary:Version}),
          librte-pmd-virtio1 (= ${binary:Version}),
-         librte-pmd-vmxnet3-uio1 (= ${binary:Version}),
-         librte-pmd-xenvirt1 (= ${binary:Version}),
+         librte-pmd-vmxnet3-uio1 (= ${binary:Version}) [amd64 arm64 i386],
+         librte-pmd-xenvirt1 (= ${binary:Version}) [amd64 arm64 i386],
          librte-port3 (= ${binary:Version}),
          librte-power1 (= ${binary:Version}),
          librte-reorder1 (= ${binary:Version}),
@@ -138,17 +170,18 @@ Depends: ${misc:Depends},
          librte-sched1 (= ${binary:Version}),
          librte-table2 (= ${binary:Version}),
          librte-timer1 (= ${binary:Version}),
-         librte-vhost3 (= ${binary:Version})
+         librte-vhost3 (= ${binary:Version}),
+         ${misc:Depends}
 Description: Data Plane Development Kit (basic development files)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
+ .
  This package contains the basic headers and library files required to
  build external applications which will also require at least SSE3 support
  when running.
 
-Package: libethdev4
-Architecture: amd64 arm64 i386
-Section: libs
+Package: librte-ethdev5
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__ethdev_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -157,11 +190,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (libethdev runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for libethdev
+ .
+ This package contains the runtime libraries for libethdev.
 
 Package: librte-acl2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__ethdev_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -170,11 +203,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-acl runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_acl
+ .
+ This package contains the runtime libraries for librte_acl.
 
 Package: librte-cfgfile2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__cfgfile_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -183,11 +216,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-cfgfile runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_cfgfile
+ .
+ This package contains the runtime libraries for librte_cfgfile.
 
 Package: librte-cmdline2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -195,11 +228,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-cmdline runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_cmdline
+ .
+ This package contains the runtime libraries for librte_cmdline.
 
-Package: librte-cryptodev1
-Architecture: amd64 arm64 i386
-Section: libs
+Package: librte-cryptodev2
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__cryptodev_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -208,11 +241,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-cryptodev runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_cryptodev
+ .
+ This package contains the runtime libraries for librte_cryptodev.
 
 Package: librte-distributor1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__distributor_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -221,11 +254,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-distributor runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_distributor
+ .
+ This package contains the runtime libraries for librte_distributor.
 
-Package: librte-eal2
-Architecture: amd64 arm64 i386
-Section: libs
+Package: librte-eal3
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__eal_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -234,11 +267,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-eal runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_eal
+ .
+ This package contains the runtime libraries for librte_eal.
 
 Package: librte-hash2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__hash_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -247,11 +280,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-hash runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_hash
+ .
+ This package contains the runtime libraries for librte_hash.
 
 Package: librte-ip-frag1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__ip__frag_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -260,11 +293,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-ip-frag runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_ip_frag
+ .
+ This package contains the runtime libraries for librte_ip_frag.
 
 Package: librte-jobstats1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__jobstats_8h_source.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -273,11 +306,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-jobstats runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_jobstats
+ .
+ This package contains the runtime libraries for librte_jobstats.
 
 Package: librte-kni2
-Architecture: amd64 arm64
-Section: libs
+Architecture: amd64 arm64 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__kni_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -286,11 +319,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-kni runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_kni
+ .
+ This package contains the runtime libraries for librte_kni.
 
 Package: librte-kvargs1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__kvargs_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -299,11 +332,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-kvargs runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_kvargs
+ .
+ This package contains the runtime libraries for librte_kvargs.
 
 Package: librte-lpm2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__lpm_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -312,11 +345,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-lpm runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_lpm
+ .
+ This package contains the runtime libraries for librte_lpm.
 
 Package: librte-mbuf2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__mbuf_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -325,11 +358,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-mbuf2 runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_mbuf
+ .
+ This package contains the runtime libraries for librte_mbuf.
 
 Package: librte-mempool2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__mempool_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -338,11 +371,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-mempool runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_mempool
+ .
+ This package contains the runtime libraries for librte_mempool.
 
 Package: librte-meter1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__meter_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -351,11 +384,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-meter runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_meter
+ .
+ This package contains the runtime libraries for librte_meter.
 
 Package: librte-pipeline3
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__pipeline_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -364,11 +397,29 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pipeline runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pipeline
+ .
+ This package contains the runtime libraries for librte_pipeline.
+
+Package: librte-net1
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Homepage: http://dpdk.org/doc/guides/prog_guide/overview.html?highlight=librte_net#librte-net
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk0
+Description: Data Plane Development Kit (librte-net runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains the runtime libraries for librte_net.
+ .
+ The librte_net library is a collection of IP protocol definitions and
+ convenience macros. It is based on code from the FreeBSD* IP stack and
+ contains protocol numbers (for use in IP headers), IP-related macros,
+ IPv4/IPv6 header structures and TCP, UDP and SCTP header structures.
 
 Package: librte-pmd-af-packet1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/browse/dpdk/tree/drivers/net/af_packet
 Pre-Depends: ${misc:Pre-Depends}
@@ -377,11 +428,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-af-packet runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_af_packet
+ .
+ This package contains the runtime libraries for librte_pmd_af_packet.
 
 Package: librte-pmd-bnxt1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -389,11 +440,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-bnxt runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_bnxt
+ .
+ This package contains the runtime libraries for librte_pmd_bnxt.
 
 Package: librte-pmd-bond1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -402,11 +453,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-bond runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_bond
+ .
+ This package contains the runtime libraries for librte_pmd_bond.
 
 Package: librte-pmd-cxgbe1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/cxgbe.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -415,11 +466,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-cxgbe runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_cxgbe
+ .
+ This package contains the runtime libraries for librte_pmd_cxgbe.
 
 Package: librte-pmd-e1000-1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/e1000em.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -428,11 +479,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-e1000 runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_e1000
+ .
+ This package contains the runtime libraries for librte_pmd_e1000.
 
 Package: librte-pmd-ena1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/ena.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -441,11 +492,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-ena runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_ena
+ .
+ This package contains the runtime libraries for librte_pmd_ena.
 
 Package: librte-pmd-enic1
 Architecture: amd64 arm64 i386
-Section: libs
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/enic.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -454,11 +505,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-enic runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_enic
+ .
+ This package contains the runtime libraries for librte_pmd_enic.
 
 Package: librte-pmd-fm10k1
 Architecture: amd64 i386
-Section: libs
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/fm10k.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -467,11 +518,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-fm10k runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_fm10k
+ .
+ This package contains the runtime libraries for librte_pmd_fm10k.
 
 Package: librte-pmd-i40e1
-Architecture: amd64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/i40e.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -480,11 +531,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-i40e runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_i40e
+ .
+ This package contains the runtime libraries for librte_pmd_i40e.
 
 Package: librte-pmd-ixgbe1
 Architecture: amd64 arm64 i386
-Section: libs
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/ixgbe.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -493,11 +544,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-ixgbe runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_ixgbe
+ .
+ This package contains the runtime libraries for librte_pmd_ixgbe.
 
 Package: librte-pmd-null-crypto1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/cryptodevs/null.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -506,11 +557,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-null-crypto runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_null_crypto
+ .
+ This package contains the runtime libraries for librte_pmd_null_crypto.
 
 Package: librte-pmd-null1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/browse/dpdk/tree/drivers/net/null
 Pre-Depends: ${misc:Pre-Depends}
@@ -519,11 +570,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-null runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_null
+ .
+ This package contains the runtime libraries for librte_pmd_null.
 
 Package: librte-pmd-pcap1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/pcap_ring.html#libpcap-based-pmd
 Pre-Depends: ${misc:Pre-Depends}
@@ -532,11 +583,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-pcap runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_pcap
+ .
+ This package contains the runtime libraries for librte_pmd_pcap.
 
 Package: librte-pmd-ring2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/pcap_ring.html#rings-based-pmd
 Pre-Depends: ${misc:Pre-Depends}
@@ -545,11 +596,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-ring runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_ring
+ .
+ This package contains the runtime libraries for librte_pmd_ring.
 
 Package: librte-pmd-vhost1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/vhost.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -558,11 +609,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-vhost runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_vhost
+ .
+ This package contains the runtime libraries for librte_pmd_vhost.
 
 Package: librte-pmd-virtio1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/virtio.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -571,11 +622,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-virtio runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_virtio
+ .
+ This package contains the runtime libraries for librte_pmd_virtio.
 
 Package: librte-pmd-vmxnet3-uio1
 Architecture: amd64 arm64 i386
-Section: libs
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/nics/vmxnet3.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -584,11 +635,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-vmxnet3-uio runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_vmxnet3_uio
+ .
+ This package contains the runtime libraries for librte_pmd_vmxnet3_uio.
 
 Package: librte-pmd-xenvirt1
 Architecture: amd64 arm64 i386
-Section: libs
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/guides/xen/pkt_switch.html#xen-pmd-frontend-prerequisites
 Pre-Depends: ${misc:Pre-Depends}
@@ -597,11 +648,27 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-pmd-xenvirt runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pmd_xenvirt
+ .
+ This package contains the runtime libraries for librte_pmd_xenvirt.
+
+Package: librte-pmd-qede1
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Homepage: http://dpdk.org/doc/guides/nics/qede.html
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk0
+Description: Data Plane Development Kit (librte-pmd-qede runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains the runtime libraries for librte_pmd_qede which is
+ The base driver is the backend module for the QLogic FastLinQ QL4xxxx
+ 25G/40G CNA family of adapters as well as their virtual functions (VF)
+ in SR-IOV context.
 
 Package: librte-port3
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__port_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -610,11 +677,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-port runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_port
+ .
+ This package contains the runtime libraries for librte_port.
 
 Package: librte-power1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__power_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -623,11 +690,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-power runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_power
+ .
+ This package contains the runtime libraries for librte_power.
 
 Package: librte-reorder1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__reorder_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -636,11 +703,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte-reorder runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_reorder
+ .
+ This package contains the runtime libraries for librte_reorder.
 
 Package: librte-ring1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__ring_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -649,11 +716,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_ring runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_ring
+ .
+ This package contains the runtime libraries for librte_ring.
 
 Package: librte-sched1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__sched_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -662,11 +729,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_sched runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_sched
+ .
+ This package contains the runtime libraries for librte_sched.
 
 Package: librte-table2
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__table_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -675,11 +742,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_table runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_table
+ .
+ This package contains the runtime libraries for librte_table.
 
 Package: librte-timer1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__timer_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -688,11 +755,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_timer runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_timer
+ .
+ This package contains the runtime libraries for librte_timer.
 
 Package: librte-vhost3
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Homepage: http://dpdk.org/doc/api/rte__virtio__net_8h.html
 Pre-Depends: ${misc:Pre-Depends}
@@ -701,11 +768,11 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_vhost runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_vhost
+ .
+ This package contains the runtime libraries for librte_vhost.
 
 Package: librte-pdump1
-Architecture: amd64 arm64 i386
-Section: libs
+Architecture: amd64 arm64 i386 ppc64el
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -713,5 +780,80 @@ Conflicts: libdpdk0
 Description: Data Plane Development Kit (librte_pdump runtime library)
  DPDK is a set of libraries for fast packet processing. Applications run
  in user-space and communicate directly with dedicated network interfaces.
- This package contains the runtime libraries for librte_pdump
+ .
+ This package contains the runtime libraries for librte_pdump.
+
+Package: librte-pmd-thunderx-nicvf1
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk
+Description: Data Plane Development Kit (librte_pmd_thunderx_nicvf runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains the runtime libraries for librte_pmd_thunderx_nicvf.
+
+# All following packages are for ABI compatibility to older releases.
+# Newer DPDK versions are ABI compatible to older ones for at least one release
+# and more if maintainable.
+#
+# The cross dependencies in DPDK libraries would otherwise force us to conflict
+# with older ABI versions to avoid double ld.so resolution
+# (https://lists.ubuntu.com/archives/ubuntu-devel/2017-February/039659.html).
+#
+# But the conflicts in debian/control would make the old versions and thereby
+# the dependent applications non-installable until there is a rebuild (as other
+# updates would do).
+# But for our case that would deny most benefits of version named libraries
+# (e.g. the ability to have both).
+#
+# Instead of adding conflicts fields - whenever possible - provide a backward
+# compatible wrapper symlinking to the new (ABI compatible) implementation.
+#
+# Still as soon as (all) dependendent packages are rebuilt these compat
+# wrappers can be autoremoved (apt will take care of that)
+
+Package: libethdev4
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Homepage: http://dpdk.org/doc/api/rte__ethdev_8h.html
+Pre-Depends: ${misc:Pre-Depends}
+Depends: librte-ethdev5, ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk0
+Description: Data Plane Development Kit (libethdev runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains an ABI compatibility link for an older version of the
+ runtime libraries for libethdev.
+
+Package: librte-cryptodev1
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Homepage: http://dpdk.org/doc/api/rte__cryptodev_8h.html
+Pre-Depends: ${misc:Pre-Depends}
+Depends: librte-cryptodev2, ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk0
+Description: Data Plane Development Kit (librte-cryptodev runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains an ABI compatibility link for an older version of the
+ runtime libraries for librte_cryptodev.
+
+Package: librte-eal2
+Architecture: amd64 arm64 i386 ppc64el
+Multi-Arch: same
+Homepage: http://dpdk.org/doc/api/rte__eal_8h.html
+Pre-Depends: ${misc:Pre-Depends}
+Depends: librte-eal3, ${misc:Depends}, ${shlibs:Depends}
+Conflicts: libdpdk0
+Description: Data Plane Development Kit (librte-eal runtime library)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ .
+ This package contains an ABI compatibility link for an older version of the
+ runtime libraries for librte_eal.