diff --git a/package/gluon-alfred/Makefile b/package/gluon-alfred/Makefile
index ca3ae32771d26acbcce0bfd6a0facda7bcab1041..f38b0dbefd77dbc71040334b373470794ab48222 100644
--- a/package/gluon-alfred/Makefile
+++ b/package/gluon-alfred/Makefile
@@ -6,7 +6,8 @@ PKG_RELEASE:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-alfred
   SECTION:=gluon
@@ -23,10 +24,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-alfred/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-alfred))
diff --git a/package/gluon-alfred/files/lib/gluon/upgrade/500-enable-alfred b/package/gluon-alfred/luasrc/lib/gluon/upgrade/500-enable-alfred
similarity index 100%
rename from package/gluon-alfred/files/lib/gluon/upgrade/500-enable-alfred
rename to package/gluon-alfred/luasrc/lib/gluon/upgrade/500-enable-alfred
diff --git a/package/gluon-authorized-keys/Makefile b/package/gluon-authorized-keys/Makefile
index 6ef90da31820355c525d837a996f4408a3829c28..83eaf04f8f67e6542e0f04d34b392e683979a8d0 100644
--- a/package/gluon-authorized-keys/Makefile
+++ b/package/gluon-authorized-keys/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-authorized-keys
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -22,10 +23,11 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-authorized-keys/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 define Package/gluon-authorized-keys/postinst
diff --git a/package/gluon-authorized-keys/files/lib/gluon/upgrade/100-authorized-keys b/package/gluon-authorized-keys/luasrc/lib/gluon/upgrade/100-authorized-keys
similarity index 100%
rename from package/gluon-authorized-keys/files/lib/gluon/upgrade/100-authorized-keys
rename to package/gluon-authorized-keys/luasrc/lib/gluon/upgrade/100-authorized-keys
diff --git a/package/gluon-autoupdater/Makefile b/package/gluon-autoupdater/Makefile
index 40120fa93e19c3a6a8e88fdf07395601cdfb3f23..baae06baf78d2f1ec3d7b3a2363a7c1d9456f6b7 100644
--- a/package/gluon-autoupdater/Makefile
+++ b/package/gluon-autoupdater/Makefile
@@ -9,6 +9,7 @@ PKG_BUILD_DEPENDS := respondd
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-autoupdater
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -21,8 +22,14 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
+define Build/Compile
+	$(call Build/Compile/Default)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
+endef
+
 define Package/gluon-autoupdater/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 
 	$(INSTALL_DIR) $(1)/lib/gluon/respondd
 	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/autoupdater.so
diff --git a/package/gluon-autoupdater/files/lib/gluon/upgrade/500-autoupdater b/package/gluon-autoupdater/luasrc/lib/gluon/upgrade/500-autoupdater
similarity index 100%
rename from package/gluon-autoupdater/files/lib/gluon/upgrade/500-autoupdater
rename to package/gluon-autoupdater/luasrc/lib/gluon/upgrade/500-autoupdater
diff --git a/package/gluon-client-bridge/Makefile b/package/gluon-client-bridge/Makefile
index 6bbfed643dd4ff0c03b8219ea056d2f0bb927125..cbd62a3844fbb226e1c01b2ab5017d67764e7723 100644
--- a/package/gluon-client-bridge/Makefile
+++ b/package/gluon-client-bridge/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-client-bridge
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -22,10 +23,11 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-client-bridge/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 define Package/gluon-client-bridge/postinst
diff --git a/package/gluon-client-bridge/files/lib/gluon/upgrade/300-gluon-client-bridge-network b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/300-gluon-client-bridge-network
similarity index 100%
rename from package/gluon-client-bridge/files/lib/gluon/upgrade/300-gluon-client-bridge-network
rename to package/gluon-client-bridge/luasrc/lib/gluon/upgrade/300-gluon-client-bridge-network
diff --git a/package/gluon-client-bridge/files/lib/gluon/upgrade/320-gluon-client-bridge-wireless b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless
similarity index 100%
rename from package/gluon-client-bridge/files/lib/gluon/upgrade/320-gluon-client-bridge-wireless
rename to package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless
diff --git a/package/gluon-config-mode-autoupdater/Makefile b/package/gluon-config-mode-autoupdater/Makefile
index 4303940b4b61a2edc4585152f21ffa232f39cfe4..ab5d1adc5faf0afe68463c5494a25cade212e298 100644
--- a/package/gluon-config-mode-autoupdater/Makefile
+++ b/package/gluon-config-mode-autoupdater/Makefile
@@ -30,10 +30,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-autoupdater,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-autoupdater/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-autoupdater,$(1))
 endef
 
diff --git a/package/gluon-config-mode-autoupdater/files/lib/gluon/config-mode/wizard/0050-autoupdater-info.lua b/package/gluon-config-mode-autoupdater/luasrc/lib/gluon/config-mode/wizard/0050-autoupdater-info.lua
similarity index 100%
rename from package/gluon-config-mode-autoupdater/files/lib/gluon/config-mode/wizard/0050-autoupdater-info.lua
rename to package/gluon-config-mode-autoupdater/luasrc/lib/gluon/config-mode/wizard/0050-autoupdater-info.lua
diff --git a/package/gluon-config-mode-contact-info/Makefile b/package/gluon-config-mode-contact-info/Makefile
index ff9cb57f8c51ebb415895df040138bf7935f6ae9..801fad61e49f9e7c2d471af8a3fa933d7bf94546 100644
--- a/package/gluon-config-mode-contact-info/Makefile
+++ b/package/gluon-config-mode-contact-info/Makefile
@@ -26,10 +26,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-contact-info,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-contact-info/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-contact-info,$(1))
 endef
 
