diff --git a/package/gluon-alfred/Makefile b/package/gluon-alfred/Makefile
index 23a8f242c6bfcbd6acc2793e3816f121eb7862e9..7c173a7736a704b3c42e4d7468e398fcd4cbf571 100644
--- a/package/gluon-alfred/Makefile
+++ b/package/gluon-alfred/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-alfred
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-core +gluon-respondd +gluon-neighbour-info gluon-mesh-batman-adv +micrond +alfred
   TITLE:=Configure alfred
 endef
diff --git a/package/gluon-authorized-keys/Makefile b/package/gluon-authorized-keys/Makefile
index d6fcb0e43047d9424c7e61bb182eeb9ad2292ed1..2995107a796e7d12d255f61c0ec16c5a9e9d5cb3 100644
--- a/package/gluon-authorized-keys/Makefile
+++ b/package/gluon-authorized-keys/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=2
 include ../gluon.mk
 
 define Package/gluon-authorized-keys
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Fill /etc/dropbear/authorized_keys from site.conf
   DEPENDS:=+gluon-core
 endef
diff --git a/package/gluon-autoupdater/Makefile b/package/gluon-autoupdater/Makefile
index b0314afecdac22f05ce48b9a894b5adb08c1d9a4..d6e8749984ed65f6be784b75c9905062aab15dc7 100644
--- a/package/gluon-autoupdater/Makefile
+++ b/package/gluon-autoupdater/Makefile
@@ -8,8 +8,6 @@ PKG_CONFIG_DEPENDS := CONFIG_GLUON_BRANCH
 include ../gluon.mk
 
 define Package/gluon-autoupdater
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-core +libgluonutil +micrond +autoupdater
   TITLE:=Automatically update firmware
 endef
diff --git a/package/gluon-client-bridge/Makefile b/package/gluon-client-bridge/Makefile
index 19a0e3a4cd09cd1ad8102682cd8a1278fadff469..a2daf34b458a78ba35d042f539754965834f8bb5 100644
--- a/package/gluon-client-bridge/Makefile
+++ b/package/gluon-client-bridge/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-client-bridge
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Provides a bridge and a wireless interface for clients to connect to
   DEPENDS:=+gluon-core +kmod-veth +@GLUON_SPECIALIZE_KERNEL:KERNEL_VETH
 endef
diff --git a/package/gluon-config-mode-autoupdater/Makefile b/package/gluon-config-mode-autoupdater/Makefile
index d6a97f27bfc22ee3308eb60a540530ff74e6b113..b94d3b4507a11e69278fc3700ac8a03c878836b4 100644
--- a/package/gluon-config-mode-autoupdater/Makefile
+++ b/package/gluon-config-mode-autoupdater/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-autoupdater
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Config Mode: Let the user know whether the autoupdater is enabled or not
   DEPENDS:=+gluon-config-mode-core +gluon-autoupdater
 endef
diff --git a/package/gluon-config-mode-contact-info/Makefile b/package/gluon-config-mode-contact-info/Makefile
index 5b84b1a5322d1781177dc60c2e6ef3a367054124..fba53c4d6054ab9815355b380f508df084a0455b 100644
--- a/package/gluon-config-mode-contact-info/Makefile
+++ b/package/gluon-config-mode-contact-info/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-contact-info
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Allows the user to provide contact information to be distributed in the mesh
   DEPENDS:=+gluon-config-mode-core +gluon-node-info
 endef
diff --git a/package/gluon-config-mode-core/Makefile b/package/gluon-config-mode-core/Makefile
index 21976dc6f110d321c944fb579e75476d84bd26eb..b9c39487139cb22d0fb885d1e0b04bf15d0cc50f 100644
--- a/package/gluon-config-mode-core/Makefile
+++ b/package/gluon-config-mode-core/Makefile
@@ -9,8 +9,6 @@ PKG_VERSION:=2
 include ../gluon.mk
 
 define Package/gluon-config-mode-core
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Configuration wizard for user friendly setup of new mesh nodes
   DEPENDS:=+gluon-setup-mode +gluon-web-model +gluon-config-mode-theme +uhttpd
 endef
