[PATCH v1 2/2] buildscript: support to choose the build variant

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Feb 3 03:21:23 CET 2019


Reviewed-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: Samstag, 2. Februar 2019 14:26
> To: franken-dev at freifunk.net
> Subject: [PATCH v1 2/2] buildscript: support to choose the build variant
> 
> Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> ---
> 
> Changes in v1:
> - First version of this patch
> 
>  .gitignore                             |  1 +
>  buildscript                            | 40 +++++++++++++++++++++++++++++++++-
>  src/packages/fff/fff/Makefile          |  3 ++-
>  src/packages/fff/fff/variant-layer3.mk | 15 +++++++++++++
>  src/packages/fff/fff/variant-node.mk   | 15 +++++++++++++
>  5 files changed, 72 insertions(+), 2 deletions(-)  create mode 100644
> src/packages/fff/fff/variant-layer3.mk
>  create mode 100644 src/packages/fff/fff/variant-node.mk
> 
> diff --git a/.gitignore b/.gitignore
> index 6fe0300..56d60b8 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,5 +1,6 @@
>  /selected_bsp
>  /selected_community
> +/selected_variant
>  /build
>  /bin*
>  /src/dl
> diff --git a/buildscript b/buildscript
> index 3d5cefd..06edf17 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -140,6 +140,11 @@ prepare() {
> 
>      patch_target
> 
> +    # set the variant for this build
> +    cp "./src/packages/fff/fff/variant-$(cat selected_variant).mk"
> "$target"/variant.mk
> +    # force the reevaluation of this Makefile to make note of the new variant
> +    touch ./src/packages/fff/fff/Makefile
> +
>      ## generate own feeds.conf
>      #this local variable should be globally configure variable used in get_source
> and here
>      local PACKAGEBASE=${PWD}/src/packages @@ -344,6 +349,16 @@
> loadBSP()
>      . selected_bsp
>  }
> 
> +loadVariant()
> +{
> +    echo "Working with build variant \"$(cat selected_variant)\""
> +}
> +
> +setVariant()
> +{
> +    echo "$1" > selected_variant
> +}
> +
>  setBSP()
>  {
>      /bin/rm -rf selected_bsp
> @@ -364,13 +379,19 @@ if [ "$(/usr/bin/id -u)" -eq 0 ]; then
>  	exit 1
>  fi
> 
> -if [ "$1" != "selectbsp" ]; then
> +if [ "$1" != "selectbsp" -a "$1" != "selectvariant" ]; then
>      if [ ! -h selected_bsp ]; then
>          echo "Please select a Board-Support-Package using:"
>          echo "$0 selectbsp"
>          exit
>      fi
> +    if [ ! -f selected_variant ]; then
> +        echo "Please select a build variant using:"
> +        echo "$0 selectvariant"
> +        exit
> +    fi
>      loadBSP
> +    loadVariant
>      echo
>  fi
> 
> @@ -391,6 +412,22 @@ case "$1" in
>              fi
>          fi
>          ;;
> +    "selectvariant")
> +        if [ "$2" = "help" ] || [ "$2" = "" ]; then
> +            echo "Select a build varaint:"
> +            echo
> +            echo "Usage: $0 $1 <name of variant>"
> +            echo "available variants: "
> +            /bin/ls src/packages/fff/fff/variant-*.mk | sed 's#.*/variant-
> \(.*\)\.mk#\1#g'
> +            echo
> +        else
> +            if [ ! -f "src/packages/fff/fff/variant-$2.mk" ]; then
> +                echo "Could not find variant $2"
> +            else
> +                setVariant $2
> +            fi
> +        fi
> +        ;;
>      "prepare")
>          if [ "$2" = "help" ] || [ "$2" = "x" ]; then
>              echo "This option fetches the sources for the images and configurates
> the build so that it can be compiled"
> @@ -462,6 +499,7 @@ case "$1" in
>          echo "Usage: $0 command"
>          echo "command:"
>          echo "  selectbsp <bsp-file>"
> +        echo "  selectvariant <name of variant>"
>          echo "  prepare"
>          echo "  config openwrt"
>          echo "  build [fast|debug]"
> diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile
> index c135fa6..4ec7e96 100644
> --- a/src/packages/fff/fff/Makefile
> +++ b/src/packages/fff/fff/Makefile
> @@ -35,7 +35,6 @@ endef
> 
>  define Package/fff-node
>      $(call Package/fff/base)
> -    DEFAULT:=y
>      TITLE+=(Home node)
>      DEPENDS+=+fff-fastd \
>               +fff-firewall \
> @@ -76,3 +75,5 @@ endef
> 
>  $(eval $(call BuildPackage,fff-node))
>  $(eval $(call BuildPackage,fff-layer3))
> +
> +include $(TOPDIR)/variant.mk
> diff --git a/src/packages/fff/fff/variant-layer3.mk
> b/src/packages/fff/fff/variant-layer3.mk
> new file mode 100644
> index 0000000..fb6dbc7
> --- /dev/null
> +++ b/src/packages/fff/fff/variant-layer3.mk
> @@ -0,0 +1,15 @@
> +define Package/fff-default
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    DEFAULT:=y
> +    TITLE:=Freifunk-Franken Base default switcher
> +    URL:=http://www.freifunk-franken.de
> +    DEPENDS:=+fff-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
> new file mode 100644
> index 0000000..11b9734
> --- /dev/null
> +++ b/src/packages/fff/fff/variant-node.mk
> @@ -0,0 +1,15 @@
> +define Package/fff-default
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    DEFAULT:=y
> +    TITLE:=Freifunk-Franken Base default switcher
> +    URL:=http://www.freifunk-franken.de
> +    DEPENDS:=+fff-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))
> --
> 2.11.0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190203/7d686c39/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev