[v8,1/3] use custom names for binary builds. fixes #9

Submitted by Jan Kraus on March 17, 2016, 5:41 p.m.

Details

Message ID 1458236495-24624-2-git-send-email-mayosemmel@gmail.com
State Superseded, archived
Headers show

Commit Message

Jan Kraus March 17, 2016, 5:41 p.m.
Signed-off-by: Jan Kraus <mayosemmel@gmail.com>

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

Co-Authored-By: Tobias Klaus <tk+ff@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 | 26 ++++++++------
 buildscript                                    | 19 ++++++++--
 5 files changed, 64 insertions(+), 73 deletions(-)

Patch hide | download patch | download mbox

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..ded4c82 100755
--- a/buildscript
+++ b/buildscript
@@ -268,12 +268,27 @@  config() {
     cd "$opath"
 }
 
+cp_firmware() {
+    for image in ${images[@]}; do
+        filename_build=$(echo $image | sed -e "s/openwrt/${community}_${version}/")
+        if [[ -n "$chipset" ]] ; then
+          filename_build=$(echo $filename_build | sed -e "s/${chipset}//")
+        fi
+        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"
+
+        image_factory="$(echo $image | sed -e 's/sysupgrade/factory/')"
+        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then
+          filename_build_factory="$(echo $filename_build | sed -e 's/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

Comments

Steffen Pankratz March 20, 2016, 10:43 a.m.
On Thu, 17 Mar 2016 18:41:33 +0100
Jan Kraus <mayosemmel@googlemail.com> wrote:

Hi Jan,

meine Anmerkungen findest du wie immer 'inline'.


> Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
> 
> suggested-by: Alexander Wunschik <freifunk@wunschik.net>
> Co-Authored-By: Alexander Wunschik <freifunk@wunschik.net>
> 
> Co-Authored-By: Tobias Klaus <tk+ff@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 | 26 ++++++++------
>  buildscript                                    | 19 ++++++++--
>  5 files changed, 64 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..ded4c82 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -268,12 +268,27 @@ config() {
>      cd "$opath"
>  }
>  
> +cp_firmware() {
> +    for image in ${images[@]}; do
> +        filename_build=$(echo $image | sed -e "s/openwrt/${community}_${version}/")
> +        if [[ -n "$chipset" ]] ; then
> +          filename_build=$(echo $filename_build | sed -e "s/${chipset}//")
> +        fi

Mir ist nicht klar fuer was die "Chipset"-Abfrage gut ist, da Chipset doch immer gesetzt ist.
Wieso hast du ueberhaupt das ganze Umbenennen der Images von v7 auf v8 geaendert?
Die Variante in v7 mit den "Board"-Namen erschien mir deutlich schlanker.
Habe ich Einwaende von anderen verpasst?

Noch als Tipp, es geht mit Bash auch ohne sed, Beispiel:

string="stirng" ; echo "${string//ir/ri}"


> +        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"
> +
> +        image_factory="$(echo $image | sed -e 's/sysupgrade/factory/')"
> +        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then
> +          filename_build_factory="$(echo $filename_build | sed -e 's/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
> -- 
> 2.1.4


Gruss
-Steffen
Tobias Klaus March 20, 2016, 1:28 p.m.
Hey Steffen,

den fraglichen Teil hab ich an der ML vorbei beigesteuert, da ich Jan nicht verbal mit meinen Vorstellungen nerven wollte sondern  lieber mit Umsetzung.

Hintergrund war, das sich einige image Namen nicht in das bisherige Schema pressen lassen. So ist zum Beispiel squashfs nur ein qulifier und nicht immer vorhanden. Ich von grad unterwegs und kann nicht nach schauen, aber der dateiname für das banana pi Router board ist ein gutes Beispiel.

Du hast aber recht. Chipset gibt es immer und sollte auch gesetzt werden und wenn bash das mit Hausmittel kann(wieder was gelernt) dann nehmen wir lieber die.

Ich mach das dann.

Grüße
Tobias

Am 20. März 2016 11:43:33 MEZ, schrieb Steffen Pankratz <kratz00@gmx.de>:
>On Thu, 17 Mar 2016 18:41:33 +0100
>Jan Kraus <mayosemmel@googlemail.com> wrote:
>
>Hi Jan,
>
>meine Anmerkungen findest du wie immer 'inline'.
>
>
>> Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
>> 
>> suggested-by: Alexander Wunschik <freifunk@wunschik.net>
>> Co-Authored-By: Alexander Wunschik <freifunk@wunschik.net>
>> 
>> Co-Authored-By: Tobias Klaus <tk+ff@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 | 26 ++++++++------
>>  buildscript                                    | 19 ++++++++--
>>  5 files changed, 64 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..ded4c82 100755
>> --- a/buildscript
>> +++ b/buildscript
>> @@ -268,12 +268,27 @@ config() {
>>      cd "$opath"
>>  }
>>  
>> +cp_firmware() {
>> +    for image in ${images[@]}; do
>> +        filename_build=$(echo $image | sed -e
>"s/openwrt/${community}_${version}/")
>> +        if [[ -n "$chipset" ]] ; then
>> +          filename_build=$(echo $filename_build | sed -e
>"s/${chipset}//")
>> +        fi
>
>Mir ist nicht klar fuer was die "Chipset"-Abfrage gut ist, da Chipset
>doch immer gesetzt ist.
>Wieso hast du ueberhaupt das ganze Umbenennen der Images von v7 auf v8
>geaendert?
>Die Variante in v7 mit den "Board"-Namen erschien mir deutlich
>schlanker.
>Habe ich Einwaende von anderen verpasst?
>
>Noch als Tipp, es geht mit Bash auch ohne sed, Beispiel:
>
>string="stirng" ; echo "${string//ir/ri}"
>
>
>> +        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"
>> +
>> +        image_factory="$(echo $image | sed -e
>'s/sysupgrade/factory/')"
>> +        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then
>> +          filename_build_factory="$(echo $filename_build | sed -e
>'s/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
>> -- 
>> 2.1.4
>
>
>Gruss
>-Steffen
>
>-- 
>Hermes powered by Manjaro Linux (Linux 4.4.5)
>
>Best regards, Steffen Pankratz.
>
>
>------------------------------------------------------------------------
>
>-- 
>franken-dev mailing list
>franken-dev@freifunk.net
>http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Jan Kraus March 20, 2016, 2:53 p.m.
Hi Tobias,

bin grad auch nur mobil dabei.
Brauchst nichts machen, die 2 kleinen Anmerkungen arbeite ich da noch ein. 
Gruß Jan

Gesendet von meinem Windows 10 Phone

Von: Tobias Klaus
Gesendet: Sonntag, 20. März 2016 14:28
An: Steffen Pankratz; franken-dev@freifunk.net
Betreff: Re: [PATCH v8 1/3] use custom names for binary builds. fixes #9

Hey Steffen,

den fraglichen Teil hab ich an der ML vorbei beigesteuert, da ich Jan nicht verbal mit meinen Vorstellungen nerven wollte sondern lieber mit Umsetzung.

Hintergrund war, das sich einige image Namen nicht in das bisherige Schema pressen lassen. So ist zum Beispiel squashfs nur ein qulifier und nicht immer vorhanden. Ich von grad unterwegs und kann nicht nach schauen, aber der dateiname für das banana pi Router board ist ein gutes Beispiel.

Du hast aber recht. Chipset gibt es immer und sollte auch gesetzt werden und wenn bash das mit Hausmittel kann(wieder was gelernt) dann nehmen wir lieber die.

Ich mach das dann.

Grüße
Tobias
Am 20. März 2016 11:43:33 MEZ, schrieb Steffen Pankratz <kratz00@gmx.de>:
On Thu, 17 Mar 2016 18:41:33 +0100
Jan Kraus <mayosemmel@googlemail.com> wrote:

Hi Jan,

meine Anmerkungen findest du wie immer 'inline'.

 Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
 
 suggested-by: Alexander Wunschik <freifunk@wunschik.net>
 Co-Authored-By: Alexander Wunschik <freifunk@wunschik.net>
 
 Co-Authored-By: Tobias Klaus <tk+ff@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 | 26 ++++++++------
  buildscript                             !
        |
19 ++++++++--
  5 files changed, 64 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..ded4c82 100755
 --- a/buildscript
 +++ b/buildscript
 @@ -268,12 +268,27 @@ config() {
      cd "$opath"
  }
  
 +cp_firmware() {
 +    for image in ${images[@]}; do
 +        filename_build=$(echo $image | sed -e "s/openwrt/${community}_${version}/")
 +        if [[ -n "$chipset" ]] ; then
 +          filename_build=$(echo $filename_build | sed -e "s/${chipset}//")
 +        fi

Mir ist nicht klar fuer was die "Chipset"-Abfrage gut ist, da Ch!
 ipset
doch immer gesetzt ist.
Wieso hast du ueberhaupt das ganze Umbenennen der Images von v7 auf v8 geaendert?
Die Variante in v7 mit den "Board"-Namen erschien mir deutlich schlanker.
Habe ich Einwaende von anderen verpasst?

Noch als Tipp, es geht mit Bash auch ohne sed, Beispiel:

string="stirng" ; echo "${string//ir/ri}"

 +        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"
 +
 +        image_factory="$(echo $image | sed -e 's/sysupgrade/factory/')"
 +        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then
 +          filename_build_factory="$(echo $filename_build | sed -e 's/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
 -- 
 2.1.4


Gruss
-Steffen