diff --git a/package/gluon-config-mode-domain-select/Makefile b/package/gluon-config-mode-domain-select/Makefile
index 410ac964d040518254eeb6b3079a53a4efb0267d..b1ded9391e59fd33f55dd535c19c00c842369fb5 100644
--- a/package/gluon-config-mode-domain-select/Makefile
+++ b/package/gluon-config-mode-domain-select/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-domain-select
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=UI for changing the node-config
   DEPENDS:=+gluon-config-mode-core @GLUON_MULTIDOMAIN
 endef
diff --git a/package/gluon-config-mode-geo-location/Makefile b/package/gluon-config-mode-geo-location/Makefile
index e1482de9bd0a90160d5fef784f9865abd351b39d..a020feb917f399cd5f4c26b35f0f19d6a396db2f 100644
--- a/package/gluon-config-mode-geo-location/Makefile
+++ b/package/gluon-config-mode-geo-location/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-geo-location
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Set geographic location of a node
   DEPENDS:=+gluon-config-mode-core +gluon-node-info
 endef
diff --git a/package/gluon-config-mode-hostname/Makefile b/package/gluon-config-mode-hostname/Makefile
index f4dfd7e8742a632b585e626ac0f9969644a91651..fdf3acd9bdd1709418a74db836893170b445e5ed 100644
--- a/package/gluon-config-mode-hostname/Makefile
+++ b/package/gluon-config-mode-hostname/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-hostname
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Set the hostname
   DEPENDS:=+gluon-config-mode-core
 endef
diff --git a/package/gluon-config-mode-mesh-vpn/Makefile b/package/gluon-config-mode-mesh-vpn/Makefile
index 549dbdbddec64628f7c584d54c6562479baac95a..0c3a752dfc08c2630ef38a8fd696cc6c975c3325 100644
--- a/package/gluon-config-mode-mesh-vpn/Makefile
+++ b/package/gluon-config-mode-mesh-vpn/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=2
 include ../gluon.mk
 
 define Package/gluon-config-mode-mesh-vpn
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Toggle mesh-vpn and bandwidth limit
   DEPENDS:=+gluon-config-mode-core +gluon-mesh-vpn-core
 endef
diff --git a/package/gluon-config-mode-theme/Makefile b/package/gluon-config-mode-theme/Makefile
index 34e2a0d4039f27ce1e43c95dcf3005b2d6db2b88..38858f0cdda1919f8a7beca567207456a54c3d34 100644
--- a/package/gluon-config-mode-theme/Makefile
+++ b/package/gluon-config-mode-theme/Makefile
@@ -9,8 +9,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-config-mode-theme
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Gluon config mode theme for gluon-web
   DEPENDS:=+gluon-core +gluon-web
 endef
diff --git a/package/gluon-core/Makefile b/package/gluon-core/Makefile
index f220b9f463cf5a6005a60d5ad5d37462c5a2ed4a..c0600c1f5e3c169b999d598b74024cd2b3b03b2d 100644
--- a/package/gluon-core/Makefile
+++ b/package/gluon-core/Makefile
@@ -11,8 +11,6 @@ include ../gluon.mk
 include $(INCLUDE_DIR)/cmake.mk
 
 define Package/gluon-core
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Base files of Gluon
   DEPENDS:= \
 	+gluon-site +libgluonutil +libiwinfo-lua +lua-platform-info +lua-simple-uci +lua-hash +lua-jsonc \
diff --git a/package/gluon-ebtables-filter-multicast/Makefile b/package/gluon-ebtables-filter-multicast/Makefile
index 1b500fd56d02cfa0162a0abbbdf5f1ac6cc94c4c..dc579a2a85ac78881228d33cb7013f4af96a922b 100644
--- a/package/gluon-ebtables-filter-multicast/Makefile
+++ b/package/gluon-ebtables-filter-multicast/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-ebtables-filter-multicast
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Ebtables filters for multicast packets
   DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv
 endef
diff --git a/package/gluon-ebtables-filter-ra-dhcp/Makefile b/package/gluon-ebtables-filter-ra-dhcp/Makefile
index 30f5238a0065a293446b63e1cbe360b0eaba7086..c650bb896a56c7703129337a8cb48a547e132594 100644
--- a/package/gluon-ebtables-filter-ra-dhcp/Makefile
+++ b/package/gluon-ebtables-filter-ra-dhcp/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-ebtables-filter-ra-dhcp
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Ebtables filters for Router Advertisement and DHCP packets
   DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv
 endef
