[PATCH v11 1/3] use custom names for binary builds. fixes #9 also removed function board_clean from bsp files and board_postbuild from buildscript

Jan Kraus mayosemmel at googlemail.com
Di Apr 5 17:58:19 CEST 2016


Signed-off-by: Jan Kraus <mayosemmel at gmail.com>

suggested-by: Alexander Wunschik <freifunk at wunschik.net>
Co-Authored-By: Alexander Wunschik <freifunk at wunschik.net>

Co-Authored-By: Tobias Klaus <tk+ff at meskal.net>
---
 bsp/board_ar71xx.bsp                           | 49 ++++++++++----------------
 bsp/board_wdr4300.bsp                          | 29 +++++----------
 bsp/board_wdr4900.bsp                          | 14 +++-----
 bsp/default/root_file_system/etc/sysupgrade.sh | 20 ++++++++---
 buildscript                                    | 16 ++++++---
 5 files changed, 59 insertions(+), 69 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..0fd4061 100755
--- a/bsp/default/root_file_system/etc/sysupgrade.sh
+++ b/bsp/default/root_file_system/etc/sysupgrade.sh
@@ -1,21 +1,31 @@
 #!/bin/sh
+cd /tmp/
 
-BOARD=`uci get board.model.name`
+. /etc/firmware_release
 
+BOARD=$(uci get board.model.name)
 case $BOARD in
     tl-wdr4900-v1 )
         SOC="mpc85xx" ;;
     * )
         SOC="ar71xx" ;;
 esac
+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=$(cat release.nfo|awk -F: '/VERSION:/ { print $2 }')
+rm -f release.nfo
+echo -ne "Firmware found on server: $VERSION\n"
 
-echo -ne "\nHardware: $BOARD\n"
+FILE="${FIRMWARE_COMMUNITY}-${VERSION}-${SOC}-generic-${BOARD}-squashfs-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 +42,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 13d773e..f916c6a 100755
--- a/buildscript
+++ b/buildscript
@@ -231,7 +231,7 @@ build() {
         mkdir bin
     fi
 
-    postbuild
+    cp_firmware
 }
 
 config() {
@@ -266,12 +266,20 @@ config() {
     cd "$opath"
 }
 
-postbuild() {
-    board_postbuild
+cp_firmware() {
+    for image in ${images[@]}; do
+        filename_build=${image//openwrt/${community}-${version}}
+        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
 }
 
 clean() {
-    board_clean
     /bin/rm -rf bin $builddir src/openwrt
 
     # remove downloaded package feeds
-- 
2.1.4




Mehr Informationen über die Mailingliste franken-dev