diff --git a/ffho/ffho-ap-timer/Makefile b/ffho/ffho-ap-timer/Makefile
index 6e2507d4a175066f382199bfc0ed3feb318a31ea..73a8ae887597a329d0afa9465f42b77709404702 100644
--- a/ffho/ffho-ap-timer/Makefile
+++ b/ffho/ffho-ap-timer/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-ap-timer
   SECTION:=ffho
diff --git a/ffho/ffho-ath9k-blackout-workaround/Makefile b/ffho/ffho-ath9k-blackout-workaround/Makefile
index 9bd831b42be8a79340f422e1abd0993a45db6fd1..224dca12f7574e04913f503ae2dec3ff116c7dad 100644
--- a/ffho/ffho-ath9k-blackout-workaround/Makefile
+++ b/ffho/ffho-ath9k-blackout-workaround/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-ath9k-blackout-workaround
   SECTION:=ffho
diff --git a/ffho/ffho-autoupdater-wifi-fallback-legacy/Makefile b/ffho/ffho-autoupdater-wifi-fallback-legacy/Makefile
index b529e6feb6049f31d510084a7175a7de3ba97f0f..d5c40cf4f8ab82cb1603493c8c8a8d198ea0b0cc 100644
--- a/ffho/ffho-autoupdater-wifi-fallback-legacy/Makefile
+++ b/ffho/ffho-autoupdater-wifi-fallback-legacy/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-autoupdater-wifi-fallback-legacy
   SECTION:=ffho
diff --git a/ffho/ffho-autoupdater-wifi-fallback/Makefile b/ffho/ffho-autoupdater-wifi-fallback/Makefile
index 23529d2f4e8484a1c19dd1db69c07200d63f7e53..f70bcffffe2dfa7f18a7ffc0cf0a82e740268c2d 100644
--- a/ffho/ffho-autoupdater-wifi-fallback/Makefile
+++ b/ffho/ffho-autoupdater-wifi-fallback/Makefile
@@ -7,7 +7,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_BUILD_DEPENDS := respondd
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-autoupdater-wifi-fallback
   SECTION:=ffho
diff --git a/ffho/ffho-banner/Makefile b/ffho/ffho-banner/Makefile
index 45527b9a5b67c1369ef1ace53b8c8f3231d2ad45..64be09a3a484a72c9133b9d6e3ff60e30049b2af 100644
--- a/ffho/ffho-banner/Makefile
+++ b/ffho/ffho-banner/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-banner
   SECTION:=ffho
diff --git a/ffho/ffho-config-mode-site-select/Makefile b/ffho/ffho-config-mode-site-select/Makefile
index 9219ec6f9840608ab870141d2084de5544bab97d..1e92dd1de2d09718ba1b699089e77d0ca06b2dfa 100644
--- a/ffho/ffho-config-mode-site-select/Makefile
+++ b/ffho/ffho-config-mode-site-select/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffho/ffho-debug/Makefile b/ffho/ffho-debug/Makefile
index 47804dc0f3bfd091910298bce470f14645705d82..7822bca66f4b40710921e1597738f4796fba0a89 100644
--- a/ffho/ffho-debug/Makefile
+++ b/ffho/ffho-debug/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-debug
   SECTION:=ffho
diff --git a/ffho/ffho-ebtables-net-rules/Makefile b/ffho/ffho-ebtables-net-rules/Makefile
index 5a8828661ca90bf22fe7594d8fe19d4061d20d21..0f491dca073b67f43c81faa76e662bb5dcbaad7d 100644
--- a/ffho/ffho-ebtables-net-rules/Makefile
+++ b/ffho/ffho-ebtables-net-rules/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-ebtables-net-rules
   SECTION:=ffho
diff --git a/ffho/ffho-fix-defaultroute/Makefile b/ffho/ffho-fix-defaultroute/Makefile
index 578005f6b59f69095c0e92b1a7736677aaa5d4b7..e59668f8b2155b3fdcdc37a1431d29c2522b1f0c 100644
--- a/ffho/ffho-fix-defaultroute/Makefile
+++ b/ffho/ffho-fix-defaultroute/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-fix-defaultroute
   SECTION:=ffho
diff --git a/ffho/ffho-geo-location-altitude-delete/Makefile b/ffho/ffho-geo-location-altitude-delete/Makefile
index 42b5302beb94e06dcb0056d0079b754ca32bba61..01046cf76f79546bdb0856bff6ce887118cd2624 100644
--- a/ffho/ffho-geo-location-altitude-delete/Makefile
+++ b/ffho/ffho-geo-location-altitude-delete/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-geo-location-altitude-delete
   SECTION:=ffho
