[PATCH v8 1/3] use custom names for binary builds. fixes #9
Steffen Pankratz
kratz00 at gmx.de
So Mär 20 11:43:33 CET 2016
On Thu, 17 Mar 2016 18:41:33 +0100
Jan Kraus <mayosemmel at googlemail.com> wrote:
Hi Jan,
meine Anmerkungen findest du wie immer 'inline'.
> 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 | 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.
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 181 bytes
Beschreibung: OpenPGP digital signature
URL : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20160320/cf2c3ee6/attachment-0002.sig>
Mehr Informationen über die Mailingliste franken-dev