From: Luca Boccassi <luca.boccassi@gmail.com>
To: dev@dpdk.org
Subject: Re: [PATCH v7 0/6] Reproducible build
Date: Tue, 05 Sep 2017 21:56:30 +0100 [thread overview]
Message-ID: <1504644990.20044.0.camel@gmail.com> (raw)
In-Reply-To: <20170905205159.8606-1-luca.boccassi@gmail.com>
On Tue, 2017-09-05 at 21:51 +0100, luca.boccassi@gmail.com wrote:
> From: Luca Boccassi <luca.boccassi@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.
>
> v5 adds the -I$(SRCDIR) workaround to librte_eal linuxapp's and
> librte_gro's Makefiles.
>
> v6 fixes copypasta added in v5 - librte-gro's Makefile should have
> used
> $(SRCDIR) rather than $(SRCDIR)/include.
>
> v7 dropped the big patch to change the CFLAGS in all libraries
> Makefiles
> and instead uses a much simpler approach suggested by Ferruh
> (thanks!),
> which consists in installing the library public headers symlinks
> before
> building. Although the drawback is that the DWARF directory listing
> will always include the user configured build output directory, it is
> a much smaller patch that will be rendered obsolete by the move to
> Meson
> anyway.
>
> [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: install symlinks before build step
>
> 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_eal/common/Makefile | 2 +-
> mk/rte.app.mk | 4 ++--
> mk/rte.combinedlib.mk | 2 +-
> mk/rte.hostapp.mk | 4 ++--
> mk/rte.lib.mk | 7
> ++++++-
> mk/rte.sdkdoc.mk | 2 +-
> mk/rte.shared.mk | 4 ++--
> 18 files changed, 26 insertions(+), 21 deletions(-)
Sigh, made a copypasta in the reply-to (lol).
Original thread:
http://dpdk.org/ml/archives/dev/2017-August/073000.html
--
Kind regards,
Luca Boccassi
next prev parent reply other threads:[~2017-09-05 20:56 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <drivers/net/vmxnet3/vmxnet3_rxtx.c.rej>
2017-09-05 20:51 ` [PATCH v7 0/6] Reproducible build luca.boccassi
2017-09-05 20:51 ` [PATCH v7 1/6] mk: sort list of shared objects in linker script luca.boccassi
2017-09-05 20:51 ` [PATCH v7 2/6] mk: sort list of files in examples.dox luca.boccassi
2017-09-05 20:51 ` [PATCH v7 3/6] mk: sort headers before wildcard inclusion luca.boccassi
2017-09-05 20:51 ` [PATCH v7 4/6] mk: sort source files before passing them to the compiler luca.boccassi
2017-09-05 20:51 ` [PATCH v7 5/6] mk: sort object files when building deps lists luca.boccassi
2017-09-05 20:51 ` [PATCH v7 6/6] mk: install symlinks before build step luca.boccassi
2017-10-12 2:58 ` Thomas Monjalon
2017-10-12 12:19 ` Luca Boccassi
2017-09-05 20:56 ` Luca Boccassi [this message]
2017-09-05 21:00 ` [PATCH v7 0/6] Reproducible build Stephen Hemminger
2017-09-05 21:15 ` Luca Boccassi
2017-09-06 8:46 ` Bruce Richardson
2017-09-06 9:10 ` Luca Boccassi
2017-09-06 10:45 ` Bruce Richardson
2017-10-12 13:15 ` [PATCH v8 " luca.boccassi
2017-10-12 13:15 ` [PATCH v8 1/6] mk: sort list of shared objects in linker script luca.boccassi
2017-10-12 13:15 ` [PATCH v8 2/6] mk: sort list of files in examples.dox luca.boccassi
2017-10-12 13:15 ` [PATCH v8 3/6] mk: sort headers before wildcard inclusion luca.boccassi
2017-10-12 13:15 ` [PATCH v8 4/6] mk: sort source files before passing them to the compiler luca.boccassi
2017-10-12 13:15 ` [PATCH v8 5/6] mk: sort object files when building deps lists luca.boccassi
2017-10-12 13:15 ` [PATCH v8 6/6] mk: install symlinks before build step luca.boccassi
2017-10-12 20:31 ` [PATCH v8 0/6] Reproducible build Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1504644990.20044.0.camel@gmail.com \
--to=luca.boccassi@gmail.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.