[PATCH v3] WebUI: Show firmware update notification in WebUI
Michael Fritscher
michael at fritscher.net
So Jun 11 21:11:01 CEST 2017
Hi,
Reviewed-by: Michael Fritscher <fff at mifritscher.de>
Viele Grüße,
Michael Fritscher
> Displays update notification for user, but does not provide
> automatic updates. Version comparison is based on string match,
> so build dates are not relevant.
>
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
>
> Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
> src/packages/fff/fff-web/Makefile | 2 +-
> .../fff/fff-web/files/www/ssl/cgi-bin/header | 26
> ++++++++++++++++++++++
> 2 files changed, 27 insertions(+), 1 deletion(-)
>
> diff --git a/src/packages/fff/fff-web/Makefile
> b/src/packages/fff/fff-web/Makefile
> index 5772f87..723d9a9 100644
> --- a/src/packages/fff/fff-web/Makefile
> +++ b/src/packages/fff/fff-web/Makefile
> @@ -1,7 +1,7 @@
> include $(TOPDIR)/rules.mk
>
> PKG_NAME:=fff-web
> -PKG_VERSION:=0.0.3
> +PKG_VERSION:=0.0.4
> PKG_RELEASE:=2
>
> PKG_BUILD_DIR:=$(BUILD_DIR)/fff-web
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> index 92bdbc6..b5f49e2 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> @@ -1,6 +1,8 @@
> #!/usr/bin/haserl
>
> <%
> +. /etc/community.cfg
> +. /etc/firmware_release
> echo -en "Content-Type: text/html\r\n\r\n"
> nav_entry() {
> script_file="/cgi-bin/$1"
> @@ -12,6 +14,20 @@ nav_entry() {
>
> HOSTNAME=$(uci -q get 'system. at system[0].hostname')
>
> +NOW=$(date +%s)
> +#Check if new Firmware check older then 1 day
> +if [ ! -s /tmp/fwcheck ] || [ "$(cat /tmp/fwcheck)" -lt "$NOW" ] ; then
> + rm -f /tmp/isupdate
> + NEXTUPDATE=$(($(date +%s)+86400))
> + echo $NEXTUPDATE > /tmp/fwcheck
> + /usr/bin/wget "${UPGRADE_PATH}/release.nfo" -P /tmp -T 2
> + VERSION=$(cat /tmp/release.nfo|awk -F: '/VERSION:/ { print $2 }')
> + rm -f /tmp/release.nfo
> + if [ "$VERSION" != "$FIRMWARE_VERSION" -a -n "$VERSION" ]; then
> + echo $VERSION > /tmp/isupdate
> + fi
> +fi
> +
> %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> @@ -47,3 +63,13 @@ HOSTNAME=$(uci -q get 'system. at system[0].hostname')
> <div id="container">
> <div id="primarycontainer">
> <div id="primarycontent">
> + <%
> + if [ -s /tmp/isupdate ] ; then
> + VERSION=$(cat /tmp/isupdate)
> + %>
> + <table style="width: 100%;">
> + <tr>
> + <td><span style="font-size: 16pt; color:#FF0000">Es ist eine neue
> Firmware für deinen Freifunkrouter verfügbar.<br />Alte Version: <%=
> ${FIRMWARE_VERSION} %> - Neue Version: <%= ${VERSION} %> <br /><a
> href="upgrade.html">Firmware jetzt updaten</a></td>
> + </tr>
> + </table>
> + <% fi %>
Mehr Informationen über die Mailingliste franken-dev