Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jérôme Pouiller" <jezz@sysmic.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] Fix build reproducibility in Make 3.82
Date: Tue,  3 Sep 2013 10:45:41 +0200	[thread overview]
Message-ID: <1378197941-30752-1-git-send-email-jezz@sysmic.org> (raw)
In-Reply-To: <52257E0D.3000100@mind.be>

Make 3.82 do not sort anymore result of wildcards (see
http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break
build reproducibility.

This patch sort results of wildcards to ensure reproducibility.

Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
 V2:
    Add forgotten file support/dependencies/dependencies.mk. Even if it
    does not make difference for the build result, I prefer to be 
    consistent.

 Makefile                               |    2 +-
 boot/common.mk                         |    2 +-
 docs/manual/manual.mk                  |    2 +-
 fs/common.mk                           |    2 +-
 linux/linux.mk                         |    2 +-
 package/efl/efl.mk                     |    2 +-
 package/freescale-imx/freescale-imx.mk |    2 +-
 package/gcc/gcc.mk                     |    2 +-
 package/gtk2-themes/gtk2-themes.mk     |    2 +-
 package/matchbox/matchbox.mk           |    2 +-
 package/opengl/opengl.mk               |    2 +-
 package/qt5/qt5.mk                     |    2 +-
 package/x11r7/x11r7.mk                 |    2 +-
 support/dependencies/dependencies.mk   |    2 +-
 14 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile
index 09faeba..f547af5 100644
--- a/Makefile
+++ b/Makefile
@@ -333,7 +333,7 @@ ifneq ($(PACKAGE_OVERRIDE_FILE),)
 -include $(PACKAGE_OVERRIDE_FILE)
 endif
 
-include package/*/*.mk
+include $(sort $(wildcard package/*/*.mk))
 
 include boot/common.mk
 include linux/linux.mk
diff --git a/boot/common.mk b/boot/common.mk
index b315fe8..3021e51 100644
--- a/boot/common.mk
+++ b/boot/common.mk
@@ -1 +1 @@
-include boot/*/*.mk
+include $(sort $(wildcard boot/*/*.mk))
diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk
index 4906bc8..bcbedad 100644
--- a/docs/manual/manual.mk
+++ b/docs/manual/manual.mk
@@ -53,5 +53,5 @@ $(1)-clean:
 .PHONY: $(1) $(1)-clean manual-update-lists
 endef
 
-MANUAL_SOURCES = $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)
+MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*))
 $(eval $(call GENDOC,manual))
diff --git a/fs/common.mk b/fs/common.mk
index 36da2dd..4dab7ea 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -94,4 +94,4 @@ define ROOTFS_TARGET
 $(call ROOTFS_TARGET_INTERNAL,$(1),$(call UPPERCASE,$(1)))
 endef
 
-include fs/*/*.mk
+include $(sort $(wildcard fs/*/*.mk))
diff --git a/linux/linux.mk b/linux/linux.mk
index 025fd51..8508a54 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -281,7 +281,7 @@ define LINUX_INSTALL_TARGET_CMDS
 	$(LINUX_INSTALL_HOST_TOOLS)
 endef
 
-include linux/linux-ext-*.mk
+include $(sort $(wildcard linux/linux-ext-*.mk))
 
 $(eval $(generic-package))
 
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index f284c93..1de68cf 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -1,3 +1,3 @@
 EFL_VERSION = 1.7.7
 
-include package/efl/*/*.mk
+include $(sort $(wildcard package/efl/*/*.mk))
diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk
index 9f63ce3..c8f99b6 100644
--- a/package/freescale-imx/freescale-imx.mk
+++ b/package/freescale-imx/freescale-imx.mk
@@ -9,5 +9,5 @@ FREESCALE_IMX_VERSION = 1.1.0
 # No official download site from freescale, just this mirror
 FREESCALE_IMX_MIRROR_SITE   = http://download.ossystems.com.br/bsp/freescale/source
 
-include package/freescale-imx/*/*.mk
+include $(sort $(wildcard package/freescale-imx/*/*.mk))
 
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index cd6efed..66af425 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -215,4 +215,4 @@ HOST_GCC_COMMON_CONF_OPT += \
 	--with-long-double-128
 endif
 
