[PATCH] use custom names for binary builds. fixes #9

delphiN lists at wunschik.net
Di Feb 2 00:18:54 CET 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

So jetzt also nochmal ein Anlauf mit angepasstem sysupgrade-skript.
Bin gespannt, was Ihr von der Lösung haltet.

Firmware hab ich angetestet, sysuprade-skript kann ich erst testen,
wenn die Firmware auf dem dev-server liegt.

Der Patch müsste eigentlich [Patch v3 1/4] heißen aber ich glaube so
genau müssen wir es jetzt auch nicht nehmen :-)

delphiN

Am 02.02.2016 00:11, schrieb Alexander Wunschik:
> From: mojoaxel <alex at wunschik.net>
> 
> Signed-off-by: mojoaxel <alex at wunschik.net>
> 
> --- - use custom names for binary builds. - generate release.nfo
> file with all commits since the last tag (nedded from
> sysupgrade.sh). - changed sysupgrade script to use new
> filename-scheme.
> 
> Hints for deployment: The deployment folder at the dev-server
> changed from "/dev/firmware/current" to
> "/dev/firmware/franken/current" for the franken community to be
> consistent with the aux builds. This also ensures that old
> firmwares are still able to upgrade using the old sysupgrade
> script. For that to work e.g. symlinks with the old name-scheme
> must be deployed to the depricated folder "/dev/firmware/current". 
> The file release.nfo must be placed in the same folder on the
> dev-server as all the binaries. It is used by the sysupgrade script
> to determine the latest released version.
> 
> bsp/board_ar71xx.bsp                               | 46
> +++++++++++----------- bsp/board_wdr4300.bsp
> | 31 ++++++++------- bsp/board_wdr4900.bsp
> | 15 +++++-- .../root_file_system/etc/config/firmware.tpl       |
> 5 ++- bsp/default/root_file_system/etc/sysupgrade.sh     | 26
> ++++++------ buildscript                                        |
> 9 +++++ community/aux.cfg                                  |  1 + 
> community/franken.cfg                              |  3 +- 8 files
> changed, 83 insertions(+), 53 deletions(-)
> 
> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp index
> 4876631..d18da37 100644 --- a/bsp/board_ar71xx.bsp +++
> b/bsp/board_ar71xx.bsp @@ -1,5 +1,22 @@ machine=ar71xx 
> +chipset=ar71xx target=$builddir/$machine +boards=( +
> ubnt-nano-m +    tl-wr740n-v4 +    tl-wr741nd-v2 +
> tl-wr741nd-v4 +    tl-wr841nd-v7 +    tl-wr841n-v8 +
> tl-wr841n-v9 +    tl-wr841n-v10 +    tl-wr842n-v2 +
> tl-wr1043nd-v1 +    tl-wr1043nd-v2 +    tl-wr1043nd-v3 +
> tl-wa850re-v1 +    tl-wa860re-v1 +)
> 
> board_prepare() { echo "nothing todo" > /dev/null @@ -10,30 +27,13
> @@ board_prebuild() { }
> 
> board_postbuild() { -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-*.bin
> ./bin/ +    for board in ${boards[@]}; do +
> filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs +
> filename_build=fff-${community}_${version}_${board}
> 
> -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-*.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-*.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-gl-ar150-squashfs-*.bin
> ./bin/ +        cp
> $target/bin/${chipset}/${filename_openwrt}-factory.bin
> ./bin/${filename_build}_factory.bin +        cp
> $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin
> ./bin/${filename_build}_sysupgrade.bin +    done }
> 
> board_clean() { diff --git a/bsp/board_wdr4300.bsp
> b/bsp/board_wdr4300.bsp index 7e6c66e..025219c 100644 ---
> a/bsp/board_wdr4300.bsp +++ b/bsp/board_wdr4300.bsp @@ -1,28 +1,31
> @@ machine=wdr4300 +chipset=ar71xx target=$builddir/$machine 
> +boards=( +    tl-wdr3500-v1 +    tl-wdr3600-v1 +    tl-wdr4300-v1 
> +    tl-wdr4310-v1 +)
> 
> board_prepare() { -	echo "nothing todo" > /dev/null +    echo
> "nothing todo" > /dev/null }
> 
> board_prebuild() { -	echo "nothing todo" > /dev/null +    echo
> "nothing todo" > /dev/null }
> 
> board_postbuild() { -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin
> ./bin/ +    for board in ${boards[@]}; do +
> filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs +
> filename_build=fff-${community}_${version}_${board}
> 
> -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
> ./bin/ - -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-factory.bin
> ./bin/ -    cp
> $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin
> ./bin/ +        cp
> $target/bin/${chipset}/${filename_openwrt}-factory.bin
> ./bin/${filename_build}_factory.bin +        cp
> $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin
> ./bin/${filename_build}_sysupgrade.bin +    done }
> 
> board_clean() { -	/bin/rm -rf $target bin/*$machine* -} \ No
> newline at end of file +    /bin/rm -rf $target bin/*$machine* +} 
> diff --git a/bsp/board_wdr4900.bsp b/bsp/board_wdr4900.bsp index
> 777b3b5..5c0d6fb 100644 --- a/bsp/board_wdr4900.bsp +++
> b/bsp/board_wdr4900.bsp @@ -1,5 +1,9 @@ machine=wdr4900 
> +chipset=mpc85xx target=$builddir/$machine +boards=( +
> tl-wdr4900-v1 +)
> 
> board_prepare() { echo "nothing todo" > /dev/null @@ -10,10 +14,15
> @@ board_prebuild() { }
> 
> board_postbuild() { -    cp
> $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin
> ./bin/ -    cp
> $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin
> ./bin/ +    for board in ${boards[@]}; do +
> filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs +
> filename_build=fff-${community}_${version}_${board} + +        cp
> $target/bin/${chipset}/${filename_openwrt}-factory.bin
> ./bin/${filename_build}_factory.bin +        cp
> $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin
> ./bin/${filename_build}_sysupgrade.bin +    done }
> 
> board_clean() { /bin/rm -rf $target bin/*$machine* -} \ No newline
> at end of file +} diff --git
> a/bsp/default/root_file_system/etc/config/firmware.tpl
> b/bsp/default/root_file_system/etc/config/firmware.tpl index
> 1c2e7d6..13c8408 100644 ---
> a/bsp/default/root_file_system/etc/config/firmware.tpl +++
> b/bsp/default/root_file_system/etc/config/firmware.tpl @@ -1,4 +1,7
> @@ +config info 'info' +	option community '${COMMUNITY_NAME}' + 
> config upgrade 'upgrade' option path '${UPGRADE_PATH}' option auto
> 0 -	option remote 1 \ No newline at end of file +	option remote 1 
> diff --git a/bsp/default/root_file_system/etc/sysupgrade.sh
> b/bsp/default/root_file_system/etc/sysupgrade.sh index
> e954514..4d70437 100755 ---
> a/bsp/default/root_file_system/etc/sysupgrade.sh +++
> b/bsp/default/root_file_system/etc/sysupgrade.sh @@ -1,21 +1,25 @@ 
> #!/bin/sh +cd /tmp/
> 
> -BOARD=`uci get board.model.name` +COMMUNITY=`uci get
> firmware.info.community`
> 
> -case $BOARD in -    tl-wdr4900-v1 ) -        SOC="mpc85xx" ;; -
> * ) -        SOC="ar71xx" ;; -esac +BOARD=`uci get
> board.model.name` +echo -ne "\nHardware: $BOARD\n"
> 
> -FILE="openwrt-${SOC}-generic-${BOARD}-squashfs-sysupgrade.bin" 
> +wget $(uci get firmware.upgrade.path)/release.nfo +if [ ! -f
> release.nfo ]; then +  echo -ne "Last release info not found.
> Please try to update manually.\n\n" +  exit 1 +fi +VERSION=`cat
> release.nfo | grep -Po '(?<=^VERSION:).*'` +rm -f release.nfo +echo
> -ne "Firmware found on server: $VERSION\n"
> 
> -echo -ne "\nHardware: $BOARD\n" 
> +FILE="fff-${COMMUNITY}_${VERSION}_${BOARD}-sysupgrade.bin" echo
> -ne "Downloading $FILE\n\n" -cd /tmp/ wget $(uci get
> firmware.upgrade.path)/${FILE} wget $(uci get
> firmware.upgrade.path)/${FILE}.md5 + echo -ne "\ndone. Comparing
> md5 sums: " md5sum -c ${FILE}.md5 ret=$? @@ -32,4 +36,4 @@ else 
> [Nn]|* ) echo -ne "\nAborting firmware upgrade.\n\n"; rm -f
> ${FILE}*; exit 0;; esac done -fi \ No newline at end of file +fi 
> diff --git a/buildscript b/buildscript index ec9ae64..9f6b57b
> 100755 --- a/buildscript +++ b/buildscript @@ -272,6 +272,15 @@
> config() {
> 
> postbuild() { board_postbuild + +    # generate release.nfo +
> RELEASE_NFO="./bin/release.nfo" +    touch $RELEASE_NFO +    # add
> version info at the top of the file; needed by etc/sysupgrade.sh +
> echo -e "VERSION:$version\n\n" > $RELEASE_NFO +    # add alle
> commits since the last tag +    echo -e "Commits since last
> release:\n" >> $RELEASE_NFO +    git log `git describe --tags
> --abbrev=0`..HEAD --format=short >> $RELEASE_NFO }
> 
> clean() { diff --git a/community/aux.cfg b/community/aux.cfg index
> b1b921f..c1dd894 100644 --- a/community/aux.cfg +++
> b/community/aux.cfg @@ -1,3 +1,4 @@ +COMMUNITY_NAME=aux 
> BATMAN_CHANNEL=1 BATMAN_CHANNEL_5GHZ=36 
> ESSID_AP=aux.franken.freifunk.net diff --git
> a/community/franken.cfg b/community/franken.cfg index
> 833e98e..73f30c4 100644 --- a/community/franken.cfg +++
> b/community/franken.cfg @@ -1,3 +1,4 @@ +COMMUNITY_NAME=franken 
> BATMAN_CHANNEL=1 BATMAN_CHANNEL_5GHZ=36 
> ESSID_AP=franken.freifunk.net @@ -5,4 +6,4 @@
> ESSID_MESH=batman.franken.freifunk.net 
> BSSID_MESH=02:CA:FF:EE:BA:BE VPN_PROJECT=fff 
> NTPD_IP=fe80::ff:feee:1%br-mesh 
> -UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/current
>
> 
+UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/franken/current
> 

- -- 
Freifunk-Franken, Förderverein Freie Netzwerke e.V.
eMail: freifunk at wunschik.net
XMPP : delphiN at jabber.ccc.de

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iQIcBAEBAgAGBQJWr+feAAoJEGuH2dOBPapC3wMP/Rvtip3QIw6WZaquL+NexqAE
GxQDacys8l9Ia4YqeAf2xTobp0SnhCxC5eHRln7xmdjao/V8Ou6HuT/KpNk/gLLv
ouRNwM8Pcd5eOOVOIuJXEEHSJ8K05hCVUYEGkxuEfUcSnTlAkOckd5+hjZMwTO2D
BdM34dQ5dlA0EyeZRlDJgfDzxWIG3fC/ifVqtLsEAzP5iLL0+qkMC/TKGfVRrhXj
iE2+wzvXsaxJuOHvMl7BRYJFkI5v6xBnd/RyKYE3ZCYL8AnszFQN0XBL+rZVpHjc
GFAe4f6WZbp84MiaRSZxy25IYlvtfyfzPDasMKMpJsvV/yPGKZuyYwHWR3LVyNGc
n4xPshmfZKeAVFtzDAnvrVg8ucsEsmhr6dj5XG6C6nb1f/t2+b85FIyikIerWLdb
oRMyV7ANcqf+xMBFzu1u/rUYnzJgsl2OD+kbd4jasPNj2eFSYwbDWahJPtG0w3Dj
ZTcevg03O7JG4nF64yz16I20JC0ZGSkdQ4Jw4tSdVkeEYEFDdmUo74z9uLF0ihgg
XMj8+6lzKU/NW9Ggdw1aqJjjXoD9dWKIkq06tRBXXC9LznEfYA2bhsxdfdagbH3K
c+Pg42kkRwIKqwk7X+w9b6XW3JzzcX1clz9ZOjivMLMQD+NZzUZJq3aISHkt3xnC
ZVE2KLAhvTOvbDYU6AIF
=IDKG
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste franken-dev