Generate libdpdk-dev dependencies and dpdk recommends
[deb_dpdk.git] / debian / control
index e8a66e9..57f41d7 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,43 +28,52 @@ 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:Recommends},
+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
-Depends: libdpdk-dev (= ${binary:Version}), ${misc:Depends}
+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}
+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}),
@@ -70,11 +82,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}),
@@ -83,69 +96,27 @@ 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},
-         libethdev4 (= ${binary:Version}),
-         librte-acl2 (= ${binary:Version}),
-         librte-cfgfile2 (= ${binary:Version}),
-         librte-cmdline2 (= ${binary:Version}),
-         librte-cryptodev1 (= ${binary:Version}),
-         librte-distributor1 (= ${binary:Version}),
-         librte-eal2 (= ${binary:Version}),
-         librte-hash2 (= ${binary:Version}),
-         librte-ip-frag1 (= ${binary:Version}),
-         librte-jobstats1 (= ${binary:Version}),
-         librte-kni2 (= ${binary:Version}) [amd64 arm64],
-         librte-kvargs1 (= ${binary:Version}),
-         librte-lpm2 (= ${binary:Version}),
-         librte-mbuf2 (= ${binary:Version}),
-         librte-mempool2 (= ${binary:Version}),
-         librte-meter1 (= ${binary:Version}),
-         librte-pdump1 (= ${binary:Version}),
-         librte-pipeline3 (= ${binary:Version}),
-         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}),
-         librte-pmd-fm10k1 (= ${binary:Version}) [amd64 i386],
-         librte-pmd-i40e1 (= ${binary:Version}) [amd64 i386],
-         librte-pmd-ixgbe1 (= ${binary:Version}),
-         librte-pmd-null-crypto1 (= ${binary:Version}),
-         librte-pmd-null1 (= ${binary:Version}),
-         librte-pmd-pcap1 (= ${binary:Version}),
-         librte-pmd-ring2 (= ${binary:Version}),
-         librte-pmd-vhost1 (= ${binary:Version}),
-         librte-pmd-virtio1 (= ${binary:Version}),
-         librte-pmd-vmxnet3-uio1 (= ${binary:Version}),
-         librte-pmd-xenvirt1 (= ${binary:Version}),
-         librte-port3 (= ${binary:Version}),
-         librte-power1 (= ${binary:Version}),
-         librte-reorder1 (= ${binary:Version}),
-         librte-ring1 (= ${binary:Version}),
-         librte-sched1 (= ${binary:Version}),
-         librte-table2 (= ${binary:Version}),
-         librte-timer1 (= ${binary:Version}),
-         librte-vhost3 (= ${binary:Version})
+Depends: libpcap-dev,
+         ${librte:Depends},
+         ${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}
@@ -154,11 +125,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}
@@ -167,11 +138,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}
@@ -180,11 +151,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}
@@ -192,11 +163,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}
@@ -205,11 +176,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}
@@ -218,11 +189,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}
@@ -231,11 +202,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}
@@ -244,11 +215,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}
@@ -257,11 +228,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}
@@ -270,11 +241,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}
@@ -283,11 +254,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}
@@ -296,11 +267,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}
@@ -309,11 +280,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}
@@ -322,11 +293,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}
@@ -335,11 +306,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}
@@ -348,11 +319,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}
@@ -361,11 +332,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}
@@ -374,11 +363,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}
@@ -386,11 +375,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}
@@ -399,11 +388,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}
@@ -412,11 +401,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}
@@ -425,11 +414,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}
@@ -438,11 +427,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}
@@ -451,11 +440,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}
@@ -464,11 +453,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}
@@ -477,11 +466,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}
@@ -490,11 +479,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}
@@ -503,11 +492,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}
@@ -516,11 +505,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}
@@ -529,11 +518,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}
@@ -542,11 +531,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}
@@ -555,11 +544,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}
@@ -568,11 +557,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}
@@ -581,11 +570,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}
@@ -594,11 +583,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}
@@ -607,11 +612,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}
@@ -620,11 +625,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}
@@ -633,11 +638,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}
@@ -646,11 +651,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}
@@ -659,11 +664,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}
@@ -672,11 +677,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}
@@ -685,11 +690,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}
@@ -698,11 +703,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}
@@ -710,4 +715,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.
+