From 6c862525f72adba67365342503cc773e6220bb28 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Thu, 8 May 2014 00:49:46 +0200
Subject: [PATCH] Use GNU stat (as determined by OpenWRT) for
 GLUON_CONFIG_VERSION

This *should* fix the build on non-Linux systems like MacOS X.
---
 Makefile                                      | 16 +++++++++---
 include/gluon.mk                              | 10 ++++++-
 ...file-fix-host-tools-build-dependency.patch | 26 +++++++++++++++++++
 ...=> 0002-Make-Unifi-images-flashable.patch} |  0
 ...s-dependencies-from-Barrier-Breaker.patch} |  0
 ...Update-odhcp6c-from-Barrier-Breaker.patch} |  0
 ...e-base-files-change-sysctl-handling.patch} |  0
 ...ch => 0006-Fix-ping6-sender-address.patch} |  0
 ...el-support-for-the-TL-WDR3500-board.patch} |  0
 ...-space-support-for-TL-WDR3500-board.patch} |  0
 ...uild-image-for-the-TL-WDR3500-board.patch} |  0
 ...ch-configuration-for-the-TL-WDR3500.patch} |  0
 ...add-diag-support-for-the-TL-WDR3500.patch} |  0
 ...ic-suffix-of-the-TL-WDR3500-USB-LED.patch} |  0
 ...ix-USB-power-GPIO-on-the-TL-WDR3500.patch} |  0
 ...ED-configuration-for-the-WL-WRD3500.patch} |  0
 ...fix-ethernet-LEDs-on-the-TL-WDR3500.patch} |  0
 ...PIO-output-select-values-for-AR934x.patch} |  0
 ...d-and-mac80211-from-Barrier-Breaker.patch} |  0
 ...-ar71xx-add-support-for-QCA953x-SoC.patch} |  0
 ...ort-for-the-TP-LINK-TL-WR841N-ND-v9.patch} |  0
 ...t-for-TL-WR842N-v2-and-TL-MR3420-v2.patch} |  0
 22 files changed, 48 insertions(+), 4 deletions(-)
 create mode 100644 patches/openwrt/0001-tools-Makefile-fix-host-tools-build-dependency.patch
 rename patches/openwrt/{0001-Make-Unifi-images-flashable.patch => 0002-Make-Unifi-images-flashable.patch} (100%)
 rename patches/openwrt/{0002-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch => 0003-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch} (100%)
 rename patches/openwrt/{0003-Update-odhcp6c-from-Barrier-Breaker.patch => 0004-Update-odhcp6c-from-Barrier-Breaker.patch} (100%)
 rename patches/openwrt/{0004-package-base-files-change-sysctl-handling.patch => 0005-package-base-files-change-sysctl-handling.patch} (100%)
 rename patches/openwrt/{0005-Fix-ping6-sender-address.patch => 0006-Fix-ping6-sender-address.patch} (100%)
 rename patches/openwrt/{0006-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch => 0007-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch} (100%)
 rename patches/openwrt/{0007-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch => 0008-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch} (100%)
 rename patches/openwrt/{0008-ar71xx-build-image-for-the-TL-WDR3500-board.patch => 0009-ar71xx-build-image-for-the-TL-WDR3500-board.patch} (100%)
 rename patches/openwrt/{0009-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch => 0010-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch} (100%)
 rename patches/openwrt/{0010-ar71xx-add-diag-support-for-the-TL-WDR3500.patch => 0011-ar71xx-add-diag-support-for-the-TL-WDR3500.patch} (100%)
 rename patches/openwrt/{0011-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch => 0012-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch} (100%)
 rename patches/openwrt/{0012-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch => 0013-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch} (100%)
 rename patches/openwrt/{0013-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch => 0014-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch} (100%)
 rename patches/openwrt/{0014-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch => 0015-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch} (100%)
 rename patches/openwrt/{0015-ar71xx-add-GPIO-output-select-values-for-AR934x.patch => 0016-ar71xx-add-GPIO-output-select-values-for-AR934x.patch} (100%)
 rename patches/openwrt/{0016-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch => 0017-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch} (100%)
 rename patches/openwrt/{0017-ar71xx-add-support-for-QCA953x-SoC.patch => 0018-ar71xx-add-support-for-QCA953x-SoC.patch} (100%)
 rename patches/openwrt/{0018-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch => 0019-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch} (100%)
 rename patches/openwrt/{0019-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch => 0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch} (100%)