diff --git a/package/gluon-ebtables-limit-arp/Makefile b/package/gluon-ebtables-limit-arp/Makefile
index a356b832bbf47ab8c11e9bf8174ee22f253da354..f7bdc48d0969b404a97d3f733e8fe95f26a433d2 100644
--- a/package/gluon-ebtables-limit-arp/Makefile
+++ b/package/gluon-ebtables-limit-arp/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-ebtables-limit-arp
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Ebtables limiter for ARP packets
   DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv \
 	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_LIMIT \
diff --git a/package/gluon-ebtables-source-filter/Makefile b/package/gluon-ebtables-source-filter/Makefile
index d19b047ba6cf8da1bd12820185616bb514e19268..2c14a7932c772abc7b0842278640471088eb1b09 100644
--- a/package/gluon-ebtables-source-filter/Makefile
+++ b/package/gluon-ebtables-source-filter/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-ebtables-source-filter
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Ebtables rules to filter unreasonable L2 traffic.
   DEPENDS:=+gluon-core +gluon-ebtables gluon-mesh-batman-adv
 endef
diff --git a/package/gluon-ebtables/Makefile b/package/gluon-ebtables/Makefile
index 3a2fffdc763eae25a041aaf760b6cfaf44e4c2c7..ca83fcf484159df906aef74abd8421d2c8413dd8 100644
--- a/package/gluon-ebtables/Makefile
+++ b/package/gluon-ebtables/Makefile
@@ -9,8 +9,6 @@ PKG_CONFIG_DEPENDS := CONFIG_GLUON_SPECIALIZE_KERNEL
 include ../gluon.mk
 
 define Package/gluon-ebtables
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Ebtables support
   DEPENDS:=+gluon-core +ebtables-tiny \
 	+@GLUON_SPECIALIZE_KERNEL:KERNEL_BRIDGE_EBT_T_FILTER \
diff --git a/package/gluon-l3roamd/Makefile b/package/gluon-l3roamd/Makefile
index 0488338743484793a969d8d09341d4a717df0354..9cae9bb12e65ca042c8b298bfb3f02f891051b02 100644
--- a/package/gluon-l3roamd/Makefile
+++ b/package/gluon-l3roamd/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-l3roamd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Configure l3roamd for babel
   DEPENDS:=+gluon-core +l3roamd
 endef
diff --git a/package/gluon-lock-password/Makefile b/package/gluon-lock-password/Makefile
index f62820066d5dce19abbf31dde38cc5b62f236d4b..366fd7b800a56684896f9c8b7781f320a7c58869 100644
--- a/package/gluon-lock-password/Makefile
+++ b/package/gluon-lock-password/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-lock-password
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Locks the root account by default
   DEPENDS:=+gluon-core
 endef
diff --git a/package/gluon-mesh-batman-adv/Makefile b/package/gluon-mesh-batman-adv/Makefile
index a8c4801ddfe39416618ac1536789b8d54f7475e1..4b158f5a1270735ea2c8bd2d2458a13ab8fb572a 100644
--- a/package/gluon-mesh-batman-adv/Makefile
+++ b/package/gluon-mesh-batman-adv/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-mesh-batman-adv/common
-  SECTION:=gluon
-  CATEGORY:=Gluon
   PROVIDES:=gluon-mesh-batman-adv
   DEPENDS:=+gluon-core +libgluonutil +gluon-client-bridge +gluon-ebtables +firewall +libiwinfo +kmod-dummy +libnl-tiny +libbatadv +@GLUON_SPECIALIZE_KERNEL:KERNEL_DUMMY +@GLUON_SPECIALIZE_KERNEL:KERNEL_CRC16 +@GLUON_SPECIALIZE_KERNEL:KERNEL_LIBCRC32C
 endef
diff --git a/package/gluon-mesh-vpn-core/Makefile b/package/gluon-mesh-vpn-core/Makefile
index 885905738ef72a803d0f4d096a53af9c08c8945e..f161333f60ff80a099a02e1f47c0b659bee9fd79 100644
--- a/package/gluon-mesh-vpn-core/Makefile
+++ b/package/gluon-mesh-vpn-core/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-mesh-vpn-core
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Basic support for connecting meshes via VPN tunnels
   DEPENDS:=+gluon-core +gluon-wan-dnsmasq +iptables +iptables-mod-extra +simple-tc \
 	+@GLUON_SPECIALIZE_KERNEL:KERNEL_NETFILTER_XT_MATCH_ADDRTYPE \
