[PATCH v7 2/2] Added Version check in sysupgrade
Steffen Pankratz
kratz00 at gmx.de
Di Mär 15 18:38:30 CET 2016
On Mon, 14 Mar 2016 22:39:04 +0100
mayosemmel <mayosemmel at googlemail.com> wrote:
Hi Jan
> > > Signed-off-by: Jan Kraus <mayosemmel at gmail.com>
> > > ---
> > > bsp/default/root_file_system/etc/sysupgrade.sh | 16 ++++++++++++++++
> > > 1 file changed, 16 insertions(+)
> > >
> > > diff --git a/bsp/default/root_file_system/etc/sysupgrade.sh b/bsp/default/root_file_system/etc/sysupgrade.sh
> > > index a90164d..e2e51c5 100755
> > > --- a/bsp/default/root_file_system/etc/sysupgrade.sh
> > > +++ b/bsp/default/root_file_system/etc/sysupgrade.sh
> > > @@ -15,6 +15,22 @@ VERSION=$(grep -Po '(?<=^VERSION:).*' release.nfo)
> > > rm -f release.nfo
> > > echo -ne "Firmware found on server: $VERSION\n"
> > >
> > > +if [ $VERSION -eq $FIRMWARE_VERSION ]; then
> > > + echo -ne "The installed firmware version is already the current version.\n\n"
> > > + echo -ne "Do you want to reinstall the current version? [y/n]\n"
> > > + read DO_UPDATE
> > > +
> > > + case $DO_UPDATE in
> > > + [yY] | [jJ])
> > > + #nothing to do here
> > > + :
> > > + ;;
> > > + *)
> > > + exit 1
> > > + ;;
> > > + esac
> > > +fi
> > > +
> > > FILE="fff-${FIRMWARE_COMMUNITY}_${VERSION}_${BOARD}-sysupgrade.bin"
> > > echo -ne "Downloading $FILE\n\n"
> > > wget $(uci get firmware.upgrade.path)/${FILE}
> >
> > Warum pruefst du noch auf "jJ"?
> > Ich wuerde im default-Case eher was ausgeben, wie "Invalid input"
> > und nur explizit im "nN"-Case -> "exit 1" aufrufen.
> >
> Ich habe dies mit Absicht so gelöst, auch wenn es nicht so schön
> aussieht wie dein Vorschlag.
> Ich bin selbst im first Level Support tätig und weiß wie es in der
> Praxis läuft. Da kommen dann so Aussage wie "Ich weiß nicht was ich
> gemacht habe und jetzt ist es kaputt".
Deswegen der Vorschlag dem User zu sagen "Invalid Input".
Du kannst da auch noch eine while-Schleife drum bauen, dass man solange zur Eingabe aufgefordert wird,
bis man eine valide Eingabe getaetigt hat.
> Wenn du nicht explizit mit y|Y(Yes) oder j|J(Ja) antwortest, macht das
> Script einfach nichts.
Ist das bei meinem Vorschlag etwa anders? :p
Mir gefaellt nicht, dass das Skript auch auf "Ja" reagiert.
Das ist fuer mich eine fehlerhafte Eingabe.
> Das vermeidet versehentliches was auch immer.
Pack eine while-Schleife drum und probiere mal die folgende Variante.
Diese Variante greift die Idee von Andreas mit dem "Default-Nein" auf,
welche ich sehr gut finde.
Ich denke mit damit sollte es kein "was auch immer" geben :)
echo -ne "Do you want to reinstall the current version? [y/N]\n"
read DO_UPDATE
case $DO_UPDATE in
[yY])
#nothing to do here
:
;;
[nN] | "")
exit 1
;;
*)
echo "Invalid input"
;;
esac
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/20160315/08a525c3/attachment-0002.sig>
Mehr Informationen über die Mailingliste franken-dev