diff --git a/Makefile b/Makefile
index 96cafe0bf..8cf8e51ba 100644
--- a/Makefile
+++ b/Makefile
@@ -39,8 +39,9 @@ update-patches: FORCE
 _SINGLE=export MAKEFLAGS=$(space);
 
 override OPENWRT_BUILD=1
+override GLUON_TOOLS=1
 GREP_OPTIONS=
-export OPENWRT_BUILD GREP_OPTIONS
+export OPENWRT_BUILD GLUON_TOOLS GREP_OPTIONS
 
 -include $(TOPDIR)/include/debug.mk
 -include $(TOPDIR)/include/depends.mk
@@ -56,19 +57,24 @@ endef
 
 include $(GLUONDIR)/include/profiles.mk
 
-CheckExternal := test -d $(GLUON_OPENWRTDIR) || (echo 'You don'"'"'t seem to have optained the external repositories needed by Gluon; please call `make update` first!'; false)
+CheckExternal := test -d $(GLUON_OPENWRTDIR) || (echo 'You don'"'"'t seem to have obtained the external repositories needed by Gluon; please call `make update` first!'; false)
 
 all: FORCE
 	@$(CheckExternal)
+	+@$(SUBMAKE) -C $(TOPDIR) prepare-tmpinfo OPENWRT_BUILD=0
+	+@$(GLUONMAKE) gluon-tools GLUON_TOOLS=0
 	+@$(GLUONMAKE) prepare
 	+@$(GLUONMAKE) images
 
 download prepare images: FORCE
 	@$(CheckExternal)
+	+@$(SUBMAKE) -C $(TOPDIR) prepare-tmpinfo OPENWRT_BUILD=0
+	+@$(GLUONMAKE) gluon-tools GLUON_TOOLS=0
 	+@$(GLUONMAKE) $@
 
 manifest: FORCE
 	@$(CheckExternal)
+	+@$(GLUONMAKE) gluon-tools GLUON_TOOLS=0
 	[ -n "$(GLUON_BRANCH)" ] || (echo 'Please set GLUON_BRANCH to create a manifest.'; false)
 	+@$(GLUONMAKE) $@
 
@@ -134,6 +140,10 @@ include $(INCLUDE_DIR)/target.mk
 include $(GLUONDIR)/include/profiles.mk
 
 
+$(STAGING_DIR_HOST)/bin/stat: $(STAGING_DIR_HOST)/.prepared
+gluon-tools: $(STAGING_DIR_HOST)/bin/stat
+
+
 $(BUILD_DIR)/.prepared: Makefile
 	@mkdir -p $$(dirname $@)
 	@touch $@
@@ -311,6 +321,6 @@ manifest: FORCE
 	) :)) > $(GLUON_IMAGEDIR)/sysupgrade/$(GLUON_BRANCH).manifest
 
 
-.PHONY: all images prepare clean cleanall
+.PHONY: all images prepare clean cleanall gluon-tools
 
 endif
diff --git a/include/gluon.mk b/include/gluon.mk
index 12f670d14..ef58fbd95 100644
--- a/include/gluon.mk
+++ b/include/gluon.mk
@@ -26,7 +26,11 @@ $(GLUON_SITEDIR)/site.mk:
 GLUON_VERSION := $(shell cd $(GLUONDIR) && git describe --always 2>/dev/null || echo unknown)
 export GLUON_VERSION
 
-GLUON_CONFIG_VERSION := $(shell test -d $(GLUON_SITEDIR) && (cd $(GLUON_SITEDIR) && git describe --always --dirty=.$$(stat -c %Y $(GLUON_SITEDIR)/site.conf) 2>/dev/null || stat -c %Y site.conf))
+
+ifeq ($(OPENWRT_BUILD),1)
+ifeq ($(GLUON_TOOLS),1)
+
+GLUON_CONFIG_VERSION := $(shell test -d $(GLUON_SITEDIR) && (cd $(GLUON_SITEDIR) && git describe --always --dirty=.$$($(STAGING_DIR_HOST)/bin/stat -c %Y $(GLUON_SITEDIR)/site.conf) 2>/dev/null || $(STAGING_DIR_HOST)/bin/stat -c %Y site.conf))
 export GLUON_CONFIG_VERSION
 
 GLUON_SITE_CODE := $(shell $(GLUONDIR)/scripts/site.sh site_code)
