[v3] WebUI: Show firmware update notification in WebUI

Submitted by Adrian Schmutzler on June 9, 2017, 10:19 p.m.

Details

Message ID 1497046765-38348-2-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler June 9, 2017, 10:19 p.m.
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@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@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(-)

Patch hide | download patch | download mbox

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.@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.@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 %>

Comments

Michael Fritscher June 11, 2017, 7:11 p.m.
Hi,

Reviewed-by: Michael Fritscher <fff@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@adrianschmutzler.de>
>
> Tested-by: Adrian Schmutzler <freifunk@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.@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.@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 %>
Adrian Schmutzler June 11, 2017, 7:25 p.m.
Hi, bitte den v3-Patch wieder aus dem Patchwork rausschmeißen, hatte noch
nen Minifehler behoben (-> v4).

-----Original Message-----
From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
Michael Fritscher
Sent: Sonntag, 11. Juni 2017 21:11
To: franken-dev@freifunk.net
Subject: Re: [PATCH v3] WebUI: Show firmware update notification in WebUI

> 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@adrianschmutzler.de>
>
> Tested-by: Adrian Schmutzler <freifunk@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.@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.@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 %>


--
franken-dev mailing list
franken-dev@freifunk.net
http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net