diff --git a/package/gluon-mesh-vpn-fastd/Makefile b/package/gluon-mesh-vpn-fastd/Makefile
index 477cd48e8e9bd6cfa10fb69ce344b366b43a1b3f..087aff5f83c114bc84078a8df24bedce5e6a0447 100644
--- a/package/gluon-mesh-vpn-fastd/Makefile
+++ b/package/gluon-mesh-vpn-fastd/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=3
 include ../gluon.mk
 
 define Package/gluon-mesh-vpn-fastd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Support for connecting meshes via fastd
   DEPENDS:=+gluon-core +libgluonutil +gluon-mesh-vpn-core +fastd +@GLUON_SPECIALIZE_KERNEL:KERNEL_TUN
 endef
diff --git a/package/gluon-mesh-vpn-tunneldigger/Makefile b/package/gluon-mesh-vpn-tunneldigger/Makefile
index d463db414208bd94019ac59b05fba3a5303c71ab..a5c23c2580267dd5f8dc1de6c172eefcf0b115a8 100644
--- a/package/gluon-mesh-vpn-tunneldigger/Makefile
+++ b/package/gluon-mesh-vpn-tunneldigger/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=3
 include ../gluon.mk
 
 define Package/gluon-mesh-vpn-tunneldigger
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Support for connecting meshes via tunneltigger/L2TPv3 pseudowire
   DEPENDS:=+gluon-core +gluon-mesh-vpn-core +tunneldigger +@GLUON_SPECIALIZE_KERNEL:KERNEL_L2TP
 endef
diff --git a/package/gluon-neighbour-info/Makefile b/package/gluon-neighbour-info/Makefile
index 37bd4a4951e69686993f14eec2622babf44aa970..af58036c465a5f026653330751973b65ea142aed 100644
--- a/package/gluon-neighbour-info/Makefile
+++ b/package/gluon-neighbour-info/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-neighbour-info
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=neighbour-info
   DEPENDS:=
 endef
diff --git a/package/gluon-node-info/Makefile b/package/gluon-node-info/Makefile
index 037c2e66ab24ca90cb39d7359f77a53eb88469cf..7718fa2b79b61bfc453db4e9764c333ebe59b4e5 100644
--- a/package/gluon-node-info/Makefile
+++ b/package/gluon-node-info/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-node-info
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Add /etc/config/gluon-node-info to uci
   DEPENDS:=+gluon-core +libgluonutil
 endef
diff --git a/package/gluon-radv-filterd/Makefile b/package/gluon-radv-filterd/Makefile
index 23485130fc3858bc99bdb4318564de1ae3a44e1f..28d778c1732be7f2cb1daf7163aeb9726371a897 100644
--- a/package/gluon-radv-filterd/Makefile
+++ b/package/gluon-radv-filterd/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-radv-filterd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Filter IPv6 router advertisements
   DEPENDS:=+gluon-ebtables +libgluonutil +libbatadv +libnl-tiny
 endef
diff --git a/package/gluon-radvd/Makefile b/package/gluon-radvd/Makefile
index 7bcdaafd2aa5d7bcf25c842b9d23c3cc4353504f..a3957530e84f9ed33b82fcebd9db15cfb9e8c94d 100644
--- a/package/gluon-radvd/Makefile
+++ b/package/gluon-radvd/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=3
 include ../gluon.mk
 
 define Package/gluon-radvd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Advertise an IPv6 prefix from the node
   DEPENDS:=+gluon-core +uradvd
 endef
diff --git a/package/gluon-respondd/Makefile b/package/gluon-respondd/Makefile
index 9dc3f0f3a072b8bdbae7708d7cba2ab1bf901417..52839a864082570417d3495cfe32c36d1e5bd52b 100644
--- a/package/gluon-respondd/Makefile
+++ b/package/gluon-respondd/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-respondd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Provides node information to the network
   DEPENDS:=+gluon-core +libplatforminfo +libgluonutil +libuci +ubus +respondd
 endef
