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

Submitted by Jan Kraus on March 16, 2016, 10:13 p.m.

Details

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

Commit Message

Jan Kraus March 16, 2016, 10:13 p.m.
Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
---
 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

delphiN March 16, 2016, 11:10 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 16.03.2016 23:13, schrieb Jan Kraus:
> Signed-off-by: Jan Kraus <mayosemmel@gmail.com>

Ups! Da bin ich wohl unter den Tisch gefallen...

Ich hab die ganze Sache mit den custom names schon vor über 1,5 Jahren
vorgeschlagen und es ist nichts passiert.
Dann hab ich mich also hingesetzt und das Ding mal umgesetzt um zu
zeigen, das ich bereit bin konstruktiv mitzuarbeiten.
Nach einigem grummeln hab ich sogar ein reviewed von Tim bekommen.

Dann hab ich mir zusätzlich auch noch die Arbeit gemacht das
sysupgrade skript anzupassen und eine funktionierende Version
abgeliefert, die wohl noch kleine Bugs und geschmackliche Sachen
enthielt. Ich wollt mich dann mit Tim nicht länger herum-streiten und
habs wohl auch vergessen den gefixten Patch nochmal zu schicken (mist!).
Mein Patch wurde jetzt gefixt, geschmacklich angepasst und mit anderen
Patches erweitern. Grundlegend ist das aber Alles auf meinem Mist
gewachsen: Sowohl das namens-Schema, die Anpassung der BSPs, das
Umbenennen am Ende von Build-Prozess und sogar der update-Mechanismus
mit dem "release.nfo". Ok, Alles keine weltbewegenden Dinge aber eben
doch einige Arbeit.

Ich würde mich freuen, wenn dieser Patch weiterhin meine Namen tragen
würde und die ganze Stundenlange Arbeit nicht ganz umsonst für mich war.

delphiN

- -- 
Freifunk-Franken, Förderverein Freie Netzwerke e.V.
eMail: freifunk@wunschik.net
XMPP : delphiN@jabber.ccc.de

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iQIcBAEBAgAGBQJW6efcAAoJEGuH2dOBPapCBa8QAKDm7kGKqPWPrr8JcqKD01eG
Q8QsPAP6+qfmOv5jYT6mjx817ad0MgI5uVP4MlE8IrhS/8a/hOXtYg+Ys+q0KYXu
CMTsX8FLX8KF0SHTYrsIQ1+uVAOu9B2oKeSbBZLdInGNqDQfpx9Fmfg5HRclBQaa
Lw1U7CA7n9EP3J8UDDkEoVxdoX+ijFMFmxbj9FvaUQmof39GTAq+0lH7yl7kd6vl
1IAdT9g2AViM9/jqk7dZTqabzuFg7b/uAQjeAJHO2I4oowbM+hUo/O6mYPXVMXup
jeVXiiiQjPvW4yHcrU/JX0HuAkGZbR1D5pbmsO/xKShrhw15Cmp0KsWL9aSEHc+x
GlcH/Knvph7dlveyTIkjO+rWqY2nfL/EeJsvkSkX8UtMrU0h+BEY4ag72UXi2aBQ
JG/CtVh0Ki7mngMvOePsn3GOhLU7KKyn+yGD+ykXJ2M8we6GFFUkrrgJ+WElxw0M
aQydH82ZOUETlWHXA3XsBTUjE6Q8oDSWAkoZmDhv2xVDf1pviYwawpn/dl9glPRW
4RBhwIMA/mXNCl1xt+Ry42G/TJmlKVaBYYu7kdfTYLyzPDZXr8NXhidTtcxeJgTC
DgHOi9siLaE1T01QPz/sJIvPprTiem19n2L78a/AKJdkm9vF5xVa5krzXFoUHysu
fKfoCcePjTCGmUph6KWf
=5Jpg
-----END PGP SIGNATURE-----
Tobias Klaus March 17, 2016, 11:21 a.m.
Hey Jan,

ich denke hier würde ein "suggested-by:" Tag ganz gut passen.

Grüße
Tobias

On Donnerstag, 17. März 2016 00:10:21 CET delphiN wrote:
> Am 16.03.2016 23:13, schrieb Jan Kraus:
> > Signed-off-by: Jan Kraus <mayosemmel@gmail.com>
> 
> Ups! Da bin ich wohl unter den Tisch gefallen...
> 
> Ich hab die ganze Sache mit den custom names schon vor über 1,5 Jahren
> vorgeschlagen und es ist nichts passiert.
> Dann hab ich mich also hingesetzt und das Ding mal umgesetzt um zu
> zeigen, das ich bereit bin konstruktiv mitzuarbeiten.
> Nach einigem grummeln hab ich sogar ein reviewed von Tim bekommen.
> 
> Dann hab ich mir zusätzlich auch noch die Arbeit gemacht das
> sysupgrade skript anzupassen und eine funktionierende Version
> abgeliefert, die wohl noch kleine Bugs und geschmackliche Sachen
> enthielt. Ich wollt mich dann mit Tim nicht länger herum-streiten und
> habs wohl auch vergessen den gefixten Patch nochmal zu schicken (mist!).
> Mein Patch wurde jetzt gefixt, geschmacklich angepasst und mit anderen
> Patches erweitern. Grundlegend ist das aber Alles auf meinem Mist
> gewachsen: Sowohl das namens-Schema, die Anpassung der BSPs, das
> Umbenennen am Ende von Build-Prozess und sogar der update-Mechanismus
> mit dem "release.nfo". Ok, Alles keine weltbewegenden Dinge aber eben
> doch einige Arbeit.
> 
> Ich würde mich freuen, wenn dieser Patch weiterhin meine Namen tragen
> würde und die ganze Stundenlange Arbeit nicht ganz umsonst für mich war.
> 
> delphiN
> 
> --
> Freifunk-Franken, Förderverein Freie Netzwerke e.V.
> eMail: freifunk@wunschik.net
> XMPP : delphiN@jabber.ccc.de