[dpdk-dev] [PATCH v4 0/6] Reproducible build

lboccass at brocade.com lboccass at brocade.com
Wed Jun 28 15:56:56 CEST 2017


From: Luca Boccassi <luca.boccassi at gmail.com>

In the past couple of years a concerted effort among almost all Linux
distros has been striving toward achieving reproducible builds. [1]
This involves changes to the toolchain, new tools and CI systems. [2]

v1 fixed the documentation, examples and linker script generation.
v2 fixes all problems, which were caused by unstable order of headers
inclusion, source files listing and object file listing when passing
them to the compiler.
DPDK's build, at least with the default configuration, is fully
reproducible with this patch series as tested by the Reproducible
Builds developers experimental toolchain. [3]

v3 restores the first patch, which was eaten by git send-email.

v4 drops the patch that reorders rebuilds, and adds a patch to make
the inclusion of headers deterministic with regards to GCC embedding
the full file path when expading __FILE__ and when writing the
directory listing in the DWARF objects.
It also drops the first 2 patches which have already been merged.

[1] https://reproducible-builds.org/
[2] https://reproducible-builds.org/tools/
[3] https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain#Us

Luca Boccassi (6):
  mk: sort list of shared objects in linker script
  mk: sort list of files in examples.dox
  mk: sort headers before wildcard inclusion
  mk: sort source files before passing them to the compiler
  mk: sort object files when building deps lists
  mk: set -ISCDIR before -IRTE_OUT/include in CFLAGS

 drivers/net/cxgbe/Makefile                                 |  2 +-
 drivers/net/e1000/Makefile                                 |  2 +-
 drivers/net/fm10k/Makefile                                 |  2 +-
 drivers/net/i40e/Makefile                                  |  2 +-
 drivers/net/ixgbe/Makefile                                 |  2 +-
 drivers/net/qede/Makefile                                  |  2 +-
 drivers/net/sfc/Makefile                                   |  2 +-
 drivers/net/thunderx/Makefile                              |  2 +-
 examples/ip_pipeline/Makefile                              |  2 +-
 examples/multi_process/client_server_mp/mp_server/Makefile |  2 +-
 examples/server_node_efd/server/Makefile                   |  2 +-
 lib/librte_acl/Makefile                                    | 10 ++++++++--
 lib/librte_bitratestats/Makefile                           |  9 ++++++++-
 lib/librte_cmdline/Makefile                                |  9 ++++++++-
 lib/librte_distributor/Makefile                            | 10 ++++++++--
 lib/librte_eal/common/Makefile                             |  2 +-
 lib/librte_efd/Makefile                                    | 10 ++++++++--
 lib/librte_hash/Makefile                                   | 10 ++++++++--
 lib/librte_ip_frag/Makefile                                | 10 ++++++++--
 lib/librte_jobstats/Makefile                               | 10 ++++++++--
 lib/librte_kni/Makefile                                    |  9 ++++++++-
 lib/librte_kvargs/Makefile                                 |  9 ++++++++-
 lib/librte_latencystats/Makefile                           |  9 ++++++++-
 lib/librte_lpm/Makefile                                    | 10 ++++++++--
 lib/librte_mbuf/Makefile                                   |  9 ++++++++-
 lib/librte_mempool/Makefile                                |  9 ++++++++-
 lib/librte_metrics/Makefile                                |  9 ++++++++-
 lib/librte_net/Makefile                                    |  9 ++++++++-
 lib/librte_pdump/Makefile                                  | 10 ++++++++--
 lib/librte_power/Makefile                                  |  9 ++++++++-
 lib/librte_reorder/Makefile                                | 10 ++++++++--
 lib/librte_ring/Makefile                                   |  9 ++++++++-
 lib/librte_timer/Makefile                                  |  9 ++++++++-
 lib/librte_vhost/Makefile                                  |  9 ++++++++-
 mk/rte.app.mk                                              |  4 ++--
 mk/rte.combinedlib.mk                                      |  2 +-
 mk/rte.hostapp.mk                                          |  4 ++--
 mk/rte.sdkdoc.mk                                           |  2 +-
 mk/rte.shared.mk                                           |  4 ++--
 39 files changed, 196 insertions(+), 51 deletions(-)

-- 
2.11.0



More information about the dev mailing list