From patchwork Sun Mar 20 22:18:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v9,1/3] use custom names for binary builds. fixes #9 From: Jan Kraus X-Patchwork-Id: 31 Message-Id: <1458512292-14687-2-git-send-email-mayosemmel@gmail.com> To: franken-dev@freifunk.net Cc: Jan Kraus Date: Sun, 20 Mar 2016 23:18:10 +0100 Signed-off-by: Jan Kraus suggested-by: Alexander Wunschik Co-Authored-By: Alexander Wunschik Co-Authored-By: Tobias Klaus --- bsp/board_ar71xx.bsp | 49 ++++++++++---------------- bsp/board_wdr4300.bsp | 29 +++++---------- bsp/board_wdr4900.bsp | 14 +++----- bsp/default/root_file_system/etc/sysupgrade.sh | 26 ++++++++------ buildscript | 17 +++++++-- 5 files changed, 62 insertions(+), 73 deletions(-) diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp index 4876631..1834d16 100644 --- a/bsp/board_ar71xx.bsp +++ b/bsp/board_ar71xx.bsp @@ -1,5 +1,23 @@ machine=ar71xx +chipset=ar71xx target=$builddir/$machine +images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-gl-ar150-squashfs-sysupgrade.bin" + ) board_prepare() { echo "nothing todo" > /dev/null @@ -8,34 +26,3 @@ board_prepare() { board_prebuild() { echo "nothing todo" > /dev/null } - -board_postbuild() { - cp $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-*.bin ./bin/ - - 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/ -} - -board_clean() { - /bin/rm -rf $target bin/*$machine* -} diff --git a/bsp/board_wdr4300.bsp b/bsp/board_wdr4300.bsp index 7e6c66e..514d589 100644 --- a/bsp/board_wdr4300.bsp +++ b/bsp/board_wdr4300.bsp @@ -1,28 +1,17 @@ machine=wdr4300 +chipset=ar71xx target=$builddir/$machine +images=( + "openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin" + "openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin" + ) 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/ - - 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/ -} - -board_clean() { - /bin/rm -rf $target bin/*$machine* -} \ No newline at end of file diff --git a/bsp/board_wdr4900.bsp b/bsp/board_wdr4900.bsp index 777b3b5..5428d82 100644 --- a/bsp/board_wdr4900.bsp +++ b/bsp/board_wdr4900.bsp @@ -1,6 +1,11 @@ machine=wdr4900 +chipset=mpc85xx target=$builddir/$machine +images=( + "openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin" + ) + board_prepare() { echo "nothing todo" > /dev/null } @@ -8,12 +13,3 @@ board_prepare() { board_prebuild() { echo "nothing todo" > /dev/null } - -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/ -} - -board_clean() { - /bin/rm -rf $target bin/*$machine* -} \ No newline at end of file diff --git a/bsp/default/root_file_system/etc/sysupgrade.sh b/bsp/default/root_file_system/etc/sysupgrade.sh index e954514..a90164d 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` +. /etc/firmware_release -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 "Latest release information not found. Please try to update manually.\n\n" + exit 1 +fi +VERSION=$(grep -Po '(?<=^VERSION:).*' release.nfo) +rm -f release.nfo +echo -ne "Firmware found on server: $VERSION\n" -echo -ne "\nHardware: $BOARD\n" +FILE="fff-${FIRMWARE_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 fcc3f3d..cf7ff60 100755 --- a/buildscript +++ b/buildscript @@ -268,12 +268,25 @@ config() { cd "$opath" } +cp_firmware() { + for image in ${images[@]}; do + filename_build=${image//openwrt/${community}_${version}} + filename_build=${filename_build#${chipset}} + cp "$target/bin/${chipset}/$image" "./bin/$filename_build" + + image_factory=${image/sysupgrade/factory} + if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then + filename_build_factory=${filename_build/sysupgrade/factory} + cp "$target/bin/${chipset}/$image_factory" "./bin/$filename_build_factory" + fi + done +} + postbuild() { - board_postbuild + cp_firmware } clean() { - board_clean /bin/rm -rf bin $builddir src/openwrt # remove downloaded package feeds