diff --git a/package/gluon-setup-mode/Makefile b/package/gluon-setup-mode/Makefile
index 6e11f420d8d2dfb45b456429730016af3cf3d8d4..ff1c730b3344dabb53ce3e0448acf3bb17cbf756 100644
--- a/package/gluon-setup-mode/Makefile
+++ b/package/gluon-setup-mode/Makefile
@@ -9,8 +9,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-setup-mode
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Setup mode
   DEPENDS:=+gluon-core +gluon-lock-password +ubus +dnsmasq
 endef
diff --git a/package/gluon-site/Makefile b/package/gluon-site/Makefile
index 5b7a6968789cbd4a2474fab213329d3d62025469..91452264793eade8e6ef72e90fc47af97a5e3265 100644
--- a/package/gluon-site/Makefile
+++ b/package/gluon-site/Makefile
@@ -17,8 +17,6 @@ include ../gluon.mk
 PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
 
 define Package/gluon-site
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Site-specific files of Gluon
 endef
 
@@ -75,4 +73,4 @@ define Package/gluon-site/install
 	$(GluonInstallI18N)
 endef
 
-$(eval $(call BuildPackage,gluon-site))
+$(eval $(call BuildPackageGluon,gluon-site))
diff --git a/package/gluon-status-page/Makefile b/package/gluon-status-page/Makefile
index 7401f0990ac6c3f67e0eb6eeb1e6b383cfd5dcaa..d17ce2dae719f95ab0395519ab7b7832c02ec6e5 100644
--- a/package/gluon-status-page/Makefile
+++ b/package/gluon-status-page/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=3
 include ../gluon.mk
 
 define Package/gluon-status-page
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Status page showing information about the node
   DEPENDS:=+gluon-web +gluon-neighbour-info +gluon-respondd +uhttpd +sse-multiplex +libiwinfo +libjson-c +libnl-tiny +libubus-lua +libbatadv
 endef
diff --git a/package/gluon-wan-dnsmasq/Makefile b/package/gluon-wan-dnsmasq/Makefile
index 75be1b539ee013c3a55d0158c6d43c487adc89ed..adbe0f78841f9a007caa697ceeb7cc1cf555327c 100644
--- a/package/gluon-wan-dnsmasq/Makefile
+++ b/package/gluon-wan-dnsmasq/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-wan-dnsmasq
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Support for a secondary DNS server using the WAN interface
   DEPENDS:=+gluon-core +libubus-lua +dnsmasq +libpacketmark
 endef
diff --git a/package/gluon-web-admin/Makefile b/package/gluon-web-admin/Makefile
index 881db831a6ee4a9a46b327910cea2efef7f1bc90..d555be615760cc40e5f9a2e6aacc0b24005f5757 100644
--- a/package/gluon-web-admin/Makefile
+++ b/package/gluon-web-admin/Makefile
@@ -10,8 +10,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-admin
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Web-based simple administration interface for mesh nodes
   DEPENDS:=+gluon-config-mode-core +pretty-hostname
 endef
diff --git a/package/gluon-web-autoupdater/Makefile b/package/gluon-web-autoupdater/Makefile
index daa7508f39ed324449b7f78a60ca5241230eecaa..c50e731a0c538f030fdf268e013edc78f04f4f3e 100644
--- a/package/gluon-web-autoupdater/Makefile
+++ b/package/gluon-web-autoupdater/Makefile
@@ -10,8 +10,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-autoupdater
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=gluon-web module for gluon-autoupdater
   DEPENDS:=+gluon-web-admin +gluon-autoupdater
 endef
diff --git a/package/gluon-web-logging/Makefile b/package/gluon-web-logging/Makefile
index 4cd1076cbe1ce1c9bc8bab9edaad61f8c946223d..10d83740d23edb14dff3d329e9c1042880c1768b 100644
--- a/package/gluon-web-logging/Makefile
+++ b/package/gluon-web-logging/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-logging
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-web-admin
   TITLE:=UI for remote syslog configuration
 endef
diff --git a/package/gluon-web-mesh-vpn-fastd/Makefile b/package/gluon-web-mesh-vpn-fastd/Makefile
index da13d43d624356c9f1ead25fc6c0f97dd93cafac..46dfd1817195dd8bf5cb1650cd069f940b3ee5b2 100644
--- a/package/gluon-web-mesh-vpn-fastd/Makefile
+++ b/package/gluon-web-mesh-vpn-fastd/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-mesh-vpn-fastd
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=gluon-web module to enable and disable encryption for the mesh VPN
   DEPENDS:=+gluon-web-admin +gluon-mesh-vpn-fastd
 endef
