diff --git a/buildscript b/buildscript index f7889e92..030d043c 100755 --- a/buildscript +++ b/buildscript @@ -25,6 +25,8 @@ OPENWRT_PKGS="gpioctl-sysfs libugpio fastd haserl micrond mtr bmon" ROUTING_PKGS="kmod-batman-adv batctl alfred babeld" GLUON_PKGS="simple-tc uradvd" +FFF_VARIANTS="node layer3" + OPENWRTURL="https://git.openwrt.org/openwrt/openwrt.git" ## Feed definition [0]: name aka directory, [1]: url, [2]: revision @@ -149,7 +151,7 @@ prepare() { apply_variant() { # set the variant for this build - cp "./src/packages/fff/fff/variant-$(cat selected_variant).mk" "$builddir"/variant.mk + export FFF_VARIANT=$(cat selected_variant) # force the reevaluation of this Makefile to make note of the new variant touch ./src/packages/fff/fff/Makefile } @@ -441,14 +443,13 @@ case "$1" in ;; "selectvariant") if [ "$2" = "help" ] || [ "$2" = "" ]; then - echo "Select a build varaint:" + echo "Select a build variant:" echo echo "Usage: $0 $1 " - echo "available variants: " - /bin/ls src/packages/fff/fff/variant-*.mk | sed 's#.*/variant-\(.*\)\.mk#\1#g' + echo "available variants: $FFF_VARIANTS" echo else - if [ ! -f "src/packages/fff/fff/variant-$2.mk" ]; then + if ! echo "$FFF_VARIANTS" | grep -q "\b$2\b"; then echo "Could not find variant $2" else setVariant $2 diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile index b2549294..3dae0384 100644 --- a/src/packages/fff/fff/Makefile +++ b/src/packages/fff/fff/Makefile @@ -1,34 +1,56 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff -PKG_RELEASE:=8 +PKG_RELEASE:=9 include $(INCLUDE_DIR)/package.mk -define Package/fff-base +define Package/fff-variant/default SECTION:=base CATEGORY:=Freifunk - TITLE:=Freifunk-Franken Base - URL:=http://www.freifunk-franken.de - DEPENDS:=+iptables \ - +ip6tables \ - +odhcp6c \ - +micrond \ - +fff-config \ - +fff-nodewatcher \ - +fff-web-ui \ - +fff-support \ - +fff-network \ - +fff-sysupgrade \ - +fff-wireless \ - +fff-timeserver \ - +fff-simple-tc + URL:=https://www.freifunk-franken.de + DEFAULT:=$(if $(filter fff-variant-$(FFF_VARIANT),$(1)),y,n) + DEPENDS:= \ + +iptables \ + +ip6tables \ + +micrond \ + +odhcp6c \ + +fff-config \ + +fff-network \ + +fff-nodewatcher \ + +fff-simple-tc \ + +fff-support \ + +fff-sysupgrade \ + +fff-timeserver \ + +fff-web-ui \ + +fff-wireless endef -define Package/fff-base/description - This is the Freifunk Franken Firmware Base package +define Package/fff-variant/default/description + This package is used to switch one of the variants on by default endef -$(eval $(call BuildPackage,fff-base)) +define Package/fff-variant-layer3 + $(Package/fff-variant/default) + TITLE:=Freifunk-Franken Layer3 Variant + DEPENDS+=+fff-layer3 + VARIANT:=layer3 +endef -include $(TOPDIR)/variant.mk +define Package/fff-variant-layer3/description + $(Package/fff-variant/default/description) +endef + +define Package/fff-variant-node + $(Package/fff-variant/default) + TITLE:=Freifunk-Franken Node Variant + DEPENDS+=+fff-node + VARIANT:=node +endef + +define Package/fff-variant-node/description + $(Package/fff-variant/default/description) +endef + +$(eval $(call BuildPackage,fff-variant-layer3)) +$(eval $(call BuildPackage,fff-variant-node)) diff --git a/src/packages/fff/fff/variant-layer3.mk b/src/packages/fff/fff/variant-layer3.mk deleted file mode 100644 index 51b99923..00000000 --- a/src/packages/fff/fff/variant-layer3.mk +++ /dev/null @@ -1,16 +0,0 @@ -define Package/fff-default - SECTION:=base - CATEGORY:=Freifunk - DEFAULT:=y - TITLE:=Freifunk-Franken Base default switcher - URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-base +fff-layer3 - VARIANT:=layer3 -endef - -define Package/fff-default/description - This package is used to switch on of the Freifunk Franken - package on per default -endef - -$(eval $(call BuildPackage,fff-default)) diff --git a/src/packages/fff/fff/variant-node.mk b/src/packages/fff/fff/variant-node.mk deleted file mode 100644 index 8c238218..00000000 --- a/src/packages/fff/fff/variant-node.mk +++ /dev/null @@ -1,16 +0,0 @@ -define Package/fff-default - SECTION:=base - CATEGORY:=Freifunk - DEFAULT:=y - TITLE:=Freifunk-Franken Base default switcher - URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-base +fff-node - VARIANT:=node -endef - -define Package/fff-default/description - This package is used to switch on of the Freifunk Franken - package on per default -endef - -$(eval $(call BuildPackage,fff-default))