From 3ddc077738f15b4ea9361411d402faac96d29528 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 28 Dec 2013 14:54:49 +0100
Subject: [PATCH] Add make target to check out modules

---
 .gitignore          |  5 +++++
 Makefile            | 10 +++++++---
 include/toplevel.mk |  2 +-
 modules             | 16 ++++++++++++++++
 scripts/update.sh   | 16 ++++++++++++++++
 5 files changed, 45 insertions(+), 4 deletions(-)
 create mode 100644 modules
 create mode 100755 scripts/update.sh

diff --git a/.gitignore b/.gitignore
index 3762e4613..fd00247e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,8 @@
 /build
 /images
 /site
+/openwrt
+/packages/openwrt
+/packages/gluon
+/packages/routing
+/packages/luci
diff --git a/Makefile b/Makefile
index f64819d09..be952221e 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,11 @@ include $(GLUONDIR)/include/gluon.mk
 TOPDIR:=$(GLUON_OPENWRTDIR)
 export TOPDIR
 
-include $(TOPDIR)/include/host.mk
+
+update: FORCE
+	$(GLUONDIR)/scripts/update.sh $(GLUONDIR)
+
+-include $(TOPDIR)/include/host.mk
 
 _SINGLE=export MAKEFLAGS=$(space);
 
@@ -27,8 +31,8 @@ override REVISION:=$(shell $(GLUONDIR)/scripts/openwrt_rev.sh $(GLUONDIR))
 GREP_OPTIONS=
 export OPENWRT_BUILD GREP_OPTIONS REVISION
 
-include $(TOPDIR)/include/debug.mk
-include $(TOPDIR)/include/depends.mk
+-include $(TOPDIR)/include/debug.mk
+-include $(TOPDIR)/include/depends.mk
 include $(GLUONDIR)/include/toplevel.mk
 
 define GluonProfile
diff --git a/include/toplevel.mk b/include/toplevel.mk
index 44533341d..be3f7445b 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -10,7 +10,7 @@
 RELEASE:=Attitude Adjustment
 PREP_MK= OPENWRT_BUILD= QUIET=0
 
-include $(TOPDIR)/include/verbose.mk
+-include $(TOPDIR)/include/verbose.mk
 
 REVISION:=$(shell $(TOPDIR)/scripts/getver.sh)
 
diff --git a/modules b/modules
new file mode 100644
index 000000000..30014e874
--- /dev/null
+++ b/modules
@@ -0,0 +1,16 @@
+GLUON_MODULES='openwrt packages/openwrt packages/gluon packages/routing packages/luci'
+
+MODULE_OPENWRT_REPO=git://nbd.name/attitude_adjustment.git
+MODULE_OPENWRT_COMMIT=162cca9386fd2d451732562efeaf57a533f3de86
+
+MODULE_PACKAGES_OPENWRT_REPO=git://nbd.name/packages_12.09.git
+MODULE_PACKAGES_OPENWRT_COMMIT=b4aa2d25af02e55e223f31894facf6d0e5300146
+
+MODULE_PACKAGES_GLUON_REPO=https://github.com/freifunk-gluon/packages.git
+MODULE_PACKAGES_GLUON_COMMIT=f34c54d84cb1f874bf7d588d264dae3c0706ba0b
+
+MODULE_PACKAGES_ROUTING_REPO=https://github.com/openwrt-routing/packages.git
+MODULE_PACKAGES_ROUTING_COMMIT=1c0b31528970a181327ff9309e3efd1e8c625ff0
+
+MODULE_PACKAGES_LUCI_REPO=https://github.com/freifunk-gluon/luci.git
+MODULE_PACKAGES_LUCI_COMMIT=bed710786d8a3a63f5908823e6382a51efc91003
diff --git a/scripts/update.sh b/scripts/update.sh
new file mode 100755
index 000000000..0142815e5
--- /dev/null
+++ b/scripts/update.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+. $1/modules
+
+for module in $GLUON_MODULES; do
+	dir=$1/$module
+	mkdir -p $dir
+	var=$(echo "$module" | tr '[:lower:]/' '[:upper:]_')
+	eval repo=\${MODULE_${var}_REPO}
+	eval commit=\${MODULE_${var}_COMMIT}
+	git -C $dir init
+	git -C $dir fetch $repo
+	git -C $dir checkout -B base $commit
+done
-- 
GitLab