From 279cfd51171395c3d6ee8eb5e0fda48375c3756c Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Fri, 8 Aug 2014 15:50:52 +0200
Subject: [PATCH] Split gluon-mesh-batman-adv into gluon-mesh-batman-adv-core
 and gluon-mesh-batman-adv-14

---
 package/gluon-mesh-batman-adv-14/Makefile     | 32 +++++++++++++++
 .../nodeinfo.d/software/batman-adv/compat     |  1 +
 package/gluon-mesh-batman-adv-core/Makefile   | 37 +++++++++++++++++
 .../check_site.lua                            |  0
 .../announce/nodeinfo.d/network/addresses     |  0
 .../nodeinfo.d/network/mesh_interfaces        |  0
 .../nodeinfo.d/software/batman-adv/version    |  1 +
 .../lib/gluon/announce/statistics.d/gateway   |  0
 .../lib/gluon/announce/statistics.d/traffic   |  0
 .../mesh-batman-adv-core}/invariant/010-wan   |  0
 .../mesh-batman-adv-core}/invariant/011-mesh  | 19 +++++++++
 .../invariant/020-wireless                    |  0
 .../invariant/030-mesh-on-wan                 |  0
 package/gluon-mesh-batman-adv/Makefile        | 41 -------------------
 .../announce/nodeinfo.d/software/batman-adv   |  3 --
 .../upgrade/mesh-batman-adv/initial/010-mesh  | 26 ------------
 16 files changed, 90 insertions(+), 70 deletions(-)
 create mode 100644 package/gluon-mesh-batman-adv-14/Makefile
 create mode 100644 package/gluon-mesh-batman-adv-14/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/compat
 create mode 100644 package/gluon-mesh-batman-adv-core/Makefile
 rename package/{gluon-mesh-batman-adv => gluon-mesh-batman-adv-core}/check_site.lua (100%)
 rename package/{gluon-mesh-batman-adv => gluon-mesh-batman-adv-core}/files/lib/gluon/announce/nodeinfo.d/network/addresses (100%)
 rename package/{gluon-mesh-batman-adv => gluon-mesh-batman-adv-core}/files/lib/gluon/announce/nodeinfo.d/network/mesh_interfaces (100%)
 create mode 100644 package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/version
 rename package/{gluon-mesh-batman-adv => gluon-mesh-batman-adv-core}/files/lib/gluon/announce/statistics.d/gateway (100%)
 rename package/{gluon-mesh-batman-adv => gluon-mesh-batman-adv-core}/files/lib/gluon/announce/statistics.d/traffic (100%)
 rename package/{gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv => gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core}/invariant/010-wan (100%)
 rename package/{gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv => gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core}/invariant/011-mesh (82%)
 rename package/{gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv => gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core}/invariant/020-wireless (100%)
 rename package/{gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv => gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core}/invariant/030-mesh-on-wan (100%)
 delete mode 100644 package/gluon-mesh-batman-adv/Makefile
 delete mode 100644 package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/software/batman-adv
 delete mode 100755 package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh

diff --git a/package/gluon-mesh-batman-adv-14/Makefile b/package/gluon-mesh-batman-adv-14/Makefile
new file mode 100644
index 000000000..be65cafab
--- /dev/null
+++ b/package/gluon-mesh-batman-adv-14/Makefile
@@ -0,0 +1,32 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gluon-mesh-batman-adv-14
+PKG_VERSION:=1
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+
+include $(GLUONDIR)/include/package.mk
+
+define Package/gluon-mesh-batman-adv-14
+  SECTION:=gluon
+  CATEGORY:=Gluon
+  TITLE:=Support for batman-adv meshing (compat level 14)
+  DEPENDS:=+gluon-mesh-batman-adv-core +kmod-batman-adv-legacy
+  PROVIDES:=gluon-mesh-batman-adv
+endef
+
+define Build/Prepare
+	mkdir -p $(PKG_BUILD_DIR)
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/gluon-mesh-batman-adv-14/install
+	$(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,gluon-mesh-batman-adv-14))
diff --git a/package/gluon-mesh-batman-adv-14/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/compat b/package/gluon-mesh-batman-adv-14/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/compat
new file mode 100644
index 000000000..841372371
--- /dev/null
+++ b/package/gluon-mesh-batman-adv-14/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/compat
@@ -0,0 +1 @@
+return 14
diff --git a/package/gluon-mesh-batman-adv-core/Makefile b/package/gluon-mesh-batman-adv-core/Makefile
new file mode 100644
index 000000000..93191348e
--- /dev/null
+++ b/package/gluon-mesh-batman-adv-core/Makefile
@@ -0,0 +1,37 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gluon-mesh-batman-adv-core
+PKG_VERSION:=1
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+
+include $(GLUONDIR)/include/package.mk
+
+define Package/gluon-mesh-batman-adv-core
+  SECTION:=gluon
+  CATEGORY:=Gluon
+  TITLE:=Support for batman-adv meshing (core)
+  DEPENDS:=+gluon-core +firewall +kmod-ipt-nathelper
+endef
+
+define Build/Prepare
+	mkdir -p $(PKG_BUILD_DIR)
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/gluon-mesh-batman-adv-core/install
+	$(CP) ./files/* $(1)/
+endef
+
+define Package/gluon-mesh-batman-adv-core/postinst
+#!/bin/sh
+$(call GluonCheckSite,check_site.lua)
+endef
+
+
+$(eval $(call BuildPackage,gluon-mesh-batman-adv-core))
diff --git a/package/gluon-mesh-batman-adv/check_site.lua b/package/gluon-mesh-batman-adv-core/check_site.lua
similarity index 100%
rename from package/gluon-mesh-batman-adv/check_site.lua
rename to package/gluon-mesh-batman-adv-core/check_site.lua
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/network/addresses b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/network/addresses
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/network/addresses
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/network/addresses
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/network/mesh_interfaces b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/network/mesh_interfaces
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/network/mesh_interfaces
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/network/mesh_interfaces
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/version b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/version
new file mode 100644
index 000000000..abb317e9d
--- /dev/null
+++ b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/software/batman-adv/version
@@ -0,0 +1 @@
+return util.trim(fs.readfile('/sys/module/batman_adv/version'))
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/statistics.d/gateway b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/gateway
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/announce/statistics.d/gateway
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/gateway
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/statistics.d/traffic b/package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/traffic
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/announce/statistics.d/traffic
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/traffic
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/010-wan b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/010-wan
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/010-wan
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/010-wan
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/011-mesh b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/011-mesh
similarity index 82%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/011-mesh
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/011-mesh
index f615f45e5..e8628f8cd 100755
--- a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/011-mesh
+++ b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/011-mesh
@@ -16,6 +16,25 @@ uci:save('batman-adv')
 uci:commit('batman-adv')
 
 
+if not uci:get('network', 'client') then
+  local ifname
+
+  if sysconfig.lan_ifname then
+    ifname = sysconfig.lan_ifname .. ' bat0'
+  else
+    ifname = 'bat0'
+  end
+
+  uci:section('network', 'interface', 'client',
+	      {
+		ifname = ifname,
+		type = 'bridge',
+		proto = 'dhcpv6',
+		reqprefix = 'no',
+	      }
+  )
+end
+
 uci:set('network', 'client', 'macaddr', sysconfig.primary_mac)
 uci:set('network', 'client', 'peerdns', 1)
 
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/020-wireless b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/020-wireless
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/020-wireless
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/020-wireless
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/030-mesh-on-wan b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/030-mesh-on-wan
similarity index 100%
rename from package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/invariant/030-mesh-on-wan
rename to package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/030-mesh-on-wan
diff --git a/package/gluon-mesh-batman-adv/Makefile b/package/gluon-mesh-batman-adv/Makefile
deleted file mode 100644
index 5daf5e524..000000000
--- a/package/gluon-mesh-batman-adv/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=gluon-mesh-batman-adv
-PKG_VERSION:=3
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(GLUONDIR)/include/package.mk
-
-define Package/gluon-mesh-batman-adv
-  SECTION:=gluon
-  CATEGORY:=Gluon
-  TITLE:=Support for batman-adv meshing
-  DEPENDS:=+gluon-core +kmod-batman-adv-legacy +firewall +kmod-ipt-nathelper
-endef
-
-define Package/gluon-mesh-batman-adv/description
-	Gluon community wifi mesh firmware framework: batman-adv support
-endef
-
-define Build/Prepare
-	mkdir -p $(PKG_BUILD_DIR)
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/gluon-mesh-batman-adv/install
-	$(CP) ./files/* $(1)/
-endef
-
-define Package/gluon-mesh-batman-adv/postinst
-#!/bin/sh
-$(call GluonCheckSite,check_site.lua)
-endef
-
-
-$(eval $(call BuildPackage,gluon-mesh-batman-adv))
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/software/batman-adv b/package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/software/batman-adv
deleted file mode 100644
index 2c8390d61..000000000
--- a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/nodeinfo.d/software/batman-adv
+++ /dev/null
@@ -1,3 +0,0 @@
-local version = util.trim(fs.readfile('/sys/module/batman_adv/version'))
-
-return { version = version }
diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh b/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh
deleted file mode 100755
index 5b2750995..000000000
--- a/package/gluon-mesh-batman-adv/files/lib/gluon/upgrade/mesh-batman-adv/initial/010-mesh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/lua
-
-local sysconfig = require 'gluon.sysconfig'
-local uci = require('luci.model.uci').cursor()
-
-
-local ifname
-
-if sysconfig.lan_ifname then
-   ifname = sysconfig.lan_ifname .. ' bat0'
-else
-   ifname = 'bat0'
-end
-
-
-uci:section('network', 'interface', 'client',
-	    {
-	       ifname = ifname,
-	       type = 'bridge',
-	       proto = 'dhcpv6',
-	       reqprefix = 'no',
-	    }
-)
-
-uci:save('network')
-uci:commit('network')
-- 
GitLab