diff --git a/ffho/ffho-luci-ap-timer/Makefile b/ffho/ffho-luci-ap-timer/Makefile
index 2b80b7cb82c37d259e85f1914d980f11f9997d5f..9086027a11cc977c66e17d8b73f1d4da9a362741 100644
--- a/ffho/ffho-luci-ap-timer/Makefile
+++ b/ffho/ffho-luci-ap-timer/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffho/ffho-luci-ap-timer/luasrc/usr/lib/lua/luci/model/cbi/admin/ap-timer.lua b/ffho/ffho-luci-ap-timer/luasrc/usr/lib/lua/luci/model/cbi/admin/ap-timer.lua
index eed4ede9fa26266a5f380f6478037c07db228658..c3e9035e0a07e9487d294efe254a39e235ed9b92 100644
--- a/ffho/ffho-luci-ap-timer/luasrc/usr/lib/lua/luci/model/cbi/admin/ap-timer.lua
+++ b/ffho/ffho-luci-ap-timer/luasrc/usr/lib/lua/luci/model/cbi/admin/ap-timer.lua
@@ -13,7 +13,7 @@ end
 m = Map('ap-timer', translate('AP Timer'), translate(
   'You can setup the AP Timer here'))
 m.pageaction = false
-m.template = "admin/expertmode"
+m.template = "cbi/simpleform"
 
 s = m:section(NamedSection, 'settings', 'ap-timer', nil)
 s.addremove = false
diff --git a/ffho/ffho-luci-autoupdater-wifi-fallback/Makefile b/ffho/ffho-luci-autoupdater-wifi-fallback/Makefile
index 57dc476140d1545c5c398e9092379c74926986b6..07d0ec1c39b83f950d0e858fc9fba581d69a08cc 100644
--- a/ffho/ffho-luci-autoupdater-wifi-fallback/Makefile
+++ b/ffho/ffho-luci-autoupdater-wifi-fallback/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffho/ffho-luci-autoupdater-wifi-fallback/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua b/ffho/ffho-luci-autoupdater-wifi-fallback/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
index 90e9bb8b86a92a0f93ad9f27d8cb429b3ea0ff95..1046039b7dbfcfde3bd49b8383295e9ffaf63417 100644
--- a/ffho/ffho-luci-autoupdater-wifi-fallback/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
+++ b/ffho/ffho-luci-autoupdater-wifi-fallback/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
@@ -34,6 +34,6 @@ s2:option(Flag, "enabled", translate("Enable"))
 
 local c = Compound(m, m2)
 c.pageaction = false
-c.template = "admin/expertmode"
+c.template = "cbi/simpleform"
 return c
 
diff --git a/ffho/ffho-luci-remote-syslog/Makefile b/ffho/ffho-luci-remote-syslog/Makefile
index ab86b49071054f2d8c8bb42c02166387102e7beb..1fdb82caabb062404b607f9b95a5026df3b1787d 100644
--- a/ffho/ffho-luci-remote-syslog/Makefile
+++ b/ffho/ffho-luci-remote-syslog/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
diff --git a/ffho/ffho-luci-remote-syslog/luasrc/usr/lib/lua/luci/model/cbi/admin/remote-syslog.lua b/ffho/ffho-luci-remote-syslog/luasrc/usr/lib/lua/luci/model/cbi/admin/remote-syslog.lua
index ac781cee7a8aacc4c7a7327869d5bbe6e275102d..e381a2ac10e3922e7ba07fed1824c8306926376e 100644
--- a/ffho/ffho-luci-remote-syslog/luasrc/usr/lib/lua/luci/model/cbi/admin/remote-syslog.lua
+++ b/ffho/ffho-luci-remote-syslog/luasrc/usr/lib/lua/luci/model/cbi/admin/remote-syslog.lua
@@ -1,7 +1,7 @@
 m = Map("system", translate("Remote Syslog"), translate(
   "If you want to use a remote syslog server, you can set it up here."))
 m.pageaction = false
-m.template = "admin/expertmode"
+m.template = "cbi/simpleform"
 
 s = m:section(TypedSection, "system", nil)
 s.addremove = false
diff --git a/ffho/ffho-respondd-config/Makefile b/ffho/ffho-respondd-config/Makefile
index ed208d9a5fb2892a41a70be3545884e11819251c..df55d3d0e33991b7df1e9a9c3742592506675a8e 100644
--- a/ffho/ffho-respondd-config/Makefile
+++ b/ffho/ffho-respondd-config/Makefile
@@ -7,7 +7,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_BUILD_DEPENDS := respondd
 
