<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLVorformatiertZchn
        {mso-style-name:"HTML Vorformatiert Zchn";
        mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Tobias,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>bin grad auch nur mobil dabei.</p><p class=MsoNormal>Brauchst nichts machen, die 2 kleinen Anmerkungen arbeite ich da noch ein. </p><p class=MsoNormal>Gruß Jan<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gesendet von meinem Windows 10 Phone</p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>Von: </b><a href="mailto:tk+ff@meskal.net">Tobias Klaus</a><br><b>Gesendet: </b>Sonntag, 20. März 2016 14:28<br><b>An: </b><a href="mailto:kratz00@gmx.de">Steffen Pankratz</a>; <a href="mailto:franken-dev@freifunk.net">franken-dev@freifunk.net</a><br><b>Betreff: </b>Re: [PATCH v8 1/3] use custom names for binary builds. fixes #9</p></div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:12.0pt;font-family:"Times New Roman",serif'>Hey Steffen,<br><br>den fraglichen Teil hab ich an der ML vorbei beigesteuert, da ich Jan nicht verbal mit meinen Vorstellungen nerven wollte sondern lieber mit Umsetzung.<br><br>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.<br><br>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.<br><br>Ich mach das dann.<br><br>Grüße<br>Tobias</span><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'>Am 20. März 2016 11:43:33 MEZ, schrieb Steffen Pankratz <kratz00@gmx.de>:<o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><pre style='margin-bottom:12.0pt'>On Thu, 17 Mar 2016 18:41:33 +0100<br>Jan Kraus <mayosemmel@googlemail.com> wrote:<br><br>Hi Jan,<br><br>meine Anmerkungen findest du wie immer 'inline'.<br><br></pre><blockquote style='border:none;border-left:solid #729FCF 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm;margin-bottom:6.0pt'><pre> Signed-off-by: Jan Kraus <mayosemmel@gmail.com><br> <br> suggested-by: Alexander Wunschik <freifunk@wunschik.net><br> Co-Authored-By: Alexander Wunschik <freifunk@wunschik.net><br> <br> Co-Authored-By: Tobias Klaus <tk+ff@meskal.net><br> ---<br>  bsp/board_ar71xx.bsp                           | 49 ++++++++++----------------<br>  bsp/board_wdr4300.bsp                          | 29 +++++----------<br>  bsp/board_wdr4900.bsp                          | 14 +++-----<br>  bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a> | 26 ++++++++------<br>  buildscript                             !</pre><pre>        |</pre><pre>19 ++++++++--<br>  5 files changed, 64 insertions(+), 73 deletions(-)<br> <br> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp<br> index 4876631..1834d16 100644<br> --- a/bsp/board_ar71xx.bsp<br> +++ b/bsp/board_ar71xx.bsp<br> @@ -1,5 +1,23 @@<br>  machine=ar71xx<br> +chipset=ar71xx<br>  target=$builddir/$machine<br> +images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"<br> +       </pre><pre>"openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-gl-ar150-squashfs-sysupgrade.bin"<br> +        )<br>  <br>  board_prepare() {<br>      echo "nothing todo" > /dev/null<br> @@ -8,34 +26,3 @@ board_prepare() {<br>  board_prebuild() {<br>      echo "nothing todo" > /dev/null<br>  }<br> -<br> -board_postbuild() {<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-*.bin ./bin/<br> -<br> -    cp</pre><pre>$target/bin/ar71xx/openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-*.bin ./bin/<br> -    cp</pre><pre>$target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v3-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa860re-v1-squashfs-*.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wa850re-v1-squashfs-*.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-gl-ar150-squashfs-*.bin ./bin/<br> -}<br> -<br> -board_clean() {<br> -    /bin/rm -rf $target bin/*$machine*<br> -}<br> diff --git a/bsp/board_wdr4300.bsp b/bsp/board_wdr4300.bsp<br> index 7e6c66e..514d589 100644<br> --- a/bsp/board_wdr4300.bsp<br> +++ b/bsp/board_wdr4300.bsp<br> @@ -1,28 +1,17 @@<br>  machine=wdr4300<br> +chipset=ar71xx<br>  target=$builddir/$machine<br> +images=(<br> +        "openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin"<br> +       </pre><pre>"openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin"<br> +        "openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin"<br> +       )<br>  <br>  board_prepare() {<br> - echo "nothing todo" > /dev/null<br> +    echo "nothing todo" > /dev/null<br>  }<br>  <br>  board_prebuild() {<br> - echo "nothing todo" > /dev/null<br> +    echo "nothing todo" > /dev/null<br>  }<br> -<br> -board_postbuild() {<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-sysupgrade.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-sysupgrade.bin ./bin/<br> -<br> -    cp</pre><pre>$target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin ./bin/<br> -<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-factory.bin ./bin/<br> -    cp $target/bin/ar71xx/openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-sysupgrade.bin ./bin/<br> -}<br> -<br> -board_clean() {<br> - /bin/rm -rf $target bin/*$machine*<br> -}<br> \ No newline at end of file<br> diff --git a/bsp/board_wdr4900.bsp b/bsp/board_wdr4900.bsp<br> index 777b3b5..5428d82 100644<br> --- a/bsp/board_wdr4900.bsp<br> +++ b/bsp/board_wdr4900.bsp<br> @@ -1,6 +1,11 @@<br>  machine=wdr4900<br> +chipset=mpc85xx<br>  target=$builddir/$machine<br>  <br> +images=(<br> +        "openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin"<br> +       )<br> +<br>  board_prepare() {<br>   echo "nothing todo" > /dev/null<br>!</pre><pre>   }<br> @@ -8,12 +13,3 @@ board_prepare() {<br>  board_prebuild() {<br>   echo "nothing todo" > /dev/null<br>  }<br> -<br> -board_postbuild() {<br> -    cp $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin ./bin/<br> -    cp $target/bin/mpc85xx/openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin ./bin/<br> -}<br> -<br> -board_clean() {<br> - /bin/rm -rf $target bin/*$machine*<br> -}<br> \ No newline at end of file<br> diff --git a/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a> b/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br> index e954514..a90164d 100755<br> --- a/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br> +++ b/bsp/default/root_file_system/etc/<a href="http://sysupgrade.sh">sysupgrade.sh</a><br> @@ -1,21 +1,25 @@<br>  #!/bin/sh<br> +cd /tmp/<br>  <br> -BOARD=`uci get <a href="http://board.model.name">board.model.name</a>`<br> +. /etc/firmware_release<br>  <br> -case $BOARD in<br> -    tl-wdr4900-v1 )<br> -        SOC="mpc85xx" ;;<br> -    * )<br> -        SOC="ar71xx" ;;<br> -esac<br> +BOARD=$(uci get <a href="http://board.model.name">board.model.name</a>)<br> +echo -ne "\nHardware: $BOARD\n"<br>  <br> -FILE="openwrt-${SOC}-generic-${BOARD}-squashfs-sysupgrade.bin"<br> +wget $(uci get firmware.upgrade.path)/release.nfo<br> +if [ ! -f release.nfo ]; then<br> +  echo -ne "Latest release information not found. Please try to update manually.\n\n"<br> +  exit 1<br> +fi<br> +VERSION=$(grep -Po '(?<=^VERSION:).*' release.nfo)<br> +rm -f release.nfo<br> +echo -ne "Firmware found on server: $VERSION\n"<br>  <br> -echo -ne "\nHardware: $BOARD\n"<br> +FILE="fff-${FIRMWARE_COMMUNITY}_${VERSION}_${BOARD}-sysupgrade.bin"<br>  echo -ne "Downloading $FILE\n\n"<br> -cd /tmp/<br>  wget $(uci get</pre><pre>firmware.upgrade.path)/${FILE}<br>  wget $(uci get firmware.upgrade.path)/${FILE}.md5<br> +<br>  echo -ne "\ndone. Comparing md5 sums: "<br>  md5sum -c ${FILE}.md5<br>  ret=$?<br> @@ -32,4 +36,4 @@ else<br>          [Nn]|* ) echo -ne "\nAborting firmware upgrade.\n\n"; rm -f ${FILE}*; exit 0;;<br>      esac<br>    done<br> -fi<br> \ No newline at end of file<br> +fi<br> diff --git a/buildscript b/buildscript<br> index fcc3f3d..ded4c82 100755<br> --- a/buildscript<br> +++ b/buildscript<br> @@ -268,12 +268,27 @@ config() {<br>      cd "$opath"<br>  }<br>  <br> +cp_firmware() {<br> +    for image in ${images[@]}; do<br> +        filename_build=$(echo $image | sed -e "s/openwrt/${community}_${version}/")<br> +        if [[ -n "$chipset" ]] ; then<br> +          filename_build=$(echo $filename_build | sed -e "s/${chipset}//")<br> +        fi</pre></blockquote><pre><br>Mir ist nicht klar fuer was die "Chipset"-Abfrage gut ist, da Ch!</pre><pre> ipset</pre><pre style='margin-bottom:12.0pt'>doch immer gesetzt ist.<br>Wieso hast du ueberhaupt das ganze Umbenennen der Images von v7 auf v8 geaendert?<br>Die Variante in v7 mit den "Board"-Namen erschien mir deutlich schlanker.<br>Habe ich Einwaende von anderen verpasst?<br><br>Noch als Tipp, es geht mit Bash auch ohne sed, Beispiel:<br><br>string="stirng" ; echo "${string//ir/ri}"<br><br></pre><blockquote style='border:none;border-left:solid #729FCF 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm;margin-bottom:6.0pt'><pre> +        cp "$target/bin/${chipset}/$image" "./bin/$filename_build"<br> +<br> +        image_factory="$(echo $image | sed -e 's/sysupgrade/factory/')"<br> +        if [[ -f "$target/bin/${chipset}/$image_factory" ]]; then<br> +          filename_build_factory="$(echo $filename_build | sed -e 's/sysupgrade/factory/')"<br> +          cp "$target/bin/${chipset}/$image_factory" "./bin/$filename_build_factory"<br> +        fi<br> +    done<br> +}<br> +<br>  postbuild() {<br>!</pre><pre>  -   </pre><pre>board_postbuild<br> +    cp_firmware<br>  }<br>  <br>  clean() {<br> -    board_clean<br>      /bin/rm -rf bin $builddir src/openwrt<br>  <br>      # remove downloaded package feeds<br> -- <br> 2.1.4</pre></blockquote></blockquote></div><pre style='margin-left:4.8pt'><br><br>Gruss<br>-Steffen</pre><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p></div></body></html>