From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f47.google.com (mail-pg0-f47.google.com [74.125.83.47]) by dpdk.org (Postfix) with ESMTP id DEDD511D4 for ; Tue, 5 Sep 2017 23:01:51 +0200 (CEST) Received: by mail-pg0-f47.google.com with SMTP id 188so8288176pgb.2 for ; Tue, 05 Sep 2017 14:01:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Z6GzTU8B/F/inZabzWcNNm4CIpBYOfwO/SQ+iF2RL74=; b=YuhKipXTwcAL8jI8ODHEYA3P4zS/PlMluXinnXzD6EcbbVFdtG3QK+V1sK4Iepgvsl J/8cTuXggc+A7NjeaSVL9STTiXh7SrSpVCmWqj+fQLCiyqevkmp56BSRq51dkbGXHgWI YsiQn+hLqI1Dh1yFWqbulhg7kijTd20b7Njn5cCoA4Q8oziOLFqgc0acnfXI1TckX9IL yFfgWOrzxcxJMCmZ8Q7b3RjEBp0DGQgHb+lagyo+c51vvcFOzbtcSw75/2Ag9o97qBPV quG6CTH2hRgZukSdA4ULLlWHs1FL5cXMDiYTdFmYr70Sw2TApiWRLWQKkRv0hgxzor4F AJVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Z6GzTU8B/F/inZabzWcNNm4CIpBYOfwO/SQ+iF2RL74=; b=oiv/X/oejR6lqtRE6Ff+1rs60zTw8DrtxMxGG8C4Y8WobCyuMrRn5vbAigSDR/0a7c WzLOfPO1qgii1UOyuoL9q7UhWvSY5JMFcN1ErUr6tqEb2Nysx15qf/S1QuyyKslT8DbE xfmrCVjwpN3mBexfWGUL17LdJ+CgDLLWg5mHMxKfhbuhkZhXR90FDzVQ8wgDA7qPcxLU Hjii8Ezz26KYsLFUjdYlB5UQSXvEsNF354jdq51KglROn03FZ7E9oCIHV+qcuHWidG2r aVA1NTyFm7fac/PKbjAtTDO7ehD/ZKcDd6K6kEJYyVECGFVoTOwts/GsXhuGr/NyNcIL 9Zyg== X-Gm-Message-State: AHPjjUgybcYmX1ImEW72aWXfCKpO5CkdqhsYbLU3nFpI02BVnSQuA6Ny yLvSufZM/qZNiv6wjLyesw== X-Google-Smtp-Source: ADKCNb5wmLPpyltKMlDNvdHOXDHCIzIPVXLJhhheVv81mxC5i//aYFNj41MaeYpkTxmE5r2v63sQbw== X-Received: by 10.101.93.5 with SMTP id e5mr2350064pgr.55.1504645310609; Tue, 05 Sep 2017 14:01:50 -0700 (PDT) Received: from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240]) by smtp.gmail.com with ESMTPSA id i186sm2544267pfg.84.2017.09.05.14.01.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Sep 2017 14:01:49 -0700 (PDT) Date: Tue, 5 Sep 2017 14:00:55 -0700 From: Stephen Hemminger To: luca.boccassi@gmail.com Cc: dev@dpdk.org, ferruh.yigit@intel.com Message-ID: <20170905140055.0ae224f1@xeon-e3> In-Reply-To: <20170905205159.8606-1-luca.boccassi@gmail.com> References: <20170905205159.8606-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v7 0/6] Reproducible build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Sep 2017 21:01:52 -0000 On Tue, 5 Sep 2017 21:51:53 +0100 luca.boccassi@gmail.com wrote: > From: Luca Boccassi > > 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(-) > How does this interact with propose new build process. Hate to have do everything twice.