-include $(INCLUDE_DIR)/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-respondd-config
   SECTION:=ffho
diff --git a/ffho/ffho-site-auto-select/Makefile b/ffho/ffho-site-auto-select/Makefile
index 8cffbf17aad3b0edd93e66eacc59c7cf16b5bd43..76d249d5106699fe75f4a15657119aa701f37122 100644
--- a/ffho/ffho-site-auto-select/Makefile
+++ b/ffho/ffho-site-auto-select/Makefile
@@ -8,7 +8,7 @@ PFG_BUILD_DEPENDS := lua-cjson/host
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-site-auto-select
   SECTION:=ffho
@@ -31,13 +31,14 @@ define Build/Configure
 endef
 
 define Build/Compile
+	lua -e 'print(require("cjson").encode(require("cjson").decode(io.open("$(call qstrip,$(CONFIG_GLUON_SITEDIR))/extra/geo.json"):read("*a"))))' > $(PKG_BUILD_DIR)/geo.json
 	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/ffho-site-auto-select/install
 	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(INSTALL_DIR) $(1)/lib/gluon/site-select
-	lua -e 'print(require("cjson").encode(require("cjson").decode(io.open("$(GLUON_SITEDIR)/extra/geo.json"):read("*a"))))' > $(1)/lib/gluon/site-select/geo.json
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/geo.json $(1)/lib/gluon/site-select/
 endef
 
 $(eval $(call BuildPackage,ffho-site-auto-select))
diff --git a/ffho/ffho-site-generate/Makefile b/ffho/ffho-site-generate/Makefile
index e1e2a1764516c9798c4d3101c2f1a6856f559883..b7857817cfd9cf6ee8bee4d73d9214c20c2c7227 100644
--- a/ffho/ffho-site-generate/Makefile
+++ b/ffho/ffho-site-generate/Makefile
@@ -8,7 +8,7 @@ PFG_BUILD_DEPENDS := lua-cjson/host
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-site-generate
   SECTION:=ffho
@@ -23,22 +23,25 @@ define Package/ffho-site-generate/description
 endef
 
 define Build/Prepare
-	mkdir -p $(PKG_BUILD_DIR)
+	mkdir -p $(PKG_BUILD_DIR)/site-select
 endef
 
 define Build/Configure
 endef
 
 define Build/Compile
+	GLUON_SITEDIR='$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(require("cjson").encode(assert(dofile("./scripts/sites.lua"))))' > $(PKG_BUILD_DIR)/site-select/sites.json
+	GLUON_SITEDIR='$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(require("cjson").encode(assert(dofile("./scripts/template.lua"))))' > $(PKG_BUILD_DIR)/site-select/template.json
+	if [ -e $(call qstrip,$(CONFIG_GLUON_SITEDIR))/extra/groups.conf  ]; then GLUON_SITEDIR='$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(require("cjson").encode(assert(dofile("./scripts/groups.lua"))))' >  $(PKG_BUILD_DIR)/site-select/groups.json; fi
 	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/ffho-site-generate/install
 	$(CP) ./files/* $(1)/
 	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
-	lua -e 'print(require("cjson").encode(assert(dofile("./scripts/template.lua"))))' > $(1)/lib/gluon/site-select/template.json
-	lua -e 'print(require("cjson").encode(assert(dofile("./scripts/sites.lua"))))' >  $(1)/lib/gluon/site-select/sites.json
-	if [ -e $(GLUON_SITEDIR)/extra/groups.conf  ]; then lua -e 'print(require("cjson").encode(assert(dofile("./scripts/groups.lua"))))' >  $(1)/lib/gluon/site-select/groups.json; fi
+
+	$(INSTALL_DIR) $(1)/lib/gluon/site-select
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/site-select/* $(1)/lib/gluon/site-select/
 endef
 
 $(eval $(call BuildPackage,ffho-site-generate))
diff --git a/ffho/ffho-status-page/Makefile b/ffho/ffho-status-page/Makefile
index 1bea65ff34d0c029a8a60cfd96e52e958ad12a33..bbf006101fd6a86235e965194c772f540635f813 100644
--- a/ffho/ffho-status-page/Makefile
+++ b/ffho/ffho-status-page/Makefile
@@ -6,7 +6,7 @@ PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
-include $(GLUONDIR)/include/package.mk
+include $(TOPDIR)/../package/gluon.mk
 
 define Package/ffho-status-page
   SECTION:=ffho