@@ -35,6 +39,10 @@ export GLUON_SITE_CODE
 GLUON_RELEASE ?= $(shell $(GLUONDIR)/scripts/site.sh release)
 export GLUON_RELEASE
 
+endif
+endif
+
+
 define merge-lists
 $(1) :=
 $(foreach var,$(2),$(1) := $$(sort $$(filter-out -% $$(patsubst -%,%,$$(filter -%,$$($(var)))),$$($(1)) $$($(var))))
diff --git a/patches/openwrt/0001-tools-Makefile-fix-host-tools-build-dependency.patch b/patches/openwrt/0001-tools-Makefile-fix-host-tools-build-dependency.patch
new file mode 100644
index 000000000..c686df058
--- /dev/null
+++ b/patches/openwrt/0001-tools-Makefile-fix-host-tools-build-dependency.patch
@@ -0,0 +1,26 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Wed, 7 May 2014 22:57:10 +0200
+Subject: tools/Makefile: fix host tools build dependency
+
+diff --git a/tools/Makefile b/tools/Makefile
+index 2236373..88c0562 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -100,7 +100,7 @@ $(STAGING_DIR_HOST)/.prepared: $(TMP_DIR)/.build
+ 
+ 
+ define PrepareCommand
+-$(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared
++$(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR_HOST)/.prepared
+ 	@mkdir -p "$$(dir $$@)"; rm -f "$$@"
+ 	@export FILE="$$$$(which $(2) 2>/dev/null | grep -v 'not found' | head -n1)"; [ -n "$$$$FILE" ] || { \
+ 		echo "Command $(1) not found."; false; \
+@@ -109,7 +109,7 @@ $(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared
+ endef
+ endif
+ 
+-$(STAGING_DIR_HOST)/bin/stat: $(STAGING_DIR)/.prepared
++$(STAGING_DIR_HOST)/bin/stat: $(STAGING_DIR_HOST)/.prepared
+ 	@rm -f $@
+ 	@if stat --version > /dev/null 2>&1; then \
+ 		ln -s `which stat` $@; \
diff --git a/patches/openwrt/0001-Make-Unifi-images-flashable.patch b/patches/openwrt/0002-Make-Unifi-images-flashable.patch
similarity index 100%
rename from patches/openwrt/0001-Make-Unifi-images-flashable.patch
rename to patches/openwrt/0002-Make-Unifi-images-flashable.patch
diff --git a/patches/openwrt/0002-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch b/patches/openwrt/0003-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch
similarity index 100%
rename from patches/openwrt/0002-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch
rename to patches/openwrt/0003-Update-netifd-and-its-dependencies-from-Barrier-Breaker.patch
diff --git a/patches/openwrt/0003-Update-odhcp6c-from-Barrier-Breaker.patch b/patches/openwrt/0004-Update-odhcp6c-from-Barrier-Breaker.patch
similarity index 100%
rename from patches/openwrt/0003-Update-odhcp6c-from-Barrier-Breaker.patch
rename to patches/openwrt/0004-Update-odhcp6c-from-Barrier-Breaker.patch
diff --git a/patches/openwrt/0004-package-base-files-change-sysctl-handling.patch b/patches/openwrt/0005-package-base-files-change-sysctl-handling.patch
similarity index 100%
rename from patches/openwrt/0004-package-base-files-change-sysctl-handling.patch
rename to patches/openwrt/0005-package-base-files-change-sysctl-handling.patch
diff --git a/patches/openwrt/0005-Fix-ping6-sender-address.patch b/patches/openwrt/0006-Fix-ping6-sender-address.patch
similarity index 100%
rename from patches/openwrt/0005-Fix-ping6-sender-address.patch
rename to patches/openwrt/0006-Fix-ping6-sender-address.patch
diff --git a/patches/openwrt/0006-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch b/patches/openwrt/0007-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch
similarity index 100%
rename from patches/openwrt/0006-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch
rename to patches/openwrt/0007-ar71xx-add-kernel-support-for-the-TL-WDR3500-board.patch
diff --git a/patches/openwrt/0007-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch b/patches/openwrt/0008-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch
similarity index 100%
rename from patches/openwrt/0007-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch
rename to patches/openwrt/0008-ar71xx-add-user-space-support-for-TL-WDR3500-board.patch
diff --git a/patches/openwrt/0008-ar71xx-build-image-for-the-TL-WDR3500-board.patch b/patches/openwrt/0009-ar71xx-build-image-for-the-TL-WDR3500-board.patch
similarity index 100%
rename from patches/openwrt/0008-ar71xx-build-image-for-the-TL-WDR3500-board.patch
rename to patches/openwrt/0009-ar71xx-build-image-for-the-TL-WDR3500-board.patch
diff --git a/patches/openwrt/0009-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch b/patches/openwrt/0010-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch
similarity index 100%
rename from patches/openwrt/0009-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch
rename to patches/openwrt/0010-ar71xx-add-default-switch-configuration-for-the-TL-WDR3500.patch
diff --git a/patches/openwrt/0010-ar71xx-add-diag-support-for-the-TL-WDR3500.patch b/patches/openwrt/0011-ar71xx-add-diag-support-for-the-TL-WDR3500.patch
similarity index 100%
rename from patches/openwrt/0010-ar71xx-add-diag-support-for-the-TL-WDR3500.patch
rename to patches/openwrt/0011-ar71xx-add-diag-support-for-the-TL-WDR3500.patch
diff --git a/patches/openwrt/0011-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch b/patches/openwrt/0012-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch
similarity index 100%
rename from patches/openwrt/0011-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch
rename to patches/openwrt/0012-ar71xx-remove-numeric-suffix-of-the-TL-WDR3500-USB-LED.patch
diff --git a/patches/openwrt/0012-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch b/patches/openwrt/0013-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch
similarity index 100%
rename from patches/openwrt/0012-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch
rename to patches/openwrt/0013-ar71xx-fix-USB-power-GPIO-on-the-TL-WDR3500.patch
diff --git a/patches/openwrt/0013-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch b/patches/openwrt/0014-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch
similarity index 100%
rename from patches/openwrt/0013-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch
rename to patches/openwrt/0014-ar71xx-add-default-LED-configuration-for-the-WL-WRD3500.patch
diff --git a/patches/openwrt/0014-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch b/patches/openwrt/0015-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch
similarity index 100%
rename from patches/openwrt/0014-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch
rename to patches/openwrt/0015-ar71xx-fix-ethernet-LEDs-on-the-TL-WDR3500.patch
diff --git a/patches/openwrt/0015-ar71xx-add-GPIO-output-select-values-for-AR934x.patch b/patches/openwrt/0016-ar71xx-add-GPIO-output-select-values-for-AR934x.patch
similarity index 100%
rename from patches/openwrt/0015-ar71xx-add-GPIO-output-select-values-for-AR934x.patch
rename to patches/openwrt/0016-ar71xx-add-GPIO-output-select-values-for-AR934x.patch
diff --git a/patches/openwrt/0016-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch b/patches/openwrt/0017-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch
similarity index 100%
rename from patches/openwrt/0016-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch
rename to patches/openwrt/0017-Backport-hostapd-and-mac80211-from-Barrier-Breaker.patch
diff --git a/patches/openwrt/0017-ar71xx-add-support-for-QCA953x-SoC.patch b/patches/openwrt/0018-ar71xx-add-support-for-QCA953x-SoC.patch
similarity index 100%
rename from patches/openwrt/0017-ar71xx-add-support-for-QCA953x-SoC.patch
rename to patches/openwrt/0018-ar71xx-add-support-for-QCA953x-SoC.patch
diff --git a/patches/openwrt/0018-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch b/patches/openwrt/0019-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch
similarity index 100%
rename from patches/openwrt/0018-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch
rename to patches/openwrt/0019-ar71xx-add-support-for-the-TP-LINK-TL-WR841N-ND-v9.patch
diff --git a/patches/openwrt/0019-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch b/patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch
similarity index 100%
rename from patches/openwrt/0019-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch
rename to patches/openwrt/0020-Backport-support-for-TL-WR842N-v2-and-TL-MR3420-v2.patch
-- 
GitLab