diff --git a/package/gluon-web-model/Makefile b/package/gluon-web-model/Makefile
index e2badbd4278f5a598253dfea1bf55031487cc480..d767f562bbaca14cb768f15358c266d693c19c89 100644
--- a/package/gluon-web-model/Makefile
+++ b/package/gluon-web-model/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-web-model
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Minimal Lua web framework derived from LuCI (model support)
   DEPENDS:=+gluon-web
 endef
diff --git a/package/gluon-web-network/Makefile b/package/gluon-web-network/Makefile
index a7c14254aad4e9687627af5f2c2d2c772650437f..42620fe5457f901a2a2bf5bb65c76ec6ab5449e2 100644
--- a/package/gluon-web-network/Makefile
+++ b/package/gluon-web-network/Makefile
@@ -10,8 +10,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-network
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=gluon-web module for network port configuration
   DEPENDS:=+gluon-web-admin +gluon-client-bridge
 endef
diff --git a/package/gluon-web-node-role/Makefile b/package/gluon-web-node-role/Makefile
index 099b9c413b7e594ff1206feba3564d7faaf65742..8128376138e71c13be3116e91bb12f59fe552ed5 100644
--- a/package/gluon-web-node-role/Makefile
+++ b/package/gluon-web-node-role/Makefile
@@ -6,8 +6,6 @@ PKG_VERSION:=1
 include ../gluon.mk
 
 define Package/gluon-web-node-role
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-web-admin +gluon-node-info
   TITLE:=UI for specifying node role
 endef
diff --git a/package/gluon-web-private-wifi/Makefile b/package/gluon-web-private-wifi/Makefile
index 313c0ce42d3bbeedf27421956d5ab4280d0d394c..cff13fcb328de5e9ac6d4eb5865fd38f7efdfa35 100644
--- a/package/gluon-web-private-wifi/Makefile
+++ b/package/gluon-web-private-wifi/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-private-wifi
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-web-admin
   TITLE:=UI for activating a private WLAN
 endef
diff --git a/package/gluon-web-wifi-config/Makefile b/package/gluon-web-wifi-config/Makefile
index 398bf42e45daeab5a5731abdbefaebbb37cc1e9b..7827491e7295da68ce3feeebc1b6964e7e280bb1 100644
--- a/package/gluon-web-wifi-config/Makefile
+++ b/package/gluon-web-wifi-config/Makefile
@@ -7,8 +7,6 @@ PKG_RELEASE:=1
 include ../gluon.mk
 
 define Package/gluon-web-wifi-config
-  SECTION:=gluon
-  CATEGORY:=Gluon
   DEPENDS:=+gluon-web-admin +libiwinfo-lua
   TITLE:=UI for Wifi Settings
 endef
diff --git a/package/gluon-web/Makefile b/package/gluon-web/Makefile
index 796ed361756a2cdd997f4e76f264b7e595383046..1ecca59ea0a43b51e595ca07d6e751eedcb2ff6a 100644
--- a/package/gluon-web/Makefile
+++ b/package/gluon-web/Makefile
@@ -8,8 +8,6 @@ PKG_INSTALL:=1
 include ../gluon.mk
 
 define Package/gluon-web
-  SECTION:=gluon
-  CATEGORY:=Gluon
   TITLE:=Minimal Lua web framework derived from LuCI
   DEPENDS:=+lua-jsonc +luci-lib-nixio
 endef
diff --git a/package/gluon.mk b/package/gluon.mk
index ea9658ad9fa3291d9e5e5c763e5443703732510d..0b9787fcbab473306716771af93fa0e61dcb148b 100644
--- a/package/gluon.mk
+++ b/package/gluon.mk
@@ -100,6 +100,12 @@ endef
 Build/Compile=$(call Gluon/Build/Compile)
 
 define BuildPackageGluon
+  define Package/$(1) :=
+    SECTION:=gluon
+    CATEGORY:=Gluon
+    $$(Package/$(1))
+  endef
+
   Package/$(1)/install ?= $$(Gluon/Build/Install)
 
   ifneq ($(wildcard check_site.lua),)