diff --git a/README b/README index fa6dfc3238195bb15f28fffda9ca9fa21563fdac..109bd1adcd4eba9ca9359d2c22895403961c9ad5 100644 --- a/README +++ b/README @@ -1,14 +1,22 @@ -Doku: https://gluon.readthedocs.org/en/latest/ +# Validation + +You can validate your changes to this repository by calling the validate_site.sh file with + + tests/validate_site.sh + +# Dokumetation + +https://gluon.readthedocs.org/en/latest/ Gluon Version auf der die Freifunk Nord Firmware basiert: * 2017.1.1 - Gluon LEDE 2017.1.1 -Download der Firmware: +# Download der Firmware * https://nord.freifunk.net/firmware.html -Firmware selber bauen: +# Firmware selber bauen 1. Vorbereitung: 1.1 Abhängigkeiten installieren @@ -37,7 +45,7 @@ Firmware selber bauen: make -j8 GLUON_TARGET=ar71xx-generic ##-j $ZAHL$ = Anzahl der CPU Kerne -Mögliche Targets: +## Mögliche Targets ar71xx-generic ar71xx-mikrotik @@ -48,7 +56,7 @@ x86-64 x86-generic x86-geode -# Nur mit 802.11s: +## Nur mit 802.11s brcm2708-bcm2708 brcm2708-bcm2709 diff --git a/tests/validate_site.sh b/tests/validate_site.sh old mode 100644 new mode 100755 index 71352c8f23236095c2fdab3e21d84a8a0b40427f..d7334dfcbfa5e19c1d0cf2ef800475c681ea744a --- a/tests/validate_site.sh +++ b/tests/validate_site.sh @@ -1,6 +1,70 @@ #!/bin/bash # validate_site.sh checks if the site.conf is valid json +GLUON_BRANCH='v2017.1.1' +P=$(pwd) +echo "####### validating $P/site.conf ..." GLUON_SITEDIR="." lua5.1 tests/site_config.lua -bash -n make-release.sh + +echo "####### validating $P/make-release.sh ..." +bash -n $P/make-release.sh + +echo "####### validating $P/modules ..." +source $P/modules +testpath=/tmp/site-validate +rm -Rf $testpath +mkdir -p $testpath/packages +cd $testpath/packages +for feed in $GLUON_SITE_FEEDS; do + echo "checking PACKAGES_${feed^^}_REPO ..." + repo_var=$(echo PACKAGES_${feed^^}_REPO) + commit_var=$(echo PACKAGES_${feed^^}_COMMIT) + branch_var=$(echo PACKAGES_${feed^^}_BRANCH) + repo=${!repo_var} + commit=${!commit_var} + branch=${!branch_var} + if [ "$repo" == "" ]; then + echo "repo $repo_var missing" + exit 1 + fi + if [ "$commit" == "" ]; then + echo "commit $commit_var missing" + exit 1 + fi + if [ "$branch" == "" ]; then + echo "branch $branch_var missing" + exit 1 + fi + git clone -b "$branch" --single-branch "$repo" $feed + if [ "$?" != "0" ]; then exit 1; fi + cd $feed + git checkout "$commit" + if [ "$?" != "0" ]; then exit 1; fi + cd - +done +cd $testpath +git init gluon +cd gluon +git remote add origin https://github.com/freifunk-gluon/gluon +git config core.sparsecheckout true +echo "package/*" >> .git/info/sparse-checkout +git pull --depth=1 origin $GLUON_BRANCH +cp -a package/ $testpath/packages +cd $testpath/packages/package + +echo "####### validating GLUON_SITE_PACKAGES from $P/site.mk ..." +# ignore standard packages: +sed '/GLUON_RELEASE/,$d' $P/site.mk | egrep -v '(#|G|iwinfo|iptables|haveged)'> $testpath/site.mk.sh +sed -i 's/\s\\$//g;/^$/d' $testpath/site.mk.sh +sed -i 's/gluon-mesh-batman-adv-1[45]/gluon-mesh-batman-adv/g' $testpath/site.mk.sh +cat $testpath/site.mk.sh | +while read packet; do + echo "check $packet ..." + if [ "$(find $testpath/packages/ -type d -name "$packet")" '!=' '' ]; then + : find found something + else + echo "ERROR: $packet missing" + exit 1 + fi +done