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

Submitted by Jan Kraus on March 24, 2016, 8:56 p.m.

Details

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

Commit Message

Jan Kraus March 24, 2016, 8:56 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                                    | 17 +++++++--
 5 files changed, 62 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..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

Comments

Tim Niemeyer April 4, 2016, 4:35 p.m.
Hi Jan

Ich wünschte ich hätte nix gefunden. Du quälst dich schon echt lang mit
dem Patchset. Abseits einer etwas grundsätzlichen Frage sind es aber von
mir noch (wichtige) "Kleinigkeiten".

Am Donnerstag, den 24.03.2016, 21:56 +0100 schrieb Jan Kraus:
> 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                                    | 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*
> -}
Es wäre schön, wenn hier im Commit-Log stehen würde, dass auch das
board_clean mit diesem Patch entfernt wird.

> 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*
> -}
Es wäre schön, wenn hier im Commit-Log stehen würde, dass auch das
board_clean mit diesem Patch entfernt wird.

> \ 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*
> -}
Es wäre schön, wenn hier im Commit-Log stehen würde, dass auch das
board_clean mit diesem Patch entfernt wird.

> \ 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"

Das dürfte dann vermutlich so aussehen:
"fff-fff_20160505_tl-wdr4900-v1-sysupgrade.bin"

Das passt noch nicht ganz zu dem Beispiel unten. Das erste "fff-" müsste
weg.

>  echo -ne "Downloading $FILE\n\n"
> -cd /tmp/
>  wget $(uci get firmware.upgrade.path)/${FILE}
>  wget $(uci get firmware.upgrade.path)/${FILE}.md5
Diese Datei wird nicht bei dem buildrelease() erzeugt.

> +
>  echo -ne "\ndone. Comparing md5 sums: "
>  md5sum -c ${FILE}.md5
Wir könnten an dieser Stelle (wenn das sha256 tool da ist) auch gleich
sha256 prüfen. Das wäre dann ja in dieser Version bereits immer
vorhanden.

>  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
Angenommen:
image="openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin"
community="fff"
version="20160505"
chipset="mpc85xx"

> +        filename_build=${image//openwrt/${community}_${version}}
Dann kommt hier raus:
fff_20160505-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin

> +        filename_build=${filename_build#${chipset}}
Hier raus:
fff_20160505-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin

Zum einen scheint mir das mit dem Chipset keinen Effekt zu haben, zum
weiß ich nicht genau was du damit machen willst? Soll es das
"-mpc85xx-generic" entfernen, damit es zum Namen oben passt?

Das wäre dann vermutlich sowas: ${filename_build/-${chipset}-generic/}

Danach möchtest du vllt noch das squashfs entfernen:
${filename_build/-squashfs/}

Nun deckt es sich mit deinen Vorstellungen von oben:
fff_20160505-tl-wdr4900-v1-sysupgrade.bin

Grundsätzlich stelle ich aber mal die Frage in den Raum, ob wir solche
Sachen wir "generic" und "squashfs" wirklich pauschal entfernen wollen?
Was ist, wenn wir eine Platform haben, wo anstelle des squasfs mal ein
jffs2 oder ein ext2 steht? Sollte man das nicht noch unterscheiden
können? Wofür das generic genau steht weiß ich aus dem Stehgreif nicht,
hab nur ein Verdacht. Aber ich denke das hat eine sinnvolle und wichtige
Bedeutung, sonst wäre es vermutlich nicht da. ;)

> +        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
>  }

Da du in Patch3 die Notwenigkeit von postbuild() anzweifelst, würde ich
vorschlagen, du entfernst das bereits in diesem Pach, da
board_postbuild() in diesem Patch überall entfernt wurde.

Tim

>  
>  clean() {
> -    board_clean
>      /bin/rm -rf bin $builddir src/openwrt
>  
>      # remove downloaded package feeds
> -- 
> 2.1.4
>