diff --git a/package/gluon-config-mode-contact-info/files/lib/gluon/config-mode/wizard/0500-contact-info.lua b/package/gluon-config-mode-contact-info/luasrc/lib/gluon/config-mode/wizard/0500-contact-info.lua
similarity index 100%
rename from package/gluon-config-mode-contact-info/files/lib/gluon/config-mode/wizard/0500-contact-info.lua
rename to package/gluon-config-mode-contact-info/luasrc/lib/gluon/config-mode/wizard/0500-contact-info.lua
diff --git a/package/gluon-config-mode-core/Makefile b/package/gluon-config-mode-core/Makefile
index 5d700f7f0c3a389c30cc06dc3a6c9cf00377ffae..c55ebedd80f9a2461df609cd0394dac8c1d65909 100644
--- a/package/gluon-config-mode-core/Makefile
+++ b/package/gluon-config-mode-core/Makefile
@@ -30,10 +30,12 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-core,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-core/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-core,$(1))
 endef
 
diff --git a/package/gluon-config-mode-core/files/lib/gluon/config-mode/reboot/0900-msg-reboot.lua b/package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/reboot/0900-msg-reboot.lua
similarity index 100%
rename from package/gluon-config-mode-core/files/lib/gluon/config-mode/reboot/0900-msg-reboot.lua
rename to package/gluon-config-mode-core/luasrc/lib/gluon/config-mode/reboot/0900-msg-reboot.lua
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua b/package/gluon-config-mode-core/luasrc/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
similarity index 100%
rename from package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
rename to package/gluon-config-mode-core/luasrc/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua b/package/gluon-config-mode-core/luasrc/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
similarity index 100%
rename from package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
rename to package/gluon-config-mode-core/luasrc/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
diff --git a/package/gluon-config-mode-geo-location/Makefile b/package/gluon-config-mode-geo-location/Makefile
index 03812e54ad662a0febb72e8c2759de50a1391f19..aa16ad06e62aed3a697de6be4b42e67f98247922 100644
--- a/package/gluon-config-mode-geo-location/Makefile
+++ b/package/gluon-config-mode-geo-location/Makefile
@@ -26,10 +26,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-geo-location,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-geo-location/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-geo-location,$(1))
 endef
 
diff --git a/package/gluon-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua b/package/gluon-config-mode-geo-location/luasrc/lib/gluon/config-mode/wizard/0400-geo-location.lua
similarity index 100%
rename from package/gluon-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua
rename to package/gluon-config-mode-geo-location/luasrc/lib/gluon/config-mode/wizard/0400-geo-location.lua
diff --git a/package/gluon-config-mode-hostname/Makefile b/package/gluon-config-mode-hostname/Makefile
index 803f018f3f76385eb0555eecf1974b79e1cdff18..6e30466d049036d76b785f9856501e969c218783 100644
--- a/package/gluon-config-mode-hostname/Makefile
+++ b/package/gluon-config-mode-hostname/Makefile
@@ -26,10 +26,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-hostname,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-hostname/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-hostname,$(1))
 endef
 
diff --git a/package/gluon-config-mode-hostname/files/lib/gluon/config-mode/wizard/0100-hostname.lua b/package/gluon-config-mode-hostname/luasrc/lib/gluon/config-mode/wizard/0100-hostname.lua
similarity index 100%
rename from package/gluon-config-mode-hostname/files/lib/gluon/config-mode/wizard/0100-hostname.lua
rename to package/gluon-config-mode-hostname/luasrc/lib/gluon/config-mode/wizard/0100-hostname.lua
diff --git a/package/gluon-config-mode-mesh-vpn/Makefile b/package/gluon-config-mode-mesh-vpn/Makefile
index 35d53ea7e3e47c0f7d2e0b010afdf9e0f0008ecf..ec819a9ca5ad0a567972b011bf17674ea48a875f 100644
--- a/package/gluon-config-mode-mesh-vpn/Makefile
+++ b/package/gluon-config-mode-mesh-vpn/Makefile
@@ -26,10 +26,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-config-mode-mesh-vpn,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-config-mode-mesh-vpn/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-config-mode-mesh-vpn,$(1))
 endef
 
diff --git a/package/gluon-config-mode-mesh-vpn/files/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
similarity index 100%
rename from package/gluon-config-mode-mesh-vpn/files/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
rename to package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
diff --git a/package/gluon-config-mode-mesh-vpn/files/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua
similarity index 100%
rename from package/gluon-config-mode-mesh-vpn/files/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua
rename to package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/wizard/0300-mesh-vpn.lua
diff --git a/package/gluon-core/Makefile b/package/gluon-core/Makefile
index 725fb737517618ae95f894905f9ffbef8160a233..10c4dd31331b935dc09fba2bf74a851232e47200 100644
--- a/package/gluon-core/Makefile
+++ b/package/gluon-core/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-core
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -15,7 +16,6 @@ define Package/gluon-core
   DEPENDS:=+gluon-site +libgluonutil +lua-platform-info +lua-hash +luci-base +luci-lib-jsonc +odhcp6c +firewall
 endef
 
-
 define Package/gluon-core/description
 	Gluon community wifi mesh firmware framework: core
 endef
