Browse Source

Merge pull request #8 from cajuskamer/0.11.2

0.11.2
Cajus Kamer 7 years ago
parent
commit
3cb88e7cb7
6 changed files with 121 additions and 66 deletions
  1. 6 6
      Dockerfile
  2. 29 16
      docker-build.py
  3. 23 7
      i18n/de.po
  4. 22 6
      i18n/en.po
  5. 28 21
      site.conf
  6. 13 10
      site.mk

+ 6 - 6
Dockerfile

@@ -1,19 +1,19 @@
-FROM debian:jessie
-MAINTAINER Markus Lindenberg <markus@lindenberg.io>
+FROM debian:stretch
+MAINTAINER Cajus Kamer <Cajus.Kamer@arcor.de>
 
 
 ENV GLUON_SITE ffdo
 ENV GLUON_SITE ffdo
-ENV GLUON_TAG v2016.2.7
-ENV GLUON_RELEASE 0.10.3
+ENV GLUON_TAG v2017.1.2 
+ENV GLUON_RELEASE 0.11.2
 ENV GLUON_BRANCH stable
 ENV GLUON_BRANCH stable
 ENV GLUON_BROKEN 1
 ENV GLUON_BROKEN 1
-ENV GLUON_TARGETS ar71xx-generic ar71xx-nand brcm2708-bcm2708 brcm2708-bcm2709 mpc85xx-generic x86-generic x86-64 
+ENV GLUON_TARGETS ar71xx-generic ar71xx-nand ar71xx-tiny brcm2708-bcm2708 brcm2708-bcm2709 mpc85xx-generic x86-generic x86-64 
 
 
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBIAN_PRIORITY critical
 ENV DEBIAN_PRIORITY critical
 ENV DEBCONF_NOWARNINGS yes
 ENV DEBCONF_NOWARNINGS yes
 
 
 RUN apt-get update
 RUN apt-get update
-RUN apt-get -y install --no-install-recommends ca-certificates python python3 wget file git subversion build-essential gawk unzip libncurses5-dev zlib1g-dev openssl libssl-dev bsdmainutils && apt-get clean
+RUN apt-get -y install --no-install-recommends adduser ca-certificates python python3 wget file git subversion build-essential gawk unzip libncurses5-dev zlib1g-dev openssl libssl-dev bsdmainutils && apt-get clean
 
 
 ADD docker-build.py /usr/src/build.py
 ADD docker-build.py /usr/src/build.py
 ADD site.mk /usr/src/site.mk
 ADD site.mk /usr/src/site.mk

+ 29 - 16
docker-build.py

@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 #!/usr/bin/env python3
 
 
 from os import environ, makedirs, chdir, listdir, rename
 from os import environ, makedirs, chdir, listdir, rename
-from os.path import isdir
+from os.path import isdir, exists
 from subprocess import call, check_call
 from subprocess import call, check_call
 from shutil import *
 from shutil import *
 from multiprocessing import cpu_count
 from multiprocessing import cpu_count
@@ -70,6 +70,7 @@ else:
 
 
 # Build
 # Build
 for target in targets:
 for target in targets:
+    print('You can copy the log file from the container using: docker cp %s:%s/%s_stderr.log <destination>'% (environ['HOSTNAME'], logdir, target)); stdout.flush()
     print('Building for target %s... ' % target, end=''); stdout.flush()
     print('Building for target %s... ' % target, end=''); stdout.flush()
     arch, variant = target.split('-')
     arch, variant = target.split('-')
     target_start = datetime.now()
     target_start = datetime.now()
@@ -98,27 +99,39 @@ for target in targets:
             rename('output/images/sysupgrade/%s' % f, '%s/%s' % (sysupdir, f))
             rename('output/images/sysupgrade/%s' % f, '%s/%s' % (sysupdir, f))
 
 
         # Move modules to output
         # Move modules to output
-        try:
-            makedirs('%s/%s' % (modulesdir, arch))
-        except FileExistsError:
-            pass
-        variantdir = '%s/%s/%s' % (modulesdir, arch, variant)
-        rename('output/modules/gluon-%s-%s/%s/%s' % (site, release, arch, variant), variantdir)
-
-        # Checksum modules
-        print('Creating SHA512 sums for modules... ', end=''); stdout.flush()
-        chdir(variantdir)
-        check_call('sha512sum * > sha512sum.txt', shell=True)
-        chdir(gluondir)
-        print('OK')
+        # Since lede modules are optional for some targets
+        modulesbuilddir = 'output/packages/gluon-%s-%s/%s/%s' % (site, release, arch, variant)
+        if exists(modulesbuilddir):
+            try:
+                makedirs('%s/%s' % (modulesdir, arch))
+            except FileExistsError:
+                pass
+            variantdir = '%s/%s/%s' % (modulesdir, arch, variant)
+            rename('output/packages/gluon-%s-%s/%s/%s' % (site, release, arch, variant), variantdir)
+
+            # Checksum modules
+            print('Creating SHA512 sums for modules... ', end=''); stdout.flush()
+            chdir(variantdir)
+            check_call('sha512sum * > sha512sum.txt', shell=True)
+            chdir(gluondir)
+        else:
+            print('No modules found for target %s....OK' % target)
     else:
     else:
         print('FAILED after', duration)
         print('FAILED after', duration)
 
 
     # Clean up
     # Clean up
+    chdir(gluondir)
     print('Cleaning up...', end=''); stdout.flush()
     print('Cleaning up...', end=''); stdout.flush()
     with open('%s/%s_cleanup.log' % (logdir, target), 'w') as log:
     with open('%s/%s_cleanup.log' % (logdir, target), 'w') as log:
-        check_call('make dirclean V=s', stdout=log, stderr=log, shell=True)
-    print('OK'); stdout.flush()
+        print('Cleaning up...', end=''); stdout.flush()
+    with open('%s/%s_cleanup.log' % (logdir, target), 'w') as log:
+        rc = call('make dirclean V=s', stdout=log, stderr=log, shell=True) # clean all
+        # rc = call('make clean GLUON_TARGET=%s V=s' % (target), stdout=log, stderr=log, shell=True) # clean target specific 
+    if rc == 0:
+        print('OK')
+    else:
+        print('FAILED')
+    stdout.flush()
 
 
 print('Creating SHA512 sums for images... ', end=''); stdout.flush()
 print('Creating SHA512 sums for images... ', end=''); stdout.flush()
 for d in (factorydir, sysupdir):
 for d in (factorydir, sysupdir):

+ 23 - 7
i18n/de.po

@@ -2,8 +2,8 @@ msgid ""
 msgstr ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2015-07-30 09:28+0100\n"
-"Last-Translator: Daniel Toschke <duese@freifunk-datteln.de>\n"
+"PO-Revision-Date: 2015-03-19 20:28+0100\n"
+"Last-Translator: Matthias Schiffer <mschiffer@universe-factory.net>\n"
 "Language-Team: German\n"
 "Language-Team: German\n"
 "Language: de\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
@@ -24,19 +24,35 @@ msgstr ""
 "Bitte vergiss nicht das Netzwerkkabel vom gelben LAN Port in den blauen WAN Port umzustecken."
 "Bitte vergiss nicht das Netzwerkkabel vom gelben LAN Port in den blauen WAN Port umzustecken."
 "</p>"
 "</p>"
 "<div class=\"the-key\">"
 "<div class=\"the-key\">"
-" # <%= escape(hostname) %>"
-" <br/>"
+" # <%= pcdata(hostname) %>"
+" <br />"
 "<%= pubkey %>"
 "<%= pubkey %>"
 "</div>"
 "</div>"
 
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+"<p>Du hast ausgewählt, <strong>kein Mesh-VPN</strong> "
+"zu nutzen. Dein Knoten kann also nur dann eine Verbindung zum Freifunk-Netz "
+"aufbauen, wenn andere Freifunk-Router in WLAN-Reichweite sind."
+"</p>"
+
 msgid "gluon-config-mode:reboot"
 msgid "gluon-config-mode:reboot"
 msgstr ""
 msgstr ""
-"<p>Dein Knoten startet gerade neu und wird anschließend versuchen, "
-"sich mit anderen Freifunkknoten in seiner Nähe zu "
+"<p>Dein Knoten<em><%= pcdata(hostname) %></em> startet gerade neu und wird "
+"anschließend versuchen, sich mit anderen Freifunkknoten in seiner Nähe zu "
 "verbinden."
 "verbinden."
 "Informationen zu Freifunk Dortmund findest du auf der <a href=\"http://www.freifunk-dortmund.de/\">lokalen Webseite</a>."
 "Informationen zu Freifunk Dortmund findest du auf der <a href=\"http://www.freifunk-dortmund.de/\">lokalen Webseite</a>."
 "Weitere Informationen zum Freifunk Rheinland e.V. findest du auf <a href=\"https://freifunk-rheinland.net/\">unserer Vereinswebseite</a>.</p>"
 "Weitere Informationen zum Freifunk Rheinland e.V. findest du auf <a href=\"https://freifunk-rheinland.net/\">unserer Vereinswebseite</a>.</p>"
-"<p>Um zu dieser Konfigurationsseite zur&uuml;ckzugelangen, drücke im normalen "
+"<p>Um zu dieser Konfigurationsseite zurückzugelangen, drücke im normalen "
 "Betrieb für drei Sekunden den Reset-Button. Das Gerät wird dann im Config "
 "Betrieb für drei Sekunden den Reset-Button. Das Gerät wird dann im Config "
 "Mode neustarten.</p>"
 "Mode neustarten.</p>"
 "<p>Viel Spaß bei der Erkundung von Freifunk!</p>"
 "<p>Viel Spaß bei der Erkundung von Freifunk!</p>"
+
+msgid "gluon-config-mode:altitude-label"
+msgstr "Höhe"
+
+msgid "gluon-config-mode:altitude-help"
+msgstr ""
+"Die Höhenangabe ist optional und sollte nur gesetzt werden, wenn ein "
+"exakter Wert bekannt ist."
+

+ 22 - 6
i18n/en.po

@@ -2,8 +2,8 @@ msgid ""
 msgstr ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2015-03-19 20:28+0100\n"
-"Last-Translator: Daniel Toschke <duese@freifunk-datteln.de>\n"
+"PO-Revision-Date: 2016-02-04 14:28+0100\n"
+"Last-Translator: David Lutz <kpanic@hirnduenger.de>\n"
 "Language-Team: English\n"
 "Language-Team: English\n"
 "Language: en\n"
 "Language: en\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
@@ -21,16 +21,32 @@ msgstr ""
 "This is your Freifunk node's public key. You can use your node right away."
 "This is your Freifunk node's public key. You can use your node right away."
 "</p>"
 "</p>"
 "<div class=\"the-key\">"
 "<div class=\"the-key\">"
-" # <%= escape(hostname) %>"
-" <br/>"
+" # <%= pcdata(hostname) %>"
+" <br />"
 "<%= pubkey %>"
 "<%= pubkey %>"
 "</div>"
 "</div>"
 
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+"<p>You have selected <strong>not</strong> to use the mesh VPN. "
+"Your node will only be able to connect to the Freifunk network if other nodes in reach "
+"already have a connection.</p>"
 
 
 msgid "gluon-config-mode:reboot"
 msgid "gluon-config-mode:reboot"
 msgstr ""
 msgstr ""
-"<p>The node is currently rebooting and will try to connect to other "
-"nearby Freifunk nodes after that. "
+"<p>Your node <em><%= pcdata(hostname) %></em> is currently rebooting and will "
+"try to connect to other nearby Freifunk nodes after that.  "
 "Your can find lots of information on Freifunk in Dortmund on "
 "Your can find lots of information on Freifunk in Dortmund on "
 "<a href=\"http://www.freifunk-dortmund.de/\">our homepage</a>.</p>"
 "<a href=\"http://www.freifunk-dortmund.de/\">our homepage</a>.</p>"
+"<p>To get back to this configuration interface, press the reset button for "
+"3 seconds during normal operation. The device will then reboot into config "
+"mode.</p>"
 "<p>Have fun with your node and exploring of the Freifunk network!</p>"
 "<p>Have fun with your node and exploring of the Freifunk network!</p>"
+
+msgid "gluon-config-mode:altitude-label"
+msgstr "Altitude"
+
+msgid "gluon-config-mode:altitude-help"
+msgstr ""
+"Specifying the altitude is optional and should only be done if a proper "
+"value is known."

+ 28 - 21
site.conf

@@ -2,7 +2,7 @@
 	hostname_prefix = 'FF-DO-',
 	hostname_prefix = 'FF-DO-',
 	site_name = 'Freifunk Dortmund',
 	site_name = 'Freifunk Dortmund',
 	site_code = 'ffdo',
 	site_code = 'ffdo',
-
+        site_seed = 'c1b2f463dd1e2c032ba07b82b72eea3a07fb8aca7a7e0b82859481ac2f4c231a',
 	prefix4 = '10.233.0.0/16',
 	prefix4 = '10.233.0.0/16',
 	prefix6 = '2a03:2260:300a:1000::/64',
 	prefix6 = '2a03:2260:300a:1000::/64',
 
 
@@ -11,9 +11,9 @@
 	regdom = 'DE',
 	regdom = 'DE',
 
 
 	opkg = {
 	opkg = {
-		openwrt = 'http://downloads.openwrt.org/%n/%v/%S/packages',
+		lede = 'http://opkg.services.ffac/lede/snapshots/packages/%A',
 		extra = {
 		extra = {
-			modules = 'http://update.services.ffdo.de/%GS/releases/%GR/modules/%S',
+                    gluon = 'http://opkg.services.ffac/modules/gluon-%GS-%GR/%S',
 		},
 		},
 	},
 	},
 
 
@@ -52,13 +52,19 @@
 		mac = '02:ff:d0:09:ff:02',
 		mac = '02:ff:d0:09:ff:02',
 	},
 	},
 
 
-	fastd_mesh_vpn = {
-		methods = {'salsa2012+umac'},
+	mesh_vpn = {
+		-- enabled = true,
 		mtu = 1280,
 		mtu = 1280,
-		groups = {
-			ffdo = {
-				limit = 1,
-				peers = {
+		fastd = {
+			-- Refer to http://fastd.readthedocs.org/en/latest/ to better understand
+			-- what these options do.
+	
+			-- List of crypto-methods to use.
+			methods = {'salsa2012+umac'},
+			groups = {
+				ffdo = {
+					limit = 1,
+					peers = {
 					do01100 = {
 					do01100 = {
 						key = '4e3871281764a80fddff41152a24f198d8646f62bd240db8659495bd7f6ef0da',
 						key = '4e3871281764a80fddff41152a24f198d8646f62bd240db8659495bd7f6ef0da',
 						remotes = {'"sn-dtm01.ffdo.de" port 10000'},
 						remotes = {'"sn-dtm01.ffdo.de" port 10000'},
@@ -74,20 +80,21 @@
 					do02200 = {
 					do02200 = {
 						key = 'e6029a94aa2ac28014ea208b30398092c33836f05897e5aa5fa1d8525e35a136',
 						key = 'e6029a94aa2ac28014ea208b30398092c33836f05897e5aa5fa1d8525e35a136',
 						remotes = {'"sn-ber02.ffdo.de" port 10000'},
 						remotes = {'"sn-ber02.ffdo.de" port 10000'},
+						},
 					},
 					},
 				},
 				},
-			},
-			do01 = {
-				limit = 0,
-				peers = {},
-			},
-			do02 = {
-				limit = 0,
-				peers = {},
-			},
-			backbone = {
-				limit = 0,
-				peers = {},
+				do01 = {
+					limit = 0,
+					peers = {},
+				},
+				do02 = {
+					limit = 0,
+					peers = {},
+				},
+				backbone = {
+					limit = 0,
+					peers = {},
+				},
 			},
 			},
 		},
 		},
 		bandwidth_limit = {
 		bandwidth_limit = {

+ 13 - 10
site.mk

@@ -1,9 +1,9 @@
+##	gluon site.mk makefile example
+
 ##	GLUON_SITE_PACKAGES
 ##	GLUON_SITE_PACKAGES
-#		specify gluon/openwrt packages to include here
-#		The gluon-mesh-batman-adv-* package must come first because of the dependency resolution
+#		specify Gluon/LEDE packages to include here
 
 
 GLUON_SITE_PACKAGES := \
 GLUON_SITE_PACKAGES := \
-	gluon-mesh-batman-adv-15 \
 	gluon-respondd \
 	gluon-respondd \
 	gluon-autoupdater \
 	gluon-autoupdater \
 	gluon-config-mode-autoupdater \
 	gluon-config-mode-autoupdater \
@@ -14,12 +14,11 @@ GLUON_SITE_PACKAGES := \
 	gluon-config-mode-mesh-vpn \
 	gluon-config-mode-mesh-vpn \
 	gluon-ebtables-filter-multicast \
 	gluon-ebtables-filter-multicast \
 	gluon-ebtables-filter-ra-dhcp \
 	gluon-ebtables-filter-ra-dhcp \
-	gluon-luci-admin \
-	gluon-luci-autoupdater \
-	gluon-luci-portconfig \
-	gluon-luci-private-wifi \
-	gluon-luci-wifi-config \
-	gluon-next-node \
+	gluon-web-admin \
+	gluon-web-autoupdater \
+	gluon-web-network \
+	gluon-web-wifi-config \
+	gluon-mesh-batman-adv-15 \
 	gluon-mesh-vpn-fastd \
 	gluon-mesh-vpn-fastd \
 	gluon-radvd \
 	gluon-radvd \
 	gluon-setup-mode \
 	gluon-setup-mode \
@@ -27,7 +26,7 @@ GLUON_SITE_PACKAGES := \
 	haveged \
 	haveged \
 	iptables \
 	iptables \
 	iwinfo
 	iwinfo
-
+	
 ##	DEFAULT_GLUON_RELEASE
 ##	DEFAULT_GLUON_RELEASE
 #		version string to use for images
 #		version string to use for images
 #		gluon relies on
 #		gluon relies on
@@ -58,3 +57,7 @@ GLUON_ATH10K_MESH ?= ibss
 
 
 # Languages to include
 # Languages to include
 GLUON_LANGS ?= en de
 GLUON_LANGS ?= en de
+
+# VERSION 
+GLUON_RELEASE=0.11.2
+