[PATCH v3] use custom names for binary builds. fixes #9
Steffen Pankratz
kratz00 at gmx.de
Do Mär 10 19:31:27 CET 2016
On Wed, 9 Mar 2016 19:00:56 +0100
Jan Kraus <mayosemmel at googlemail.com> wrote:
Hi Jan,
danke fuer die Aktualisierung.
Mir sind noch ein paar Sachen aufgefallen.
Auf einige Anmerkungen aus meiner ersten Mail bist du nicht eingegangen.
> From: mojoaxel <alex at wunschik.net>
>
> Signed-off-by: mojoaxel <alex at wunschik.net>
> Signed-off-by: Jan Kraus <mayosemmel at gmail.com>
> ---
> bsp/board_ar71xx.bsp | 52 +++++++++++-----------
> bsp/board_wdr4300.bsp | 30 ++++++-------
> bsp/board_wdr4900.bsp | 16 ++++---
> .../root_file_system/etc/config/firmware.tpl | 5 ++-
> bsp/default/root_file_system/etc/sysupgrade.sh | 27 ++++++-----
> buildscript | 6 ++-
> community/aux.cfg | 1 +
> community/franken.cfg | 1 +
> 8 files changed, 78 insertions(+), 60 deletions(-)
>
> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> index 4876631..2194d50 100644
> --- a/bsp/board_ar71xx.bsp
> +++ b/bsp/board_ar71xx.bsp
> @@ -1,5 +1,24 @@
> machine=ar71xx
> +chipset=ar71xx
> target=$builddir/$machine
> +boards=(
> + ubnt-nano-m
> + ubnt-loco-m-xw
> + tl-wr740n-v4
> + tl-wr741nd-v2
> + tl-wr741nd-v4
> + tl-wr841nd-v7
> + tl-wr841n-v8
> + tl-wr841n-v9
> + tl-wr841n-v10
> + tl-wr842n-v2
> + tl-wr1043nd-v1
> + tl-wr1043nd-v2
> + tl-wr1043nd-v3
> + tl-wa850re-v1
> + tl-wa860re-v1
> + gl-ar150
> +)
>
> board_prepare() {
> echo "nothing todo" > /dev/null
> @@ -10,32 +29,11 @@ board_prebuild() {
> }
>
> board_postbuild() {
> - cp $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-*.bin ./bin/
> + for board in ${boards[@]}; do
> + filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs
> + filename_build=fff-${community}_${version}_${board}
>
> - 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*
> + cp $target/bin/${chipset}/${filename_openwrt}-factory.bin ./bin/${filename_build}_factory.bin
> + cp $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin ./bin/${filename_build}_sysupgrade.bin
> + done
> }
> diff --git a/bsp/board_wdr4300.bsp b/bsp/board_wdr4300.bsp
> index 7e6c66e..f2821ae 100644
> --- a/bsp/board_wdr4300.bsp
> +++ b/bsp/board_wdr4300.bsp
> @@ -1,28 +1,28 @@
> machine=wdr4300
> +chipset=ar71xx
> target=$builddir/$machine
> +boards=(
> + tl-wdr3500-v1
> + tl-wdr3600-v1
> + tl-wdr4300-v1
> + tl-wdr4310-v1
> +)
>
> 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/
> + for board in ${boards[@]}; do
> + filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs
> + filename_build=fff-${community}_${version}_${board}
>
> - 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/
> + cp $target/bin/${chipset}/${filename_openwrt}-factory.bin ./bin/${filename_build}_factory.bin
> + cp $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin ./bin/${filename_build}_sysupgrade.bin
> + done
> }
>
> -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..4954739 100644
> --- a/bsp/board_wdr4900.bsp
> +++ b/bsp/board_wdr4900.bsp
> @@ -1,5 +1,9 @@
> machine=wdr4900
> +chipset=mpc85xx
> target=$builddir/$machine
> +boards=(
> + tl-wdr4900-v1
> +)
>
> board_prepare() {
> echo "nothing todo" > /dev/null
> @@ -10,10 +14,12 @@ board_prebuild() {
> }
>
> 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/
> + for board in ${boards[@]}; do
> + filename_openwrt=openwrt-${chipset}-generic-${board}-squashfs
> + filename_build=fff-${community}_${version}_${board}
> +
> + cp $target/bin/${chipset}/${filename_openwrt}-factory.bin ./bin/${filename_build}_factory.bin
> + cp $target/bin/${chipset}/${filename_openwrt}-sysupgrade.bin ./bin/${filename_build}_sysupgrade.bin
> + done
> }
>
> -board_clean() {
> - /bin/rm -rf $target bin/*$machine*
> -}
> \ No newline at end of file
> diff --git a/bsp/default/root_file_system/etc/config/firmware.tpl b/bsp/default/root_file_system/etc/config/firmware.tpl
> index 1c2e7d6..13c8408 100644
> --- a/bsp/default/root_file_system/etc/config/firmware.tpl
> +++ b/bsp/default/root_file_system/etc/config/firmware.tpl
> @@ -1,4 +1,7 @@
> +config info 'info'
> + option community '${COMMUNITY_NAME}'
> +
> config upgrade 'upgrade'
> option path '${UPGRADE_PATH}'
> option auto 0
> - option remote 1
> \ No newline at end of file
> + option remote 1
Fuer was schreibst du hier die Community rein?
Im Skript sysupgrade.sh nimmst du die Information
aus /etc/firmware_release
Ist doch doppelt gemoppelt, oder?
> diff --git a/bsp/default/root_file_system/etc/sysupgrade.sh b/bsp/default/root_file_system/etc/sysupgrade.sh
> index e954514..86886a8 100755
> --- a/bsp/default/root_file_system/etc/sysupgrade.sh
> +++ b/bsp/default/root_file_system/etc/sysupgrade.sh
> @@ -1,21 +1,26 @@
> #!/bin/sh
> +cd /tmp/
>
> -BOARD=`uci get board.model.name`
> +. /etc/firmware_release
> +COMMUNITY=$FIRMWARE_COMMUNITY
Diese Extra Variable braucht es nicht, du kannst im Skript einfach ueberall $FIRMWARE_COMMUNITY verwenden.
> -case $BOARD in
> - tl-wdr4900-v1 )
> - SOC="mpc85xx" ;;
> - * )
> - SOC="ar71xx" ;;
> -esac
> +BOARD=`uci get board.model.name`
Ich weiss, du hast die Zeile nur kopiert, aber wenn du schon dabei bist,
hier bitte auch mal `cmd` in das "Neue" $(cmd) aendern, Danke :)
> +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"
Hier fehlt mir noch Rueckmeldungen zu meiner Anmerkung aus der ersten Mail.
> -echo -ne "\nHardware: $BOARD\n"
> +FILE="fff-${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 +37,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 dd68254..0c92259 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -272,10 +272,14 @@ config() {
>
> postbuild() {
> board_postbuild
> +
> + # generate current_version
> + RELEASE_NFO="./bin/release.nfo"
> + # add version info at the top of the file; needed by etc/sysupgrade.sh
> + echo -e "VERSION:$version\n\n" > $RELEASE_NFO
Meiner Meinung nach macht die Variable RELEASE_NFO hier nicht viel Sinn,
da kann man das "echo" auch direkt machen.
> }
>
> clean() {
> - board_clean
> /bin/rm -rf bin $builddir src/openwrt
>
> # remove downloaded package feeds
> diff --git a/community/aux.cfg b/community/aux.cfg
> index b1b921f..c1dd894 100644
> --- a/community/aux.cfg
> +++ b/community/aux.cfg
> @@ -1,3 +1,4 @@
> +COMMUNITY_NAME=aux
> BATMAN_CHANNEL=1
> BATMAN_CHANNEL_5GHZ=36
> ESSID_AP=aux.franken.freifunk.net
> diff --git a/community/franken.cfg b/community/franken.cfg
> index 833e98e..484d82a 100644
> --- a/community/franken.cfg
> +++ b/community/franken.cfg
> @@ -1,3 +1,4 @@
> +COMMUNITY_NAME=franken
> BATMAN_CHANNEL=1
> BATMAN_CHANNEL_5GHZ=36
> ESSID_AP=franken.freifunk.net
Die Aenderungen sind meiner Meinung nach nicht noetig.
Siehe Kommentar oben @ Community und "doppelt gemoppelt".
Gruss
-Steffen
--
Hermes powered by Manjaro Linux (Linux 4.4.4)
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/20160310/eb7731f1/attachment-0002.sig>
Mehr Informationen über die Mailingliste franken-dev