fff-web-hood: separate package for hood file via HTTP

There might be scenarios where a user only needs the hood file,
but no WebUI (e.g. for 4M devices and node firmware), or only
the WebUI, but no hood file (e.g. layer3 firmware).

This separates the HTTP server (section) for the hood file into a
separate package fff-web-hood. The new package is then only added
to the node firmware.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
Acked-by: Christian Dresel <freifunk@dresel.systems>
This commit is contained in:
Adrian Schmutzler 2020-12-12 21:57:38 +01:00
parent b69469a0b9
commit 341d5cc57d
6 changed files with 62 additions and 14 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=fff-hoods PKG_NAME:=fff-hoods
PKG_RELEASE:=16 PKG_RELEASE:=17
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
@ -12,9 +12,18 @@ define Package/$(PKG_NAME)
CATEGORY:=Freifunk CATEGORY:=Freifunk
TITLE:=Freifunk-Franken hoods TITLE:=Freifunk-Franken hoods
URL:=http://www.freifunk-franken.de URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-hoodutils +fff-macnock +fff-vpn-select +fff-firewall \ DEPENDS:= \
+fff-timeserver +fff-network +fff-wireless +jshn \ +fff-firewall \
+@BUSYBOX_CONFIG_WGET +@BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT +fff-hoodutils \
+fff-macnock \
+fff-network \
+fff-timeserver \
+fff-vpn-select \
+fff-web-hood \
+fff-wireless \
+jshn \
+@BUSYBOX_CONFIG_WGET \
+@BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
endef endef
define Package/$(PKG_NAME)/description define Package/$(PKG_NAME)/description

View File

@ -0,0 +1,31 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-web-hood
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/fff-web-hood
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken web server for hood file
URL:=http://www.freifunk-franken.de
DEPENDS:=+uhttpd
endef
define Package/fff-web-hood/description
This is a tiny web server to serve the hoodfile for
other nodes
endef
define Build/Compile
# nothing
endef
define Package/fff-web-hood/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-web-hood))

View File

@ -0,0 +1,15 @@
uci -q delete uhttpd.main
uci batch <<EOF
set uhttpd.hood=uhttpd
add_list uhttpd.hood.listen_http='2342'
set uhttpd.hood.home='/www/hood'
set uhttpd.hood.rfc1918_filter='1'
set uhttpd.hood.network_timeout='30'
set uhttpd.hood.tcp_keepalive='1'
set uhttpd.hood.config='_'
EOF
uci commit uhttpd
exit 0

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=fff-web PKG_NAME:=fff-web
PKG_RELEASE:=14 PKG_RELEASE:=15
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)

View File

@ -1,5 +1,6 @@
uci -q delete uhttpd.main
uci batch <<EOF uci batch <<EOF
delete uhttpd.main
delete uhttpd.public delete uhttpd.public
delete uhttpd.ssl delete uhttpd.ssl
delete uhttpd.px5g delete uhttpd.px5g
@ -29,14 +30,6 @@ uci batch <<EOF
set uhttpd.px5g.days='1400' set uhttpd.px5g.days='1400'
set uhttpd.px5g.bits='2048' set uhttpd.px5g.bits='2048'
set uhttpd.px5g.commonname='OpenWrt' set uhttpd.px5g.commonname='OpenWrt'
set uhttpd.hood=uhttpd
add_list uhttpd.hood.listen_http='2342'
set uhttpd.hood.home='/www/hood'
set uhttpd.hood.rfc1918_filter='1'
set uhttpd.hood.network_timeout='30'
set uhttpd.hood.tcp_keepalive='1'
set uhttpd.hood.config='_'
EOF EOF
uci commit uhttpd uci commit uhttpd