[PATCH v1 1/4] fff-macnock: new package
mail at adrianschmutzler.de
mail at adrianschmutzler.de
So Jun 10 14:19:13 CEST 2018
Den kann ich nicht reviewen, wäre aber anhand diverser Berichte damit
einverstanden.
Acked-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Tim Niemeyer
> Sent: Sonntag, 10. Juni 2018 14:06
> To: franken-dev at freifunk.net
> Subject: [PATCH v1 1/4] fff-macnock: new package
>
> Fixes #68
>
> Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> ---
>
> Changes in v1:
> - change repo URL to FreifunkFranken Repo
> - macnock is started w/o hood (instead mac is used)
> - use quotes
> - add depends to fff-network
>
> src/packages/fff/fff-hoods/Makefile | 2 +-
> src/packages/fff/fff-macnock/Makefile | 40 ++++++++++++++
> .../fff/fff-macnock/files/etc/init.d/macnock | 64
> ++++++++++++++++++++++
> .../files/etc/uci-defaults/52-fff-macnock | 6 ++
> 4 files changed, 111 insertions(+), 1 deletion(-) create mode 100644
> src/packages/fff/fff-macnock/Makefile
> create mode 100755 src/packages/fff/fff-macnock/files/etc/init.d/macnock
> create mode 100644
src/packages/fff/fff-macnock/files/etc/uci-defaults/52-
> fff-macnock
>
> diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-
> hoods/Makefile
> index f36d268..b565ac7 100644
> --- a/src/packages/fff/fff-hoods/Makefile
> +++ b/src/packages/fff/fff-hoods/Makefile
> @@ -13,7 +13,7 @@ define Package/$(PKG_NAME)
> CATEGORY:=Freifunk
> TITLE:= Freifunk-Franken hoods
> URL:=http://www.freifunk-franken.de
> - DEPENDS:=+fff-hoodutils
> + DEPENDS:=+fff-hoodutils +fff-macnock
> endef
>
> define Package/$(PKG_NAME)/description
> diff --git a/src/packages/fff/fff-macnock/Makefile b/src/packages/fff/fff-
> macnock/Makefile
> new file mode 100644
> index 0000000..359c45d
> --- /dev/null
> +++ b/src/packages/fff/fff-macnock/Makefile
> @@ -0,0 +1,40 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-macnock
> +PKG_VERSION:=0.1
> +PKG_RELEASE:=1
> +PKG_REV:=ffd1a64515709d75afaab0f990308fd164dc4cc6
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
> +PKG_SOURCE_URL:=https://github.com/FreifunkFranken/macnocker.git
> +PKG_SOURCE_PROTO:=git
> +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
> +PKG_SOURCE_VERSION:=$(PKG_REV)
> +
> +include $(INCLUDE_DIR)/package.mk
> +include $(INCLUDE_DIR)/cmake.mk
> +
> +CMAKE_OPTIONS:=-DMACNOCK_DEBUG=ON
> +
> +define Package/$(PKG_NAME)
> + SECTION:=base
> + CATEGORY:=Freifunk
> + TITLE:= Freifunk-Franken mac nocker
> + URL:=http://www.freifunk-franken.de
> + KCONFIG:= \
> + CONFIG_NET_EMATCH=y \
> + CONFIG_NET_EMATCH_U32=y \
> + CONFIG_NET_CLS_BASIC=y \
> + CONFIG_NET_CLS_ACT=y \
> + CONFIG_NET_ACT_GACT=y \
> + CONFIG_NET_CLS_U32=y
> + DEPENDS:=+fff-network
> +endef
> +
> +define Package/$(PKG_NAME)/install
> + $(INSTALL_DIR) $(1)/usr/sbin
> + $(INSTALL_BIN) $(PKG_BUILD_DIR)/macnock $(1)/usr/sbin/macnock
> + $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,$(PKG_NAME)))
> diff --git a/src/packages/fff/fff-macnock/files/etc/init.d/macnock
> b/src/packages/fff/fff-macnock/files/etc/init.d/macnock
> new file mode 100755
> index 0000000..41fc9f1
> --- /dev/null
> +++ b/src/packages/fff/fff-macnock/files/etc/init.d/macnock
> @@ -0,0 +1,64 @@
> +#!/bin/sh /etc/rc.common
> +
> +START=99
> +
> +USE_PROCD=1
> +PROCD_DEBUG=9
> +
> +validate_hood_section() {
> + if [ -z "$(uci -q get network.ethmesh.ifname)" ]; then
> + # false
> + return 1
> + fi
> +
> + if [ -n "$(uci -q get system. at system[0].hood)" -o -n "$(uci -q get
> network.mesh.macaddr)" ]; then
> + # true
> + return 0
> + fi
> +
> + # false
> + return 1
> +}
> +
> +service_triggers()
> +{
> + local script name
> +
> + script=$(readlink -f "$initscript")
> + name=$(basename ${script:-$initscript})
> +
> + procd_add_config_trigger "config.change" "system" /etc/init.d/$name
> reload
> + procd_add_interface_trigger "interface.*" "ethmesh" /etc/init.d/$name
> reload
> + procd_add_validation validate_hood_section }
> +
> +reload_service()
> +{
> + echo "Explicitly restarting macnocker"
> + stop
> + start
> +}
> +
> +start_service() {
> + validate_hood_section || {
> + echo "validation failed"
> + return 1
> + }
> +
> +
> + local IFACE="$(uci -q get network.ethmesh.ifname)"
> + local HOOD="$(uci -q get system. at system[0].hood)"
> + if [ -z "$HOOD" ]; then
> + HOOD="$(uci -q get network.mesh.macaddr)"
> + fi
> +
> + procd_open_instance macnock
> + procd_set_param command /usr/sbin/macnock $IFACE $HOOD
> + procd_set_param respawn 10 10 0
> + procd_set_param file /etc/config/system
> + procd_set_param netdev $IFACE
> + procd_set_param stdout 1
> + procd_set_param stderr 1
> + procd_set_param user root
> + procd_close_instance
> +}
> diff --git a/src/packages/fff/fff-macnock/files/etc/uci-defaults/52-fff-
> macnock b/src/packages/fff/fff-macnock/files/etc/uci-defaults/52-fff-
> macnock
> new file mode 100644
> index 0000000..5c0b788
> --- /dev/null
> +++ b/src/packages/fff/fff-macnock/files/etc/uci-defaults/52-fff-macnock
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +
> +if ! grep -q u32 /etc/iproute2/ematch_map; then
> + echo "3 u32" > /etc/iproute2/ematch_map fi
> --
> 2.11.0
Mehr Informationen über die Mailingliste franken-dev