From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-000f0801.pphosted.com (mx0b-000f0801.pphosted.com [67.231.152.113]) by dpdk.org (Postfix) with ESMTP id AC4A6378E for ; Wed, 28 Jun 2017 16:05:12 +0200 (CEST) Received: from pps.filterd (m0048192.ppops.net [127.0.0.1]) by mx0b-000f0801.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v5SE3rSv021572; Wed, 28 Jun 2017 07:05:12 -0700 Received: from brmwp-exmb12.corp.brocade.com ([208.47.132.227]) by mx0b-000f0801.pphosted.com with ESMTP id 2b9qbyvuwu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 28 Jun 2017 07:05:11 -0700 Received: from EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) by BRMWP-EXMB12.corp.brocade.com (172.16.59.130) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Wed, 28 Jun 2017 08:05:09 -0600 Received: from BRA-6G85P12.corp.brocade.com (172.27.212.166) by EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Wed, 28 Jun 2017 15:57:29 +0200 From: To: CC: Luca Boccassi Date: Wed, 28 Jun 2017 14:56:56 +0100 Message-ID: <20170628135702.18150-1-lboccass@brocade.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170623184153.24488-1-lboccass@brocade.com> References: <20170623184153.24488-1-lboccass@brocade.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [172.27.212.166] X-ClientProxiedBy: hq1wp-excas13.corp.brocade.com (10.70.36.103) To EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-28_09:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706280228 Subject: [dpdk-dev] [PATCH v4 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: Wed, 28 Jun 2017 14:05:13 -0000 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. [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