@@ -28,10 +28,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-core/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(SED) 's/__GLUON_OPENWRT_FEEDS__/{$(GLUON_OPENWRT_FEEDS:%="%",)}/' $(1)/lib/gluon/upgrade/500-opkg
 
 	$(INSTALL_DIR) $(1)/lib/gluon
diff --git a/package/gluon-core/files/lib/gluon/upgrade/001-upgrade b/package/gluon-core/luasrc/lib/gluon/upgrade/001-upgrade
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/001-upgrade
rename to package/gluon-core/luasrc/lib/gluon/upgrade/001-upgrade
diff --git a/package/gluon-core/files/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/010-primary-mac
rename to package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
diff --git a/package/gluon-core/files/lib/gluon/upgrade/020-interfaces b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/020-interfaces
rename to package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
diff --git a/package/gluon-core/files/lib/gluon/upgrade/030-system b/package/gluon-core/luasrc/lib/gluon/upgrade/030-system
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/030-system
rename to package/gluon-core/luasrc/lib/gluon/upgrade/030-system
diff --git a/package/gluon-core/files/lib/gluon/upgrade/110-network b/package/gluon-core/luasrc/lib/gluon/upgrade/110-network
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/110-network
rename to package/gluon-core/luasrc/lib/gluon/upgrade/110-network
diff --git a/package/gluon-core/files/lib/gluon/upgrade/120-ntp-servers b/package/gluon-core/luasrc/lib/gluon/upgrade/120-ntp-servers
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/120-ntp-servers
rename to package/gluon-core/luasrc/lib/gluon/upgrade/120-ntp-servers
diff --git a/package/gluon-core/files/lib/gluon/upgrade/130-reboot-on-oom b/package/gluon-core/luasrc/lib/gluon/upgrade/130-reboot-on-oom
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/130-reboot-on-oom
rename to package/gluon-core/luasrc/lib/gluon/upgrade/130-reboot-on-oom
diff --git a/package/gluon-core/files/lib/gluon/upgrade/140-firewall-rules b/package/gluon-core/luasrc/lib/gluon/upgrade/140-firewall-rules
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/140-firewall-rules
rename to package/gluon-core/luasrc/lib/gluon/upgrade/140-firewall-rules
diff --git a/package/gluon-core/files/lib/gluon/upgrade/200-wireless b/package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/200-wireless
rename to package/gluon-core/luasrc/lib/gluon/upgrade/200-wireless
diff --git a/package/gluon-core/files/lib/gluon/upgrade/500-opkg b/package/gluon-core/luasrc/lib/gluon/upgrade/500-opkg
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/500-opkg
rename to package/gluon-core/luasrc/lib/gluon/upgrade/500-opkg
diff --git a/package/gluon-core/files/lib/gluon/upgrade/999-version b/package/gluon-core/luasrc/lib/gluon/upgrade/999-version
similarity index 100%
rename from package/gluon-core/files/lib/gluon/upgrade/999-version
rename to package/gluon-core/luasrc/lib/gluon/upgrade/999-version
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/platform.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/platform.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/site_config.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/site_config.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/sysconfig.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/sysconfig.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/sysconfig.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/sysconfig.lua
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/sysctl.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/sysctl.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/sysctl.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/sysctl.lua
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/users.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/users.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/users.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/users.lua
diff --git a/package/gluon-core/files/usr/lib/lua/gluon/util.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua
similarity index 100%
rename from package/gluon-core/files/usr/lib/lua/gluon/util.lua
rename to package/gluon-core/luasrc/usr/lib/lua/gluon/util.lua
diff --git a/package/gluon-ebtables-filter-multicast/Makefile b/package/gluon-ebtables-filter-multicast/Makefile
index 93b7f9a556bc7d3e4c7f9d064057d6815f7bb821..2b6229029988fc2ceff1aee3cc35c4a3e5cd218b 100644
--- a/package/gluon-ebtables-filter-multicast/Makefile
+++ b/package/gluon-ebtables-filter-multicast/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/gluon-ebtables-filter-multicast
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-ebtables-filter-ra-dhcp/Makefile b/package/gluon-ebtables-filter-ra-dhcp/Makefile
index ea6a737d41dc35b50ad8eece7d7efb87155953bf..acec081fb175f392f36d1da4dccc45d895282283 100644
--- a/package/gluon-ebtables-filter-ra-dhcp/Makefile
+++ b/package/gluon-ebtables-filter-ra-dhcp/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/gluon-ebtables-filter-ra-dhcp
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-ebtables/Makefile b/package/gluon-ebtables/Makefile
index 39c654c1bfd845e81da609d1d20ebeb30e745a90..43185c73f2a8cdfa0c61c894e2d07895c8cd04c6 100644
--- a/package/gluon-ebtables/Makefile
+++ b/package/gluon-ebtables/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/gluon-ebtables
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-legacy/Makefile b/package/gluon-legacy/Makefile
index 7320fba6384e6eaad1be7972154a908d6b098d9e..1cb2e5f45ecd79d42f77e0c01ccf27562f4b0a4b 100644
--- a/package/gluon-legacy/Makefile
+++ b/package/gluon-legacy/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-legacy
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -26,10 +27,11 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-legacy/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 define Package/gluon-legacy/postinst
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/000-legacy b/package/gluon-legacy/luasrc/lib/gluon/upgrade/000-legacy
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/000-legacy
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/000-legacy
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/019-legacy-interfaces b/package/gluon-legacy/luasrc/lib/gluon/upgrade/019-legacy-interfaces
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/019-legacy-interfaces
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/019-legacy-interfaces
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/210-legacy-wireless b/package/gluon-legacy/luasrc/lib/gluon/upgrade/210-legacy-wireless
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/210-legacy-wireless
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/210-legacy-wireless
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/290-legacy-setup-mode b/package/gluon-legacy/luasrc/lib/gluon/upgrade/290-legacy-setup-mode
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/290-legacy-setup-mode
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/290-legacy-setup-mode
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/290-legacy-simple-tc b/package/gluon-legacy/luasrc/lib/gluon/upgrade/290-legacy-simple-tc
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/290-legacy-simple-tc
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/290-legacy-simple-tc
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd b/package/gluon-legacy/luasrc/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd
diff --git a/package/gluon-legacy/files/lib/gluon/upgrade/990-legacy-late b/package/gluon-legacy/luasrc/lib/gluon/upgrade/990-legacy-late
similarity index 100%
rename from package/gluon-legacy/files/lib/gluon/upgrade/990-legacy-late
rename to package/gluon-legacy/luasrc/lib/gluon/upgrade/990-legacy-late
diff --git a/package/gluon-lock-password/Makefile b/package/gluon-lock-password/Makefile
index d0e99373222afeab5900d84ebc7e20ab8e0aefcf..0583f96c2339e3fb9fd506c1644daaa21e596816 100644
--- a/package/gluon-lock-password/Makefile
+++ b/package/gluon-lock-password/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/gluon-lock-password
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-luci-admin/Makefile b/package/gluon-luci-admin/Makefile
index 3e20d17929a22573de045041f27b1bd6fdbaaaa3..8c3d8154967aeaa703f0a131d6cd1daf498ff3fa 100644
--- a/package/gluon-luci-admin/Makefile
+++ b/package/gluon-luci-admin/Makefile
@@ -13,6 +13,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-admin
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -29,10 +30,12 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-admin,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-admin/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-admin,$(1))
 endef
 
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua b/package/gluon-luci-admin/luasrc/usr/lib/lua/luci/controller/admin/index.lua
similarity index 100%
rename from package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua
rename to package/gluon-luci-admin/luasrc/usr/lib/lua/luci/controller/admin/index.lua
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua b/package/gluon-luci-admin/luasrc/usr/lib/lua/luci/controller/admin/upgrade.lua
similarity index 100%
rename from package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua
rename to package/gluon-luci-admin/luasrc/usr/lib/lua/luci/controller/admin/upgrade.lua
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/info.lua b/package/gluon-luci-admin/luasrc/usr/lib/lua/luci/model/cbi/admin/info.lua
similarity index 100%
rename from package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/info.lua
rename to package/gluon-luci-admin/luasrc/usr/lib/lua/luci/model/cbi/admin/info.lua
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua b/package/gluon-luci-admin/luasrc/usr/lib/lua/luci/model/cbi/admin/remote.lua
similarity index 100%
rename from package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua
rename to package/gluon-luci-admin/luasrc/usr/lib/lua/luci/model/cbi/admin/remote.lua
diff --git a/package/gluon-luci-autoupdater/Makefile b/package/gluon-luci-autoupdater/Makefile
index 650c469227465cbe88d9ee42df94cae431d7df1d..908a08794b344a2012bb6ea9f85deb669a61cf78 100644
--- a/package/gluon-luci-autoupdater/Makefile
+++ b/package/gluon-luci-autoupdater/Makefile
@@ -13,6 +13,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-autoupdater
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -29,10 +30,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-autoupdater,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-autoupdater/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-autoupdater,$(1))
 endef
 