-include package/gcc/*/*.mk
+include $(sort $(wildcard package/gcc/*/*.mk))
diff --git a/package/gtk2-themes/gtk2-themes.mk b/package/gtk2-themes/gtk2-themes.mk
index 6f31c6d..fc66698 100644
--- a/package/gtk2-themes/gtk2-themes.mk
+++ b/package/gtk2-themes/gtk2-themes.mk
@@ -1 +1 @@
-include package/gtk2-themes/*/*.mk
+include $(sort $(wildcard package/gtk2-themes/*/*.mk))
diff --git a/package/matchbox/matchbox.mk b/package/matchbox/matchbox.mk
index abda915..fff4add 100644
--- a/package/matchbox/matchbox.mk
+++ b/package/matchbox/matchbox.mk
@@ -1,4 +1,4 @@
 ifeq ($(BR2_PACKAGE_MATCHBOX),y)
-include package/matchbox/*/*.mk
+include $(sort $(wildcard package/matchbox/*/*.mk))
 TARGETS+=matchbox-lib matchbox-wm
 endif
diff --git a/package/opengl/opengl.mk b/package/opengl/opengl.mk
index 68df3b1..abf96d5 100644
--- a/package/opengl/opengl.mk
+++ b/package/opengl/opengl.mk
@@ -1 +1 @@
-include package/opengl/*/*.mk
+include $(sort $(wildcard package/opengl/*/*.mk))
diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
index 9e71c83..fce0ca3 100644
--- a/package/qt5/qt5.mk
+++ b/package/qt5/qt5.mk
@@ -1,6 +1,6 @@
 QT5_VERSION = 5.0.2
 QT5_SITE = http://download.qt-project.org/archive/qt/5.0/$(QT5_VERSION)/submodules/
-include package/qt5/*/*.mk
+include $(sort $(wildcard package/qt5/*/*.mk))
 
 define QT5_LA_PRL_FILES_FIXUP
 	for i in $$(find $(STAGING_DIR)/usr/lib* -name "libQt5*.la"); do \
diff --git a/package/x11r7/x11r7.mk b/package/x11r7/x11r7.mk
index ea0363f..85ecbc5 100644
--- a/package/x11r7/x11r7.mk
+++ b/package/x11r7/x11r7.mk
@@ -1 +1 @@
-include package/x11r7/*/*.mk
+include $(sort $(wildcard package/x11r7/*/*.mk))
diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk
index 4a220e0..149b8e5 100644
--- a/support/dependencies/dependencies.mk
+++ b/support/dependencies/dependencies.mk
@@ -14,7 +14,7 @@ DEPENDENCIES_HOST_PREREQ :=
 define suitable-host-package
 $(shell support/dependencies/check-host-$(1).sh $(2))
 endef
--include support/dependencies/check-host-*.mk
+-include $(sort $(wildcard support/dependencies/check-host-*.mk))
 
 ifeq ($(BR2_STRIP_sstrip),y)
 DEPENDENCIES_HOST_PREREQ+=host-sstrip
-- 
1.7.9.5

  reply	other threads:[~2013-09-03  8:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-30  8:31 [Buildroot] Build reproducibility Jérôme Pouiller
2013-08-30  8:31 ` [Buildroot] [PATCH] Fix build reproducibility in Make 3.82 Jérôme Pouiller
2013-09-03  6:13   ` Arnout Vandecappelle
2013-09-03  8:45     ` Jérôme Pouiller [this message]
2013-09-03  9:31       ` [Buildroot] [PATCH v2] " Arnout Vandecappelle
2013-09-07  6:06       ` Peter Korsgaard
2013-08-30 11:59 ` [Buildroot] Build reproducibility Thomas De Schampheleire
2013-08-30 12:44   ` Jérôme Pouiller
2013-08-30 12:52     ` Thomas Petazzoni
2013-09-02  8:44       ` Thomas De Schampheleire
2013-09-02  8:53         ` Thomas Petazzoni
2013-09-02 13:18           ` Thomas De Schampheleire
2013-09-03 17:13             ` Thomas Petazzoni
2013-09-05 19:56               ` Thomas De Schampheleire
2013-09-05 20:49                 ` Jérôme Pouiller
2013-09-02 16:11         ` Arnout Vandecappelle
2013-09-03  6:26           ` Peter Korsgaard
2013-09-03  7:16             ` Thomas Petazzoni
2013-09-03  7:47               ` Peter Korsgaard
2013-09-03 16:48                 ` Thomas Petazzoni
2013-09-03  8:15             ` Jérôme Pouiller
2013-09-03 16:54               ` Thomas Petazzoni

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=1378197941-30752-1-git-send-email-jezz@sysmic.org \
    --to=jezz@sysmic.org \
    --cc=buildroot@busybox.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox