Explorar o código

Merge pull request #8 from cajuskamer/0.11.2

0.11.2
Cajus Kamer %!s(int64=6) %!d(string=hai) anos
pai
achega
3cb88e7cb7
Modificáronse 6 ficheiros con 121 adicións e 66 borrados
  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_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_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_PRIORITY critical
 ENV DEBCONF_NOWARNINGS yes
 
 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 site.mk /usr/src/site.mk

+ 29 - 16
docker-build.py

@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
 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 shutil import *
 from multiprocessing import cpu_count
@@ -70,6 +70,7 @@ else:
 
 # Build
 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()
     arch, variant = target.split('-')
     target_start = datetime.now()
@@ -98,27 +99,39 @@ for target in targets:
             rename('output/images/sysupgrade/%s' % f, '%s/%s' % (sysupdir, f))
 
         # 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:
         print('FAILED after', duration)
 
     # Clean up
+    chdir(gluondir)
     print('Cleaning up...', end=''); stdout.flush()
     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()
 for d in (factorydir, sysupdir):

+ 23 - 7
i18n/de.po

@@ -2,8 +2,8 @@ msgid ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\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: de\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."
 "</p>"
 "<div class=\"the-key\">"
-" # <%= escape(hostname) %>"
-" <br/>"
+" # <%= pcdata(hostname) %>"
+" <br />"
 "<%= pubkey %>"
 "</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"
 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."
 "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>"
-"<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 "
 "Mode neustarten.</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 ""
 "Content-Type: text/plain; charset=UTF-8\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: en\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."
 "</p>"
 "<div class=\"the-key\">"
-" # <%= escape(hostname) %>"
-" <br/>"
+" # <%= pcdata(hostname) %>"
+" <br />"
 "<%= pubkey %>"
 "</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"
 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 "
 "<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>"
+
+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-',
 	site_name = 'Freifunk Dortmund',
 	site_code = 'ffdo',
-
+        site_seed = 'c1b2f463dd1e2c032ba07b82b72eea3a07fb8aca7a7e0b82859481ac2f4c231a',
 	prefix4 = '10.233.0.0/16',
 	prefix6 = '2a03:2260:300a:1000::/64',
 
@@ -11,9 +11,9 @@
 	regdom = 'DE',
 
 	opkg = {
-		openwrt = 'http://downloads.openwrt.org/%n/%v/%S/packages',
+		lede = 'http://opkg.services.ffac/lede/snapshots/packages/%A',
 		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',
 	},
 
-	fastd_mesh_vpn = {
-		methods = {'salsa2012+umac'},
+	mesh_vpn = {
+		-- enabled = true,
 		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 = {
 						key = '4e3871281764a80fddff41152a24f198d8646f62bd240db8659495bd7f6ef0da',
 						remotes = {'"sn-dtm01.ffdo.de" port 10000'},
@@ -74,20 +80,21 @@
 					do02200 = {
 						key = 'e6029a94aa2ac28014ea208b30398092c33836f05897e5aa5fa1d8525e35a136',
 						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 = {

+ 13 - 10
site.mk

@@ -1,9 +1,9 @@
+##	gluon site.mk makefile example
+
 ##	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-mesh-batman-adv-15 \
 	gluon-respondd \
 	gluon-autoupdater \
 	gluon-config-mode-autoupdater \
@@ -14,12 +14,11 @@ GLUON_SITE_PACKAGES := \
 	gluon-config-mode-mesh-vpn \
 	gluon-ebtables-filter-multicast \
 	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-radvd \
 	gluon-setup-mode \
@@ -27,7 +26,7 @@ GLUON_SITE_PACKAGES := \
 	haveged \
 	iptables \
 	iwinfo
-
+	
 ##	DEFAULT_GLUON_RELEASE
 #		version string to use for images
 #		gluon relies on
@@ -58,3 +57,7 @@ GLUON_ATH10K_MESH ?= ibss
 
 # Languages to include
 GLUON_LANGS ?= en de
+
+# VERSION 
+GLUON_RELEASE=0.11.2
+