diff --git a/package/gluon-luci-autoupdater/files/usr/lib/lua/luci/controller/admin/autoupdater.lua b/package/gluon-luci-autoupdater/luasrc/usr/lib/lua/luci/controller/admin/autoupdater.lua
similarity index 100%
rename from package/gluon-luci-autoupdater/files/usr/lib/lua/luci/controller/admin/autoupdater.lua
rename to package/gluon-luci-autoupdater/luasrc/usr/lib/lua/luci/controller/admin/autoupdater.lua
diff --git a/package/gluon-luci-autoupdater/files/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua b/package/gluon-luci-autoupdater/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
similarity index 100%
rename from package/gluon-luci-autoupdater/files/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
rename to package/gluon-luci-autoupdater/luasrc/usr/lib/lua/luci/model/cbi/admin/autoupdater.lua
diff --git a/package/gluon-luci-mesh-vpn-fastd/Makefile b/package/gluon-luci-mesh-vpn-fastd/Makefile
index 1be12cccbda4e2f4a4d142c7216f249c38469864..b6b7ce4f9aab42a93f9e2ebd00ea6067ad72b614 100644
--- a/package/gluon-luci-mesh-vpn-fastd/Makefile
+++ b/package/gluon-luci-mesh-vpn-fastd/Makefile
@@ -10,6 +10,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-mesh-vpn-fastd
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -26,10 +27,12 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-mesh-vpn-fastd,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-mesh-vpn-fastd/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-mesh-vpn-fastd,$(1))
 endef
 
diff --git a/package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/controller/admin/mesh_vpn_fastd.lua b/package/gluon-luci-mesh-vpn-fastd/luasrc/usr/lib/lua/luci/controller/admin/mesh_vpn_fastd.lua
similarity index 100%
rename from package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/controller/admin/mesh_vpn_fastd.lua
rename to package/gluon-luci-mesh-vpn-fastd/luasrc/usr/lib/lua/luci/controller/admin/mesh_vpn_fastd.lua
diff --git a/package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/model/cbi/admin/mesh_vpn_fastd.lua b/package/gluon-luci-mesh-vpn-fastd/luasrc/usr/lib/lua/luci/model/cbi/admin/mesh_vpn_fastd.lua
similarity index 100%
rename from package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/model/cbi/admin/mesh_vpn_fastd.lua
rename to package/gluon-luci-mesh-vpn-fastd/luasrc/usr/lib/lua/luci/model/cbi/admin/mesh_vpn_fastd.lua
diff --git a/package/gluon-luci-node-role/Makefile b/package/gluon-luci-node-role/Makefile
index ded7bd3f7ffa4c1f713c8cdfc2d5cfeb5073054e..2c8626101118383e9628a0d6d8480db996682300 100644
--- a/package/gluon-luci-node-role/Makefile
+++ b/package/gluon-luci-node-role/Makefile
@@ -10,6 +10,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-node-role
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -26,10 +27,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-node-role,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-node-role/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-node-role,$(1))
 endef
 
diff --git a/package/gluon-luci-node-role/files/usr/lib/lua/luci/controller/admin/noderole.lua b/package/gluon-luci-node-role/luasrc/usr/lib/lua/luci/controller/admin/noderole.lua
similarity index 100%
rename from package/gluon-luci-node-role/files/usr/lib/lua/luci/controller/admin/noderole.lua
rename to package/gluon-luci-node-role/luasrc/usr/lib/lua/luci/controller/admin/noderole.lua
diff --git a/package/gluon-luci-node-role/files/usr/lib/lua/luci/model/cbi/admin/noderole.lua b/package/gluon-luci-node-role/luasrc/usr/lib/lua/luci/model/cbi/admin/noderole.lua
similarity index 100%
rename from package/gluon-luci-node-role/files/usr/lib/lua/luci/model/cbi/admin/noderole.lua
rename to package/gluon-luci-node-role/luasrc/usr/lib/lua/luci/model/cbi/admin/noderole.lua
diff --git a/package/gluon-luci-portconfig/Makefile b/package/gluon-luci-portconfig/Makefile
index 007c5feae2901beadd2891ed89d00a5329980c31..e2d0a22502324f0bf6eaceb991499aab13c8d745 100644
--- a/package/gluon-luci-portconfig/Makefile
+++ b/package/gluon-luci-portconfig/Makefile
@@ -13,6 +13,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-portconfig
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -29,10 +30,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-portconfig,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-portconfig/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-portconfig,$(1))
 endef
 
diff --git a/package/gluon-luci-portconfig/files/usr/lib/lua/luci/controller/admin/portconfig.lua b/package/gluon-luci-portconfig/luasrc/usr/lib/lua/luci/controller/admin/portconfig.lua
similarity index 100%
rename from package/gluon-luci-portconfig/files/usr/lib/lua/luci/controller/admin/portconfig.lua
rename to package/gluon-luci-portconfig/luasrc/usr/lib/lua/luci/controller/admin/portconfig.lua
diff --git a/package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua b/package/gluon-luci-portconfig/luasrc/usr/lib/lua/luci/model/cbi/admin/portconfig.lua
similarity index 100%
rename from package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua
rename to package/gluon-luci-portconfig/luasrc/usr/lib/lua/luci/model/cbi/admin/portconfig.lua
diff --git a/package/gluon-luci-private-wifi/Makefile b/package/gluon-luci-private-wifi/Makefile
index 604929ddc6c67399668e599859c11cc7d560a2bc..3460890073f1570fe6218f2f45afec6df5537186 100644
--- a/package/gluon-luci-private-wifi/Makefile
+++ b/package/gluon-luci-private-wifi/Makefile
@@ -10,6 +10,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-private-wifi
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -26,10 +27,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-private-wifi,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-private-wifi/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-private-wifi,$(1))
 endef
 
diff --git a/package/gluon-luci-private-wifi/files/usr/lib/lua/luci/controller/admin/privatewifi.lua b/package/gluon-luci-private-wifi/luasrc/usr/lib/lua/luci/controller/admin/privatewifi.lua
similarity index 100%
rename from package/gluon-luci-private-wifi/files/usr/lib/lua/luci/controller/admin/privatewifi.lua
rename to package/gluon-luci-private-wifi/luasrc/usr/lib/lua/luci/controller/admin/privatewifi.lua
diff --git a/package/gluon-luci-private-wifi/files/usr/lib/lua/luci/model/cbi/admin/privatewifi.lua b/package/gluon-luci-private-wifi/luasrc/usr/lib/lua/luci/model/cbi/admin/privatewifi.lua
similarity index 100%
rename from package/gluon-luci-private-wifi/files/usr/lib/lua/luci/model/cbi/admin/privatewifi.lua
rename to package/gluon-luci-private-wifi/luasrc/usr/lib/lua/luci/model/cbi/admin/privatewifi.lua
diff --git a/package/gluon-luci-theme/Makefile b/package/gluon-luci-theme/Makefile
index 4fc947c46ac3498c656445c31b67ec20ef8365ff..2348e97917cbd811d33370684255308bd9a74420 100644
--- a/package/gluon-luci-theme/Makefile
+++ b/package/gluon-luci-theme/Makefile
@@ -11,6 +11,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Package/gluon-luci-theme
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-luci-wifi-config/Makefile b/package/gluon-luci-wifi-config/Makefile
index 462eab9f407cf7dbaa264668c28db3d65a6e046f..0f0d90f29e75c5c7fbfc02b06060a679e9d94fc2 100644
--- a/package/gluon-luci-wifi-config/Makefile
+++ b/package/gluon-luci-wifi-config/Makefile
@@ -10,6 +10,7 @@ include $(GLUONDIR)/include/package.mk
 
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
+
 define Package/gluon-luci-wifi-config
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -26,10 +27,11 @@ endef
 
 define Build/Compile
 	$(call GluonBuildI18N,gluon-luci-wifi-config,i18n)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-luci-wifi-config/install
-	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(call GluonInstallI18N,gluon-luci-wifi-config,$(1))
 endef
 
diff --git a/package/gluon-luci-wifi-config/files/usr/lib/lua/luci/controller/admin/wifi-config.lua b/package/gluon-luci-wifi-config/luasrc/usr/lib/lua/luci/controller/admin/wifi-config.lua
similarity index 100%
rename from package/gluon-luci-wifi-config/files/usr/lib/lua/luci/controller/admin/wifi-config.lua
rename to package/gluon-luci-wifi-config/luasrc/usr/lib/lua/luci/controller/admin/wifi-config.lua
diff --git a/package/gluon-luci-wifi-config/files/usr/lib/lua/luci/model/cbi/admin/wifi-config.lua b/package/gluon-luci-wifi-config/luasrc/usr/lib/lua/luci/model/cbi/admin/wifi-config.lua
similarity index 100%
rename from package/gluon-luci-wifi-config/files/usr/lib/lua/luci/model/cbi/admin/wifi-config.lua
rename to package/gluon-luci-wifi-config/luasrc/usr/lib/lua/luci/model/cbi/admin/wifi-config.lua
diff --git a/package/gluon-mesh-batman-adv-14/Makefile b/package/gluon-mesh-batman-adv-14/Makefile
index be65cafab349773e4caf7ff502885d1acfb4ec17..504d7c2fe62ab04046cff2cfe63f16ce82c5107b 100644
--- a/package/gluon-mesh-batman-adv-14/Makefile
+++ b/package/gluon-mesh-batman-adv-14/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-mesh-batman-adv-14
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -23,10 +24,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-mesh-batman-adv-14/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-mesh-batman-adv-14))
diff --git a/package/gluon-mesh-batman-adv-14/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-14 b/package/gluon-mesh-batman-adv-14/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-14
similarity index 100%
rename from package/gluon-mesh-batman-adv-14/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-14
rename to package/gluon-mesh-batman-adv-14/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-14
diff --git a/package/gluon-mesh-batman-adv-15/Makefile b/package/gluon-mesh-batman-adv-15/Makefile
index 14a39a61152e23a963839924da962d52feaa4ea2..d07d28325ec00e3b280dc37f11e115eca2402495 100644
--- a/package/gluon-mesh-batman-adv-15/Makefile
+++ b/package/gluon-mesh-batman-adv-15/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-mesh-batman-adv-15
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -23,10 +24,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-mesh-batman-adv-15/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-mesh-batman-adv-15))
diff --git a/package/gluon-mesh-batman-adv-15/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-15 b/package/gluon-mesh-batman-adv-15/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-15
similarity index 100%
rename from package/gluon-mesh-batman-adv-15/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-15
rename to package/gluon-mesh-batman-adv-15/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-15
diff --git a/package/gluon-mesh-batman-adv-core/Makefile b/package/gluon-mesh-batman-adv-core/Makefile
index 7ae7c3050b9d6e21498b8cd56252f335af9fa7b7..ec845341ae2b8a5e080d3ffa5b02defc324b37ac 100644
--- a/package/gluon-mesh-batman-adv-core/Makefile
+++ b/package/gluon-mesh-batman-adv-core/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DEPENDS := respondd
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-mesh-batman-adv-core
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -20,9 +21,13 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
-define Package/gluon-mesh-batman-adv-core/install
-	$(CP) ./files/* $(1)/
+define Build/Compile
+	$(call Build/Compile/Default)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
+endef
 
+define Package/gluon-mesh-batman-adv-core/install
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(INSTALL_DIR) $(1)/lib/gluon/respondd
 	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/mesh-batman-adv-core.so
 endef
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan
diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-core-rssid b/package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-core-rssid
similarity index 100%
rename from package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/350-gluon-mesh-batman-adv-core-rssid
rename to package/gluon-mesh-batman-adv-core/luasrc/lib/gluon/upgrade/350-gluon-mesh-batman-adv-core-rssid
diff --git a/package/gluon-mesh-vpn-fastd/Makefile b/package/gluon-mesh-vpn-fastd/Makefile
index bb33257e6bcfadd74dacba8cfc65115e47bec656..4d75116e7cdfa9b1a59f8d90bc915bbe1a729deb 100644
--- a/package/gluon-mesh-vpn-fastd/Makefile
+++ b/package/gluon-mesh-vpn-fastd/Makefile
@@ -8,6 +8,7 @@ PKG_BUILD_DEPENDS := respondd
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-mesh-vpn-fastd
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -20,9 +21,14 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
+define Build/Compile
+	$(call Build/Compile/Default)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
+endef
+
 define Package/gluon-mesh-vpn-fastd/install
 	$(CP) ./files/* $(1)/
-
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(INSTALL_DIR) $(1)/lib/gluon/respondd
 	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/mesh-vpn-fastd.so
 endef
diff --git a/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/400-mesh-vpn-fastd b/package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/400-mesh-vpn-fastd
similarity index 100%
rename from package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/400-mesh-vpn-fastd
rename to package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/400-mesh-vpn-fastd
diff --git a/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret b/package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret
similarity index 100%
rename from package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret
rename to package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret
diff --git a/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/420-mesh-vpn-fastd-simple-tc b/package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/420-mesh-vpn-fastd-simple-tc
similarity index 100%
rename from package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/420-mesh-vpn-fastd-simple-tc
rename to package/gluon-mesh-vpn-fastd/luasrc/lib/gluon/upgrade/420-mesh-vpn-fastd-simple-tc
diff --git a/package/gluon-neighbour-info/Makefile b/package/gluon-neighbour-info/Makefile
index 63586920b090ed8249c5b28d6be91b8497fac568..498abc4f290737b0df89c939200a6f33d058c6dc 100644
--- a/package/gluon-neighbour-info/Makefile
+++ b/package/gluon-neighbour-info/Makefile
@@ -6,7 +6,8 @@ PKG_RELEASE:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-neighbour-info
   SECTION:=gluon
@@ -29,11 +30,11 @@ endef
 
 define Build/Compile
 	CFLAGS="$(TARGET_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-neighbour-info/install
-	$(CP) ./files/* $(1)/
-
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(INSTALL_DIR) $(1)/usr/bin
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/gluon-neighbour-info $(1)/usr/bin/
 endef
diff --git a/package/gluon-neighbour-info/files/lib/gluon/upgrade/400-neighbour-info-firewall b/package/gluon-neighbour-info/luasrc/lib/gluon/upgrade/400-neighbour-info-firewall
similarity index 100%
rename from package/gluon-neighbour-info/files/lib/gluon/upgrade/400-neighbour-info-firewall
rename to package/gluon-neighbour-info/luasrc/lib/gluon/upgrade/400-neighbour-info-firewall
diff --git a/package/gluon-next-node/Makefile b/package/gluon-next-node/Makefile
index df27ecbe2cd04c28f97f485cb1db4a1b3a96aed9..87c8edf9c6933a479a57fc151406a783f6d4bbb9 100644
--- a/package/gluon-next-node/Makefile
+++ b/package/gluon-next-node/Makefile
@@ -7,6 +7,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-next-node
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-node-info/Makefile b/package/gluon-node-info/Makefile
index a5ac8ddc0fc5e7e7c8d3ebcbb3055b3c81d25943..8dd31553e25b53cf01b5153b3d4f3a3d6d405a32 100644
--- a/package/gluon-node-info/Makefile
+++ b/package/gluon-node-info/Makefile
@@ -9,6 +9,7 @@ PKG_BUILD_DEPENDS := respondd
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-node-info
   SECTION:=gluon
   CATEGORY:=Gluon
diff --git a/package/gluon-radvd/Makefile b/package/gluon-radvd/Makefile
index 6695673ce8585e1c8d56da5293daf709f58cf0e8..3c126fe13353cebd67ed8037018d891f8d1c62b9 100644
--- a/package/gluon-radvd/Makefile
+++ b/package/gluon-radvd/Makefile
@@ -5,7 +5,8 @@ PKG_VERSION:=3
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-radvd
   SECTION:=gluon
@@ -26,10 +27,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-radvd/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-radvd))
diff --git a/package/gluon-radvd/files/lib/gluon/upgrade/500-radvd-remove-user b/package/gluon-radvd/luasrc/lib/gluon/upgrade/500-radvd-remove-user
similarity index 100%
rename from package/gluon-radvd/files/lib/gluon/upgrade/500-radvd-remove-user
rename to package/gluon-radvd/luasrc/lib/gluon/upgrade/500-radvd-remove-user
diff --git a/package/gluon-respondd/Makefile b/package/gluon-respondd/Makefile
index df9f257ec2fe513cfdb11f91934d08326ce84ecd..85c718e2326416286f168319ec3afca4a919f940 100644
--- a/package/gluon-respondd/Makefile
+++ b/package/gluon-respondd/Makefile
@@ -5,7 +5,8 @@ PKG_VERSION:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-respondd
   SECTION:=gluon
@@ -19,9 +20,14 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
+define Build/Compile
+	$(call Build/Compile/Default)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
+endef
+
 define Package/gluon-respondd/install
 	$(CP) ./files/* $(1)/
-
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 	$(INSTALL_DIR) $(1)/lib/gluon/respondd
 	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/respondd.so
 endef
diff --git a/package/gluon-respondd/files/lib/gluon/upgrade/400-respondd-firewall b/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall
similarity index 100%
rename from package/gluon-respondd/files/lib/gluon/upgrade/400-respondd-firewall
rename to package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall
diff --git a/package/gluon-setup-mode/Makefile b/package/gluon-setup-mode/Makefile
index 55370abee6f755ac14400c88ceb1cb3e9e202957..ea9722c0f67fcaa960af5479e7a506099e3e48ea 100644
--- a/package/gluon-setup-mode/Makefile
+++ b/package/gluon-setup-mode/Makefile
@@ -10,6 +10,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(GLUONDIR)/include/package.mk
 
+
 define Package/gluon-setup-mode
   SECTION:=gluon
   CATEGORY:=Gluon
@@ -30,10 +31,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-setup-mode/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 define Package/gluon-setup-mode/postinst
diff --git a/package/gluon-setup-mode/files/lib/gluon/setup-mode/www/cgi-bin/luci b/package/gluon-setup-mode/luasrc/lib/gluon/setup-mode/www/cgi-bin/luci
similarity index 100%
rename from package/gluon-setup-mode/files/lib/gluon/setup-mode/www/cgi-bin/luci
rename to package/gluon-setup-mode/luasrc/lib/gluon/setup-mode/www/cgi-bin/luci
diff --git a/package/gluon-setup-mode/files/lib/gluon/upgrade/300-setup-mode b/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/300-setup-mode
similarity index 100%
rename from package/gluon-setup-mode/files/lib/gluon/upgrade/300-setup-mode
rename to package/gluon-setup-mode/luasrc/lib/gluon/upgrade/300-setup-mode
diff --git a/package/gluon-setup-mode/files/lib/gluon/upgrade/310-setup-mode-migrate b/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/310-setup-mode-migrate
similarity index 100%
rename from package/gluon-setup-mode/files/lib/gluon/upgrade/310-setup-mode-migrate
rename to package/gluon-setup-mode/luasrc/lib/gluon/upgrade/310-setup-mode-migrate
diff --git a/package/gluon-setup-mode/files/lib/gluon/upgrade/320-setup-ifname b/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname
similarity index 100%
rename from package/gluon-setup-mode/files/lib/gluon/upgrade/320-setup-ifname
rename to package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname
diff --git a/package/gluon-status-page-api/Makefile b/package/gluon-status-page-api/Makefile
index 174e2e85746366bb13029e12e34fd380531b401d..ddad2cab9b4195dffbb519c2c183845890d4d7c7 100644
--- a/package/gluon-status-page-api/Makefile
+++ b/package/gluon-status-page-api/Makefile
@@ -7,7 +7,8 @@ PKG_RELEASE:=1
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 PKG_BUILD_DEPENDS := respondd
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-status-page-api
   SECTION:=gluon
@@ -21,6 +22,11 @@ define Build/Prepare
 	$(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
+define Build/Compile
+	$(call Build/Compile/Default)
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
+endef
+
 define Package/gluon-status-page-api/install
 	$(INSTALL_DIR) $(1)/lib/gluon/status-page/providers
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/neighbours-batadv $(1)/lib/gluon/status-page/providers/
@@ -30,6 +36,7 @@ define Package/gluon-status-page-api/install
 	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/status-page-api.so
 
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-status-page-api))
diff --git a/package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces b/package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces
similarity index 100%
rename from package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/interfaces
rename to package/gluon-status-page-api/luasrc/lib/gluon/status-page/www/cgi-bin/interfaces
diff --git a/package/gluon-status-page/Makefile b/package/gluon-status-page/Makefile
index 460764d0873df5b4586b654db2994551f5eda005..ef6618d2afa81d83c5048fe0f96a60ebc6efd843 100644
--- a/package/gluon-status-page/Makefile
+++ b/package/gluon-status-page/Makefile
@@ -9,6 +9,7 @@ PKG_BUILD_DEPENDS:=node/host
 
 include $(INCLUDE_DIR)/package.mk
 
+
 define Download/rjs
 	FILE:=r.js
 	URL:=http://requirejs.org/docs/release/2.1.10
diff --git a/package/gluon-wan-dnsmasq/Makefile b/package/gluon-wan-dnsmasq/Makefile
index 3722210f9be03626a646266cb1b008d3c540b605..c672902dbb0918687197acf5dbae20bcbfdaf792 100644
--- a/package/gluon-wan-dnsmasq/Makefile
+++ b/package/gluon-wan-dnsmasq/Makefile
@@ -5,7 +5,8 @@ PKG_VERSION:=1
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
 
 define Package/gluon-wan-dnsmasq
   SECTION:=gluon
@@ -26,10 +27,12 @@ define Build/Configure
 endef
 
 define Build/Compile
+	$(call GluonSrcDiet,./luasrc,$(PKG_BUILD_DIR)/luadest/)
 endef
 
 define Package/gluon-wan-dnsmasq/install
 	$(CP) ./files/* $(1)/
+	$(CP) $(PKG_BUILD_DIR)/luadest/* $(1)/
 endef
 
 $(eval $(call BuildPackage,gluon-wan-dnsmasq))
diff --git a/package/gluon-wan-dnsmasq/files/lib/gluon/wan-dnsmasq/update.lua b/package/gluon-wan-dnsmasq/luasrc/lib/gluon/wan-dnsmasq/update.lua
similarity index 100%
rename from package/gluon-wan-dnsmasq/files/lib/gluon/wan-dnsmasq/update.lua
rename to package/gluon-wan-dnsmasq/luasrc/lib/gluon/wan-dnsmasq/update.lua
diff --git a/package/libgluonutil/Makefile b/package/libgluonutil/Makefile
index 762c25f4d81cd6d25fbdeadc30f718b8907395f8..bebeb2b3a2c710625688db77e25c1bae0b376922 100644
--- a/package/libgluonutil/Makefile
+++ b/package/libgluonutil/Makefile
@@ -8,9 +8,10 @@ PKG_LICENSE:=BSD-2-Clause
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 
+
 define Package/libgluonutil
   SECTION:=libs
   CATEGORY:=Libraries