From 264f22051db7b878e99704cf39d526f7214a5ffb Mon Sep 17 00:00:00 2001
From: RubenKelevra
Date: Thu, 28 May 2015 22:12:05 +0200
Subject: [PATCH] merge master
---
Makefile | 26 +-
contrib/lsupgrade.sh | 4 +-
docs/conf.py | 4 +-
docs/dev/i18n.rst | 6 +-
docs/features/autoupdater.rst | 2 +-
docs/index.rst | 160 +-
docs/releases/v2015.1.rst | 230 +-
docs/site-example/i18n/de.po | 3 +
docs/site-example/i18n/en.po | 3 +
docs/site-example/site.conf | 57 +-
docs/site-example/site.mk | 3 +-
docs/user/getting_started.rst | 2 +-
docs/user/site.rst | 61 +-
docs/user/x86.rst | 29 +
include/Makefile.image | 7 -
include/Makefile.target | 3 +-
include/config | 2 +-
include/gluon.mk | 4 +-
include/package.mk | 33 +-
include/toplevel.mk | 4 -
modules | 17 +-
.../files/usr/lib/lua/gluon/announce.lua | 6 +-
.../lib/gluon/upgrade/400-announced-firewall | 18 +
.../controller/gluon-config-mode/index.lua | 7 +-
.../model/cbi/gluon-config-mode/wizard.lua | 7 +-
.../wizard.htm => gluon/cbi/config-mode.htm} | 0
.../config-mode}/reboot.htm | 0
package/gluon-core/Makefile | 16 +-
.../files/lib/gluon/upgrade/001-upgrade | 4 +-
.../files/lib/gluon/upgrade/010-primary-mac | 2 +-
.../files/lib/gluon/upgrade/110-network | 1 +
.../files/lib/gluon/upgrade/999-version | 2 +-
package/gluon-luci-admin/Makefile | 12 +-
.../lib/lua/luci/controller/admin/index.lua | 6 +-
.../lib/lua/luci/controller/admin/upgrade.lua | 2 +-
.../lib/lua/luci/model/cbi/admin/remote.lua | 33 +-
.../usr/lib/lua/luci/view/admin/info.htm | 19 +-
.../usr/lib/lua/luci/view/admin/upgrade.htm | 58 +-
.../lua/luci/view/admin/upgrade_confirm.htm | 16 +-
.../lua/luci/view/admin/upgrade_reboot.htm | 9 +-
package/gluon-luci-admin/i18n/de.po | 111 +
.../i18n/gluon-luci-admin.pot | 93 +
package/gluon-luci-autoupdater/Makefile | 12 +-
.../lua/luci/controller/admin/autoupdater.lua | 3 +-
.../lua/luci/model/cbi/admin/autoupdater.lua | 8 +-
package/gluon-luci-autoupdater/i18n/de.po | 17 +
.../i18n/gluon-luci-autoupdater.pot | 8 +
package/gluon-luci-mesh-vpn-fastd/Makefile | 41 +
.../gluon-luci-mesh-vpn-fastd/check_site.lua | 2 +
.../luci/controller/admin/mesh_vpn_fastd.lua | 5 +
.../luci/model/cbi/admin/mesh_vpn_fastd.lua | 41 +
.../view/gluon/cbi/mesh-vpn-fastd-mode.htm | 32 +
package/gluon-luci-mesh-vpn-fastd/i18n/de.po | 38 +
.../i18n/gluon-luci-mesh-vpn-fastd.pot | 23 +
package/gluon-luci-node-role/Makefile | 4 +
package/gluon-luci-node-role/check_site.lua | 10 +-
.../lua/luci/controller/admin/noderole.lua | 2 +-
.../lib/lua/luci/model/cbi/admin/noderole.lua | 20 +-
package/gluon-luci-node-role/i18n/de.po | 27 +
.../i18n/gluon-luci-node-role.pot | 14 +
package/gluon-luci-portconfig/Makefile | 12 +-
.../lua/luci/controller/admin/portconfig.lua | 3 +-
.../lua/luci/model/cbi/admin/portconfig.lua | 52 +-
package/gluon-luci-portconfig/i18n/de.po | 32 +
.../i18n/gluon-luci-portconfig.pot | 23 +
package/gluon-luci-private-wifi/Makefile | 8 +-
.../lua/luci/controller/admin/privatewifi.lua | 2 +-
.../lua/luci/model/cbi/admin/privatewifi.lua | 48 +-
package/gluon-luci-private-wifi/i18n/de.po | 32 +
.../i18n/gluon-luci-private-wifi.pot | 18 +
.../lib/lua/luci/view/themes/gluon/header.htm | 1 -
.../files/www/luci-static/gluon/cascade.css | 3 +-
package/gluon-luci-theme/sass/cascade.scss | 22 +-
package/gluon-luci-wifi-config/Makefile | 36 +
.../lua/luci/controller/admin/wifi-config.lua | 5 +
.../lua/luci/model/cbi/admin/wifi-config.lua | 150 +
package/gluon-luci-wifi-config/i18n/de.po | 46 +
.../i18n/gluon-luci-wifi-config.pot | 29 +
package/gluon-mesh-batman-adv-core/Makefile | 2 +-
.../gluon-mesh-batman-adv-core/check_site.lua | 5 +-
.../nodeinfo.d/network/mesh/bat0/interfaces | 52 +
.../310-gluon-mesh-batman-adv-core-mesh | 4 +-
...340-gluon-mesh-batman-adv-core-mesh-on-lan | 32 +
package/gluon-mesh-vpn-fastd/check_site.lua | 30 +-
.../lib/gluon/announce/statistics.d/mesh_vpn | 65 +-
.../lib/gluon/upgrade/400-mesh-vpn-fastd | 103 +-
package/gluon-node-info/check_site.lua | 7 -
.../lib/gluon/setup-mode/rc.d/S20network | 2 +
package/gluon-site/Makefile | 2 +-
.../lib/gluon/status-page/www/cgi-bin/status | 22 +-
...le-fix-host-tools-build-dependencies.patch | 32 +-
...revision-on-TP-Link-Archer-C5-and-C7.patch | 31 -
...ndent-of-the-default-router-lifetime.patch | 31 +
...-really-empty-not-when-it-is-locked.patch} | 0
...ndent-of-the-default-router-lifetime.patch | 26 -
...ty-firmware-as-an-additional-choice.patch} | 16 +-
...NK-Pharos-devices-CPE210-220-510-520.patch | 570 -
...pport-for-TP-LINK-CPE210-220-510-520.patch | 471 -
...files-disable-reset-button-handling.patch} | 0
...-ar71xx-refactor-ubnt-xw-board-setup.patch | 72 -
...-ncurses-fix-host-build-with-GCC-5.1.patch | 21 +
...add-board-support-for-ubnt-loco-m-xw.patch | 161 -
...11-ath10k-allow-simultaneous-AP-IBSS.patch | 42 +
...ate-NanoStation-Loco-txpower-offsets.patch | 24 +
...ency-on-error.h-in-tplink-safeloader.patch | 43 -
...uild-explicitly-unexport-CONFIG_SITE.patch | 28 -
...ard-detection-for-TP-LINK-TL-WA860RE.patch | 20 -
...iguration-for-D-Link-DIR-615-rev.-C1.patch | 25 -
...ink-DIR-615-rev.-C1-WLAN-MAC-address.patch | 42 -
...upport-for-the-TP-LINK-TL-WR941ND-v5.patch | 229 -
...upport-for-the-UniFi-AP-Outdoor-Plus.patch | 177 -
...ath10k-to-compat-wireless-2015-03-05.patch | 33655 ----------------
...pdate-firmware-to-the-latest-version.patch | 41 -
...xx-TP-LINK-Archer-add-5GHz-led-entry.patch | 20 -
...ed-WLAN-LEDs-on-TP-LINK-Archer-C5-C7.patch | 34 -
...syscalls-with-6-arguments-on-PowerPC.patch | 24 -
...file-for-the-gl-inet-6416A-and-6408A.patch | 35 -
.../0024-ar71xx-detect-GL.iNet-model.patch | 39 -
...ng-a-specific-MBR-signature-to-ptgen.patch | 70 -
...tly-specifying-the-device-by-default.patch | 180 -
...ion-on-NETGEAR-WNDR3700-3800-WNDRMAC.patch | 65 -
...WDR3600-4300-RFKILL-switch-positions.patch | 22 -
...ot-make-it-easier-to-build-all-kmods.patch | 57 -
...-define-STAMP_CONFIGURED-recursively.patch | 26 -
...ue.html-add-label-that-can-be-styled.patch | 6 +-
...none-provided-by-the-browser-matches.patch | 12 +-
...0003-luci-base-depend-on-libubus-lua.patch | 17 +
...fter-initial-setup-and-disable-tests.patch | 33 -
.../openwrt/0002-libuecc-update-to-v5.patch | 35 -
.../openwrt/0003-fastd-update-to-v17.patch | 213 -
...ate-batman-adv-and-alfred-to-v2014.4.patch | 52 -
...tch => 0001-alfred-adjust-intervals.patch} | 0
...adv-introduce-no_rebroadcast-option.patch} | 0
targets/ar71xx-generic/profiles.mk | 16 +-
targets/ar71xx-generic/vermagic | 2 +-
targets/ar71xx-nand/vermagic | 2 +-
targets/mpc85xx-generic/vermagic | 2 +-
targets/ramips-rt305x/vermagic | 2 +-
targets/x86-generic/vermagic | 2 +-
targets/x86-kvm_guest/vermagic | 2 +-
140 files changed, 1981 insertions(+), 36981 deletions(-)
create mode 100644 docs/user/x86.rst
delete mode 100644 include/Makefile.image
create mode 100755 package/gluon-announced/files/lib/gluon/upgrade/400-announced-firewall
rename package/gluon-config-mode-core/files/usr/lib/lua/luci/view/{gluon-config-mode/cbi/wizard.htm => gluon/cbi/config-mode.htm} (100%)
rename package/gluon-config-mode-core/files/usr/lib/lua/luci/view/{gluon-config-mode => gluon/config-mode}/reboot.htm (100%)
create mode 100644 package/gluon-luci-admin/i18n/de.po
create mode 100644 package/gluon-luci-admin/i18n/gluon-luci-admin.pot
create mode 100644 package/gluon-luci-autoupdater/i18n/de.po
create mode 100644 package/gluon-luci-autoupdater/i18n/gluon-luci-autoupdater.pot
create mode 100644 package/gluon-luci-mesh-vpn-fastd/Makefile
create mode 100644 package/gluon-luci-mesh-vpn-fastd/check_site.lua
create mode 100644 package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/controller/admin/mesh_vpn_fastd.lua
create mode 100644 package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/model/cbi/admin/mesh_vpn_fastd.lua
create mode 100644 package/gluon-luci-mesh-vpn-fastd/files/usr/lib/lua/luci/view/gluon/cbi/mesh-vpn-fastd-mode.htm
create mode 100644 package/gluon-luci-mesh-vpn-fastd/i18n/de.po
create mode 100644 package/gluon-luci-mesh-vpn-fastd/i18n/gluon-luci-mesh-vpn-fastd.pot
create mode 100644 package/gluon-luci-node-role/i18n/de.po
create mode 100644 package/gluon-luci-node-role/i18n/gluon-luci-node-role.pot
create mode 100644 package/gluon-luci-portconfig/i18n/de.po
create mode 100644 package/gluon-luci-portconfig/i18n/gluon-luci-portconfig.pot
create mode 100644 package/gluon-luci-private-wifi/i18n/de.po
create mode 100644 package/gluon-luci-private-wifi/i18n/gluon-luci-private-wifi.pot
create mode 100644 package/gluon-luci-wifi-config/Makefile
create mode 100644 package/gluon-luci-wifi-config/files/usr/lib/lua/luci/controller/admin/wifi-config.lua
create mode 100644 package/gluon-luci-wifi-config/files/usr/lib/lua/luci/model/cbi/admin/wifi-config.lua
create mode 100644 package/gluon-luci-wifi-config/i18n/de.po
create mode 100644 package/gluon-luci-wifi-config/i18n/gluon-luci-wifi-config.pot
create mode 100644 package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/nodeinfo.d/network/mesh/bat0/interfaces
create mode 100755 package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan
delete mode 100644 patches/openwrt/0003-ar71xx-correctly-detect-hardware-revision-on-TP-Link-Archer-C5-and-C7.patch
create mode 100644 patches/openwrt/0003-odhcp6c-always-accept-RDNSS-independent-of-the-default-router-lifetime.patch
rename patches/openwrt/{0009-busybox-enable-telnet-only-when-root-password-is-really-empty-not-when-it-is-locked.patch => 0004-busybox-enable-telnet-only-when-root-password-is-really-empty-not-when-it-is-locked.patch} (100%)
delete mode 100644 patches/openwrt/0004-odhcp6c-always-accept-RDNSS-independent-of-the-default-router-lifetime.patch
rename patches/openwrt/{0019-ath10k-add-Candelatech-community-firmware-as-an-additional-choice.patch => 0005-ath10k-add-Candelatech-community-firmware-as-an-additional-choice.patch} (82%)
delete mode 100644 patches/openwrt/0005-firmware-utils-add-new-tool-tplink-safeloader-for-the-new-TP-LINK-Pharos-devices-CPE210-220-510-520.patch
delete mode 100644 patches/openwrt/0006-ar71xx-add-support-for-TP-LINK-CPE210-220-510-520.patch
rename patches/openwrt/{0031-base-files-disable-reset-button-handling.patch => 0006-base-files-disable-reset-button-handling.patch} (100%)
delete mode 100644 patches/openwrt/0007-ar71xx-refactor-ubnt-xw-board-setup.patch
create mode 100644 patches/openwrt/0007-ncurses-fix-host-build-with-GCC-5.1.patch
delete mode 100644 patches/openwrt/0008-ar71xx-add-board-support-for-ubnt-loco-m-xw.patch
create mode 100644 patches/openwrt/0008-mac80211-ath10k-allow-simultaneous-AP-IBSS.patch
create mode 100644 patches/openwrt/0009-iwinfo-update-NanoStation-Loco-txpower-offsets.patch
delete mode 100644 patches/openwrt/0010-firmware-utils-remove-dependency-on-error.h-in-tplink-safeloader.patch
delete mode 100644 patches/openwrt/0011-build-explicitly-unexport-CONFIG_SITE.patch
delete mode 100644 patches/openwrt/0012-ar71xx-fix-board-detection-for-TP-LINK-TL-WA860RE.patch
delete mode 100644 patches/openwrt/0013-ar71xx-add-default-LED-configuration-for-D-Link-DIR-615-rev.-C1.patch
delete mode 100644 patches/openwrt/0014-ar71xx-fix-D-Link-DIR-615-rev.-C1-WLAN-MAC-address.patch
delete mode 100644 patches/openwrt/0015-Add-support-for-the-TP-LINK-TL-WR941ND-v5.patch
delete mode 100644 patches/openwrt/0016-ar71xx-add-support-for-the-UniFi-AP-Outdoor-Plus.patch
delete mode 100644 patches/openwrt/0017-mac80211-update-ath10k-to-compat-wireless-2015-03-05.patch
delete mode 100644 patches/openwrt/0018-ath10k-update-firmware-to-the-latest-version.patch
delete mode 100644 patches/openwrt/0020-at71xx-TP-LINK-Archer-add-5GHz-led-entry.patch
delete mode 100644 patches/openwrt/0021-ar71xx-fix-switched-WLAN-LEDs-on-TP-LINK-Archer-C5-C7.patch
delete mode 100644 patches/openwrt/0022-uClibc-fix-syscall-for-syscalls-with-6-arguments-on-PowerPC.patch
delete mode 100644 patches/openwrt/0023-ar71xx-Add-build-profile-for-the-gl-inet-6416A-and-6408A.patch
delete mode 100644 patches/openwrt/0024-ar71xx-detect-GL.iNet-model.patch
delete mode 100644 patches/openwrt/0025-firmware-utils-allow-passing-a-specific-MBR-signature-to-ptgen.patch
delete mode 100644 patches/openwrt/0026-x86-use-PARTUUID-instead-explicitly-specifying-the-device-by-default.patch
delete mode 100644 patches/openwrt/0027-ar71xx-fix-model-string-detection-on-NETGEAR-WNDR3700-3800-WNDRMAC.patch
delete mode 100644 patches/openwrt/0028-ar71xx-fix-TP-LINK-TL-WDR3600-4300-RFKILL-switch-positions.patch
delete mode 100644 patches/openwrt/0029-buildroot-make-it-easier-to-build-all-kmods.patch
delete mode 100644 patches/openwrt/0030-build-define-STAMP_CONFIGURED-recursively.patch
create mode 100644 patches/packages/luci/0003-luci-base-depend-on-libubus-lua.patch
delete mode 100644 patches/packages/openwrt/0001-haveged-start-directly-after-initial-setup-and-disable-tests.patch
delete mode 100644 patches/packages/openwrt/0002-libuecc-update-to-v5.patch
delete mode 100644 patches/packages/openwrt/0003-fastd-update-to-v17.patch
delete mode 100644 patches/packages/routing/0001-Update-batman-adv-and-alfred-to-v2014.4.patch
rename patches/packages/routing/{0002-alfred-adjust-intervals.patch => 0001-alfred-adjust-intervals.patch} (100%)
rename patches/packages/routing/{0003-batman-adv-introduce-no_rebroadcast-option.patch => 0002-batman-adv-introduce-no_rebroadcast-option.patch} (100%)
diff --git a/Makefile b/Makefile
index 7f5fd437..4420b387 100644
--- a/Makefile
+++ b/Makefile
@@ -179,11 +179,8 @@ include $(INCLUDE_DIR)/target.mk
prereq: FORCE
+$(NO_TRACE_MAKE) prereq
-gluon-tools: FORCE
- +$(GLUONMAKE_EARLY) tools/sed/install
- +$(GLUONMAKE_EARLY) package/lua/host/install
-
prepare-tmpinfo: FORCE
+ @+$(MAKE) -r -s staging_dir/host/.prereq-build OPENWRT_BUILD= QUIET=0
mkdir -p tmp/info
$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk $(TOPDIR)/overlay/*/*.mk" SCAN_EXTRA=""
$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1"
@@ -204,15 +201,19 @@ feeds: FORCE
. $(GLUONDIR)/modules && for feed in $$GLUON_FEEDS; do ln -s ../../../packages/$$feed $(TOPDIR)/package/feeds/module_$$feed; done
+$(GLUONMAKE_EARLY) prepare-tmpinfo
+gluon-tools: FORCE
+ +$(GLUONMAKE_EARLY) tools/sed/install
+ +$(GLUONMAKE_EARLY) package/lua/host/install
+
config: FORCE
- +$(NO_TRACE_MAKE) scripts/config/conf OPENWRT_BUILD=0
+ +$(NO_TRACE_MAKE) scripts/config/conf OPENWRT_BUILD= QUIET=0
+$(GLUONMAKE) prepare-tmpinfo
( \
cat $(GLUONDIR)/include/config $(GLUONDIR)/targets/$(GLUON_TARGET)/config; \
echo 'CONFIG_BUILD_SUFFIX="gluon-$(GLUON_TARGET)"'; \
echo '$(patsubst %,CONFIG_PACKAGE_%=m,$(sort $(filter-out -%,$(GLUON_DEFAULT_PACKAGES) $(GLUON_SITE_PACKAGES) $(PROFILE_PACKAGES))))' \
| sed -e 's/ /\n/g'; \
- echo '$(patsubst %,CONFIG_GLUON_LANG_%=y,$(GLUON_LANGS))' \
+ echo '$(patsubst %,CONFIG_LUCI_LANG_%=y,$(GLUON_LANGS))' \
| sed -e 's/ /\n/g'; \
) > $(BOARD_BUILDDIR)/config.tmp
scripts/config/conf --defconfig=$(BOARD_BUILDDIR)/config.tmp Config.in
@@ -281,8 +282,11 @@ packages: $(package/stamp-compile)
prepare-image: FORCE
rm -rf $(BOARD_KDIR)
mkdir -p $(BOARD_KDIR)
- cp $(KERNEL_BUILD_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux.elf $(BOARD_KDIR)/
- +$(SUBMAKE) -C $(TOPDIR)/target/linux/$(BOARD)/image -f $(GLUONDIR)/include/Makefile.image prepare KDIR="$(BOARD_KDIR)"
+ $(foreach k, vmlinux vmlinux.elf \
+ $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out dtbs,$(KERNELNAME))), \
+ $(CP) $(KERNEL_BUILD_DIR)/$(k) $(BOARD_KDIR)/$(k); \
+ )
+ +$(SUBMAKE) -C $(TOPDIR)/target/linux/$(BOARD)/image image_prepare KDIR="$(BOARD_KDIR)"
prepare: FORCE
@$(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/package/gluon-core/files/usr/lib/lua/gluon/site_config.lua \
@@ -346,7 +350,7 @@ $(eval $(call merge-lists,INSTALL_PACKAGES,DEFAULT_PACKAGES GLUON_DEFAULT_PACKAG
package_install: FORCE
$(OPKG) update
- $(OPKG) install $(PACKAGE_DIR)/libc_*.ipk
+ $(OPKG) install $(PACKAGE_DIR)/base-files_*.ipk $(PACKAGE_DIR)/libc_*.ipk
$(OPKG) install $(PACKAGE_DIR)/kernel_*.ipk
$(OPKG) install $(INSTALL_PACKAGES)
@@ -354,6 +358,10 @@ package_install: FORCE
rm -f $(TARGET_DIR)/usr/lib/opkg/lists/* $(TARGET_DIR)/tmp/opkg.lock
+# Remove opkg database when opkg is not intalled
+ if [ ! -x $(TARGET_DIR)/bin/opkg ]; then rm -rf $(TARGET_DIR)/usr/lib/opkg; fi
+
+
ifeq ($(GLUON_OPKG_CONFIG),1)
include $(INCLUDE_DIR)/version.mk
endif
diff --git a/contrib/lsupgrade.sh b/contrib/lsupgrade.sh
index 57485616..7fe11299 100755
--- a/contrib/lsupgrade.sh
+++ b/contrib/lsupgrade.sh
@@ -26,7 +26,7 @@ fi
pushd "$(dirname "$0")/.." >/dev/null
-find package packages -name Makefile | while read makefile; do
+find ./package packages -name Makefile | while read makefile; do
dir="$(dirname "$makefile")"
pushd "$dir" >/dev/null
@@ -36,7 +36,7 @@ find package packages -name Makefile | while read makefile; do
package="$(basename "$dir")"
for file in "${SUFFIX}"/*; do
- echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}/${RED}${package}${RESET}/${SUFFIX})"
+ echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}${dirname:+/}${RED}${package}${RESET}/${SUFFIX})"
done
popd >/dev/null
done | sort
diff --git a/docs/conf.py b/docs/conf.py
index 0856ed6f..090de523 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -54,9 +54,9 @@ copyright = '2015, Project Gluon'
# built documents.
#
# The short X.Y version.
-version = '2014.4+'
+version = '2015.1+'
# The full version, including alpha/beta/rc tags.
-release = '2014.4+'
+release = '2015.1+'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/docs/dev/i18n.rst b/docs/dev/i18n.rst
index 536baf1a..b51bfdee 100644
--- a/docs/dev/i18n.rst
+++ b/docs/dev/i18n.rst
@@ -80,9 +80,9 @@ instead).
Adding support for new languages
--------------------------------
-A list of all languages supported by LuCI can be found in the ``include/package.mk`` file of
-the Gluon repository. Adding translations for these languages is straightforward using the ``msginit``
-command.
+A list of all languages supported by LuCI can be found in the ``packages/luci/luci.mk`` file after
+Gluon's dependencies have been downloaded using ``make update``. Adding translations for these
+languages is straightforward using the ``msginit`` command.
For other languages, support must be added tu LuCI first, which constitutes completely translating
the ``base.pot``. Please contact the upstream LuCI maintainers if you'd like to do this.
diff --git a/docs/features/autoupdater.rst b/docs/features/autoupdater.rst
index 983027de..fdc511d9 100644
--- a/docs/features/autoupdater.rst
+++ b/docs/features/autoupdater.rst
@@ -54,7 +54,7 @@ We suggest to have following directory tree accessible via http:
sysupgrade/
factory/
-The server should be available via IPv6.
+The server must be available via IPv6.
Command Line
------------
diff --git a/docs/index.rst b/docs/index.rst
index 7387c082..92fb58b7 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -13,6 +13,7 @@ User Documentation
user/getting_started
user/site
+ user/x86
user/faq
Features
@@ -42,58 +43,6 @@ Developer Documentation
dev/wan
dev/i18n
-Supported Devices
------------------
-
-* Buffalo
-
- - WZR-HP-AG300H / WZR-600DHP
- - WZR-HP-G450H
-
-* D-Link
-
- - DIR-825 (B1)
-
-* Linksys
-
- - WRT160NL
-
-* TP-Link
-
- - CPE210 (v1)
- - CPE220 (v1)
- - CPE510 (v1)
- - CPE520 (v1)
- - TL-MR3020 (v1)
- - TL-MR3040 (v1, v2)
- - TL-MR3220 (v1)
- - TL-MR3420 (v1, v2)
- - TL-WA750RE (v1)
- - TL-WA801N/ND (v2)
- - TL-WA850RE (v1)
- - TL-WA901N/ND (v2)
- - TL-WDR3500 (v1)
- - TL-WDR3600 (v1)
- - TL-WDR4300 (v1)
- - TL-WR1043N/ND (v1, v2)
- - TL-WR703N (v1)
- - TL-WR710N (v1)
- - TL-WR740N (v1, v3, v4)
- - TL-WR741N/ND (v1, v2, v4)
- - TL-WR841N/ND (v3, v5, v7, v8, v9)
- - TL-WR842N/ND (v1, v2)
- - TL-WR941N/ND (v2, v3, v4)
-
-* Ubiquiti
-
- - Bullet M2
- - Nanostation M2
- - Picostation M2
- - Rocket M2
- - UniFi AP
- - UniFi AP Outdoor
-
-
Releases
--------
@@ -106,6 +55,112 @@ Releases
releases/v2014.3
+Supported Devices & Architectures
+---------------------------------
+
+ar71xx-generic
+^^^^^^^^^^^^^^
+
+* Allnet
+
+ - ALL0315N
+
+* Buffalo
+
+ - WZR-HP-AG300H / WZR-600DHP
+ - WZR-HP-G450H
+
+* D-Link
+
+ - DIR-825 (B1)
+ - DIR-615 (C1)
+
+* GL-Inet
+
+ - 6408A (v1)
+ - 6416A (v1)
+
+* Linksys
+
+ - WRT160NL
+
+* Netgear
+
+ - WNDR3700 (v1, v2)
+ - WNDR3800
+ - WNDRMAC (v2)
+
+* TP-Link
+
+ - CPE210 (v1)
+ - CPE220 (v1)
+ - CPE510 (v1)
+ - CPE520 (v1)
+ - TL-MR3020 (v1)
+ - TL-MR3040 (v1, v2)
+ - TL-MR3220 (v1, v2)
+ - TL-MR3420 (v1, v2)
+ - TL-WA701N/ND (v1)
+ - TL-WA750RE (v1)
+ - TL-WA801N/ND (v2)
+ - TL-WA850RE (v1)
+ - TL-WA860RE (v1)
+ - TL-WA901N/ND (v2, v3)
+ - TL-WDR3500 (v1)
+ - TL-WDR3600 (v1)
+ - TL-WDR4300 (v1)
+ - TL-WR1043N/ND (v1, v2)
+ - TL-WR703N (v1)
+ - TL-WR710N (v1)
+ - TL-WR740N (v1, v3, v4)
+ - TL-WR741N/ND (v1, v2, v4)
+ - TL-WR743N/ND (v1, v2)
+ - TL-WR841N/ND (v3, v5, v7, v8, v9)
+ - TL-WR842N/ND (v1, v2)
+ - TL-WR941N/ND (v2, v3, v4, v5)
+ - TL-WR2543N/ND (v1)
+
+* Ubiquiti
+
+ - Bullet M2
+ - Nanostation M2
+ - Nanostation M XW
+ - Loco M XW
+ - Picostation M2
+ - Rocket M2
+ - UniFi AP
+ - UniFi AP Pro
+ - UniFi AP Outdoor
+
+ar71xx-nand
+^^^^^^^^^^^
+
+* Netgear
+
+ - WNDR3700 (v4)
+ - WNDR4300 (v1)
+
+mpc85xx-generic
+^^^^^^^^^^^^^^^
+
+* TP-Link
+
+ - TL-WDR4900 (v1)
+
+x86-generic
+^^^^^^^^^^^
+* x86-generic
+* x86-virtualbox
+* x86-vmware
+
+See also: :doc:`user/x86`
+
+x86-kvm_guest
+^^^^^^^^^^^^^
+* x86-kvm
+
+See also: :doc:`user/x86`
+
License
-------
@@ -118,4 +173,3 @@ Indices and tables
* :ref:`genindex`
* :ref:`search`
-
diff --git a/docs/releases/v2015.1.rst b/docs/releases/v2015.1.rst
index 8ce3db0f..8e5c8e99 100644
--- a/docs/releases/v2015.1.rst
+++ b/docs/releases/v2015.1.rst
@@ -1,16 +1,159 @@
-Gluon 2015.1 (in development)
-=============================
+Gluon 2015.1
+============
-Added (and removed) hardware support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Added hardware support
+~~~~~~~~~~~~~~~~~~~~~~
+Gluon v2015.1 is the first release to officially support hardware
+that is not handled by the `ar71xx-generic` OpenWrt target. This also
+means that `ar71xx-generic` isn't the default target anymore, the ``GLUON_TARGET``
+variable must be set for all runs of ``make`` and ``make clean`` now.
+
+ar71xx-generic
+^^^^^^^^^^^^^^
+
+* Allnet
+
+ - ALL0315N
+
+* D-Link
+
+ - DIR-615 (C1)
+
+* GL-Inet
+
+ - 6408A (v1)
+ - 6416A (v1)
+
+ - WRT160NL
+
+* Netgear
+
+ - WNDR3700 (v1, v2)
+ - WNDR3800
+ - WNDRMAC (v2)
+
+* TP-Link
+
+ - TL-MR3220 (v2)
+ - TL-WA701N/ND (v1)
+ - TL-WA860RE (v1)
+ - TL-WA901N/ND (v2, v3)
+ - TL-WR743N/ND (v1, v2)
+ - TL-WR941N/ND (v5)
+ - TL-WR2543N/ND (v1)
+
+* Ubiquiti
+
+ - Nanostation M XW
+ - Loco M XW
+ - UniFi AP Pro
+
+ar71xx-nand
+^^^^^^^^^^^
+
+* Netgear
+
+ - WNDR3700 (v4)
+ - WNDR4300 (v1)
+
+mpc85xx-generic
+^^^^^^^^^^^^^^^
+
+* TP-Link
+
+ - TL-WDR4900 (v1)
+
+x86-generic
+^^^^^^^^^^^
+* x86-generic
+* x86-virtualbox
+* x86-vmware
+
+x86-kvm_guest
+^^^^^^^^^^^^^
+* x86-kvm
New features
~~~~~~~~~~~~
+Multilingual config mode
+^^^^^^^^^^^^^^^^^^^^^^^^
+All config and expert mode modules contain both English and German texts now. The English
+locale should always be enabled in ``site.mk`` (as English is the fallback language),
+German can be enabled in addition using the ``GLUON_LANGS`` setting.
+The language shown is autmatically determined from the headers sent by the user's
+browser.
+
+Mesh-on-LAN
+^^^^^^^^^^^
+Gluon now supports meshing using a node's LAN ports. It can be enabled by
+default in `site.conf`, and configured by the user using the `gluon-luci-portconfig`
+expert mode package.
+
+Please note that nodes without the `mesh-on-lan` feature enabled must never be connected
+via their LAN ports.
+
+Extended WLAN configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The new ``client_disabled`` and ``mesh_disabled`` keys in the ``wifi24`` and ``wifi5`` sections allow
+to disable the client and mesh networks by default, which may make sense for images for
+special installations.
+
+The new package `gluon-luci-wifi-config` allows the user to change these settings; in addition,
+the WLAN adapters' transmission power can be changed in this package.
+
+fastd "performance mode"
+^^^^^^^^^^^^^^^^^^^^^^^^
+The new package `gluon-luci-mesh-vpn-fastd` allows the user to switch between the `security` and
+`performance` VPN settions. In `performance mode`, the method `null` will be prepended to the
+method list.
+
+The new option ``configurable`` in the ``fastd_mesh_vpn`` section of ``site.conf`` must be set to `true`
+so firmware upgrades don't overwrite the method list completely (non-`null` methods will still
+be overwritten). Adding the `gluon-luci-mesh-vpn-fastd` package enforces this setting.
+
+Altitude setting in `gluon-config-mode-geo-location`
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The `gluon-config-mode-geo-location` config mode module
+now contains an optional altitude field.
+
+`gluon-announced` rework
+^^^^^^^^^^^^^^^^^^^^^^^^
+The `gluon-announced` package has been reworked to allow querying it from anywhere in the mesh.
+In contrast to `gluon-alfred`, it is based on a query-response model (the master multicasts a query,
+the nodes respond), while `gluon-alfred` uses periodic announcements.
+
+For now, we recommend including both `gluon-alfred` and `gluon-announced` in Gluon-based firmwares,
+until `gluon-announced` is ready to replace `gluon-alfred` completely, and software like the
+ffmap backend has been adjusted accordingly.
+
+Nested peer groups
+^^^^^^^^^^^^^^^^^^
+Nested peer groups for the `fastd-mesh-vpn-fastd` package can now be configured in ``site.conf``,
+each with its own peer limit. This allows to add additional constaints, for example to connect
+to 2 peers altogether, but only 1 peer in each data center.
+
+Autoupdater manual branch override
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+When running the updater manually on the command line, the branch to use can now be
+overridden using the ``-b`` option.
Bugfixes
~~~~~~~~
+Accidental factory reset fix
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Pressing a node's reset button for more than 5 seconds would completely reset a node's
+configuration under certain conditions.
+
+WAN IPv6 issues
+^^^^^^^^^^^^^^^
+The WAN port would stop to respond to IPv6 packets sometimes, also breaking IPv6 VPN connectivity.
+
+WDR4900 WAN MAC address
+^^^^^^^^^^^^^^^^^^^^^^^
+The MAC address on the WAN port of the WDR4900 was broken, making this device unusable for `mesh-on-wan`
+configurations.
Site changes
@@ -22,9 +165,88 @@ Site changes
to keep the old behaviour, you have to append the hyphen to the
``hostname_prefix`` field of your ``site.conf``.
+ - ``mesh_vpn_fastd``: The default peer group name ``backbone`` isn't hardcoded anymore, any
+ group name can be used. Instead, the ``fastd_mesh_vpn`` table must now contain an element ``groups``,
+ for example::
+
+ fastd_mesh_vpn = {
+ methods = {'salsa2012+umac'},
+ mtu = 1426,
+ groups = {
+ backbone = {
+ limit = 2,
+ peers = {
+ -- ...
+ }
+ }
+ }
+ }
+
+ - ``config_mode``: The config mode messages aren't configured in ``site.conf`` anymore. Instead, they are
+ defined language-specific gettext files in the ``i18n`` subdirectory of the site configuration (see
+ :ref:`site-config-mode-texts`).
+
+ - ``roles``: The display strings for the node roles aren't configured in the ``site.conf`` anymore, but
+ in the site i18n files. The ``site.conf`` section becomes::
+
+ roles = {
+ default = 'foo',
+ list = {
+ 'foo',
+ 'bar',
+ }
+ }
+
+ The display string use i18n message IDs like ``gluon-luci-node-role:role:foo`` and ``gluon-luci-node-role:role:bar``.
+
+* ``site.mk``
+
+ - ``gluon-mesh-batman-adv-15`` is now the recommended batman-adv version for new Gluon deployments.
+
+ - The packages ``gluon-setup-mode`` and ``gluon-config-mode-core`` must now be
+ added to ``GLUON_SITE_PACKAGES`` explicitly (to allow replacing them with
+ community-specific implementations).
+
+ - The new ``GLUON_LANGS`` variable selects the config mode languages to include. It defaults to ``en``,
+ setting it to ``en de`` will select both the English and German locales. ``en`` must always be
+ included.
+
Internals
~~~~~~~~~
+New upgrade script directory
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The distinction between `initial` and `invariant` scripts has been removed,
+all scripts are now run on each upgrade. Instead of having one script directory
+per package, all upgrade scripts lie in ``/lib/gluon/upgrade`` now, so it is
+possible to define the run order across packages.
+Merged package repository
+^^^^^^^^^^^^^^^^^^^^^^^^^
+The Gluon-specific packages have been moved to the ``package`` directory of the Gluon
+main repository. The ``packages`` repository now only contains packages that will be
+submitted to the OpenWrt upstream eventually.
Known Issues
~~~~~~~~~~~~
+
+Alfred/respondd crashes
+^^^^^^^^^^^^^^^^^^^^^^^
+
+https://github.com/freifunk-gluon/gluon/issues/177
+
+Occasional alfred crashes may still occur. As this is caused by a kernel issue,
+we suspect that respondd, which gluon-announced is based on, is affected
+in the same way.
+
+
+Ignored TX power offset on Ubiquiti AirMax devices
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+https://github.com/freifunk-gluon/gluon/issues/94
+
+The default transmission power setting on many of these devices
+is too high. It may be necessary to make manual adjustments, for example
+using the ``gluon-luci-wifi-config`` package. The values shown by
+``gluon-luci-wifi-config`` generally include the TX power offset
+(amplifier and antenna gain) where available, but on many devices
+the offset is inaccurate or unavailable.
diff --git a/docs/site-example/i18n/de.po b/docs/site-example/i18n/de.po
index 271172a4..ce27c813 100644
--- a/docs/site-example/i18n/de.po
+++ b/docs/site-example/i18n/de.po
@@ -32,4 +32,7 @@ msgstr ""
"verbinden. Weitere Informationen zur "
"Entenhausener Freifunk-Community findest du auf "
"unserer Webseite.
"
+"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.
"
"Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
"
diff --git a/docs/site-example/i18n/en.po b/docs/site-example/i18n/en.po
index bfbbc882..dedc06e1 100644
--- a/docs/site-example/i18n/en.po
+++ b/docs/site-example/i18n/en.po
@@ -30,4 +30,7 @@ msgstr ""
"nearby Freifunk nodes after that. "
"Your can find lots of information on the Freifunk Duckburg community on "
"our homepage."
+"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.
"
"Have fun with your node and exploring the Freifunk network!
"
diff --git a/docs/site-example/site.conf b/docs/site-example/site.conf
index d5372512..6cffded8 100644
--- a/docs/site-example/site.conf
+++ b/docs/site-example/site.conf
@@ -1,4 +1,4 @@
--- This is an example site configuration for Gluon v2014.4
+-- This is an example site configuration for Gluon v2015.1+
--
-- Take a look at the documentation located at
-- http://gluon.readthedocs.org/ for details.
@@ -89,25 +89,42 @@
fastd_mesh_vpn = {
-- List of crypto-methods to use.
methods = {'salsa2012+umac'},
+ -- enabled = true,
+ -- configurable = true,
+
mtu = 1426,
- backbone = {
- -- Limit number of connected peers to reduce bandwidth.
- limit = 2,
+ groups = {
+ backbone = {
+ -- Limit number of connected peers to reduce bandwidth.
+ limit = 2,
- -- List of peers.
- peers = {
- peer1 = {
- key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ -- List of peers.
+ peers = {
+ peer1 = {
+ key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
- -- This is a list, so you might add multiple entries.
- remotes = {'ipv4 "xxx.somehost.invalid" port xxxxxx'},
- },
- peer2 = {
- key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
- -- You can also omit the ipv4 to allow both connection via ipv4 and ipv6
- remotes = {'"xxx.somehost2.invalid" port xxxxx'},
+ -- This is a list, so you might add multiple entries.
+ remotes = {'ipv4 "xxx.somehost.invalid" port xxxxxx'},
+ },
+ peer2 = {
+ key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ -- You can also omit the ipv4 to allow both connection via ipv4 and ipv6
+ remotes = {'"xxx.somehost2.invalid" port xxxxx'},
+ },
},
+
+ -- Optional: nested peer groups
+ -- groups = {
+ -- backbone_sub = {
+ -- ...
+ -- },
+ -- ...
+ -- },
},
+ -- Optional: additional peer groups, possibly with other limits
+ -- backbone2 = {
+ -- ...
+ -- },
},
},
@@ -140,13 +157,13 @@
},
-- Node roles
- -- roles {
+ -- roles = {
-- default = 'node',
-- list = {
- -- node = 'Normal Node',
- -- test = 'Test Node',
- -- backbone = 'Backbone Node',
- -- service = 'Service Node',
+ -- 'node',
+ -- 'test',
+ -- 'backbone',
+ -- 'service',
-- },
-- },
diff --git a/docs/site-example/site.mk b/docs/site-example/site.mk
index 9b0e8476..6a16eb53 100644
--- a/docs/site-example/site.mk
+++ b/docs/site-example/site.mk
@@ -5,7 +5,7 @@
# The gluon-mesh-batman-adv-* package must come first because of the dependency resolution
GLUON_SITE_PACKAGES := \
- gluon-mesh-batman-adv-14 \
+ gluon-mesh-batman-adv-15 \
gluon-alfred \
gluon-announced \
gluon-autoupdater \
@@ -20,6 +20,7 @@ GLUON_SITE_PACKAGES := \
gluon-luci-admin \
gluon-luci-autoupdater \
gluon-luci-portconfig \
+ gluon-luci-wifi-config \
gluon-next-node \
gluon-mesh-vpn-fastd \
gluon-radvd \
diff --git a/docs/user/getting_started.rst b/docs/user/getting_started.rst
index adbec026..885a3887 100644
--- a/docs/user/getting_started.rst
+++ b/docs/user/getting_started.rst
@@ -38,7 +38,7 @@ Building the images
-------------------
To build Gluon, first check out the repository. Replace *RELEASE* with the
-version you'd like to checkout, e.g. *v2014.4*.
+version you'd like to checkout, e.g. *v2015.1*.
::
diff --git a/docs/user/site.rst b/docs/user/site.rst
index fdd107b1..bf6c1650 100644
--- a/docs/user/site.rst
+++ b/docs/user/site.rst
@@ -67,21 +67,19 @@ wifi24
``htmode``, the adhoc ssid ``mesh_ssid`` used between devices, the adhoc
bssid ``mesh_bssid`` and the adhoc multicast rate ``mesh_mcast_rate``.
Optionally ``mesh_vlan`` can be used to setup VLAN on top of the 802.11
- ad-hoc interface. The options``mesh_disabled`` and ``client_disabled``
+ ad-hoc interface. The options ``mesh_disabled`` and ``client_disabled``
are optional, too. They allow to disable the SSID by default, e.g. for
preconfigured node. This only affects first configuraton.
Combined in an dictionary, e.g.:
::
wifi24 = {
- ssid = 'http://kiel.freifunk.net/',
+ ssid = 'entenhausen.freifunk.net',
channel = 11,
htmode = 'HT40-',
mesh_ssid = 'ff:ff:ff:ee:ba:be',
mesh_bssid = 'ff:ff:ff:ee:ba:be',
mesh_mcast_rate = 12000,
- client_disabled = true,
- mesh_disabled = false,
},
wifi5
@@ -94,24 +92,40 @@ next_node : package
next_node = {
ip4 = '10.23.42.1',
ip6 = 'fdca:ffee:babe:1::1',
- mac = 'ca:ff:ee:ba:be'
+ mac = 'ca:ff:ee:ba:be:00'
}
fastd_mesh_vpn
- Remote server setup for vpn.
+ Remote server setup for the fastd-based mesh VPN.
+
+ The `enabled` option can be set to true to enable the VPN by default.
+
+ If `configurable` is `false` or unset, the method list will be replaced on updates
+ with the list in the site configuration. Setting `configurable` to `true` will allow the user to
+ add the method ``null`` to the front of the method list or remove ``null`` from it,
+ and make this change survive updates. Settings configurable is necessary for the
+ package `gluon-luci-mesh-vpn-fastd`, which adds a UI for this configuration.
+
+ In any case, the ``null`` method should always be the first method in the list
+ if it is supported at all. You should only set `configurable` to `true` if the
+ configured peers support both the ``null`` method and methods with encryption.
::
fastd_mesh_vpn = {
- methods = {'salsa2012+gmac'},
+ methods = {'salsa2012+umac'},
+ -- enabled = true,
+ -- configurable = true,
mtu = 1426,
- backbone = {
- limit = 2,
- peers = {
- ffki_rz = {
- key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
- remotes = {'ipv4 "vpn1.entenhausen.freifunk.net" port 10000'},
- },
+ groups = {
+ backbone = {
+ limit = 2,
+ peers = {
+ peer1 = {
+ key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
+ remotes = {'ipv4 "vpn1.entenhausen.freifunk.net" port 10000'},
+ },
+ }
}
}
}
@@ -119,6 +133,9 @@ fastd_mesh_vpn
mesh_on_wan : optional
Enables the mesh on the WAN port (``true`` or ``false``).
+mesh_on_lan : optional
+ Enables the mesh on the LAN port (``true`` or ``false``).
+
autoupdater : package
Configuration for the autoupdater feature of Gluon.
::
@@ -150,15 +167,19 @@ roles : optional
``default`` takes the default role which is set initially. This value should be
part of ``list``. If you want node owners to change the role via config mode add
the package ``gluon-luci-node-role`` to ``site.mk``.
+
+ The strings to display in the LuCI interface can be configured per language in the
+ ``i18n/en.po``, ``i18n/de.po``, etc. files of the site repository using message IDs like
+ ``gluon-luci-node-role:role:node`` and ``gluon-luci-node-role:role:backbone``.
::
roles = {
default = 'node',
list = {
- node = 'Normal Node',
- test = 'Test Node',
- backbone = 'Backbone Node',
- service = 'Service Node',
+ 'node',
+ 'test',
+ 'backbone',
+ 'service',
},
},
@@ -220,6 +241,8 @@ GLUON_LANGS
List of languages (as two-letter-codes) to include for the web interface. Should always contain
``en``.
+.. _site-config-mode-texts:
+
Config mode texts
-----------------
@@ -284,7 +307,7 @@ This is a non-exhaustive list of site-repos from various communities:
* `site-ffgoe `_ (Göttingen)
* `site-ffhh `_ (Hamburg)
* `site-ffhgw `_ (Greifswald)
-* `site-ffhl `_ (Lübeck)
+* `site-ffhl `_ (Lübeck)
* `site-ffmd `_ (Magdeburg)
* `site-ffmwu `_ (Mainz, Wiesbaden & Umgebung)
* `site-ffmyk `_ (Mayen-Koblenz)
diff --git a/docs/user/x86.rst b/docs/user/x86.rst
new file mode 100644
index 00000000..b985d6fc
--- /dev/null
+++ b/docs/user/x86.rst
@@ -0,0 +1,29 @@
+x86 support
+===========
+
+Gluon can run on normal x86 systems, for example virtual machines
+and VPN boxes. There is no WLAN support on x86 though.
+
+Targets
+^^^^^^^
+
+There are two targets for x86 images:
+
+`x86-generic`
+ Generic x86 support with many different ethernet drivers; should run on
+ most x86 systems.
+
+ There are three images:
+
+ * `generic` (compressed "raw" image, can written to a disk directly or booted with qemu)
+ * `virtualbox` (VDI image)
+ * `vmware` (VMDK image)
+
+ These images only differ in the image file format, the content is the same. Therefore there is
+ only a single `x86-generic` sysupgrade image instead of three.
+
+ Please note that the `x86-generic` image doesn't include VirtIO support, so another virtual NIC
+ like `pcnet32` must be chosen when using VirtualBox.
+
+`x86-kvm`
+ The `x86-kvm` image uses VirtIO as its harddisk and network driver.
diff --git a/include/Makefile.image b/include/Makefile.image
deleted file mode 100644
index d6a627c6..00000000
--- a/include/Makefile.image
+++ /dev/null
@@ -1,7 +0,0 @@
-override define BuildImage
-prepare: FORCE
- $(call Image/Prepare)
-endef
-
-# The Makefile included here is $(TOPDIR)/target/linux/$(BOARD)/image/Makefile
-include Makefile
diff --git a/include/Makefile.target b/include/Makefile.target
index 19370e52..a78a4044 100644
--- a/include/Makefile.target
+++ b/include/Makefile.target
@@ -7,8 +7,7 @@ override define Kernel/Configure
echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target
- echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target
- $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(BOARD_BUILDDIR)/config-allmods > $(LINUX_DIR)/.config.override
+ $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(BOARD_BUILDDIR)/config-allmods $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
$(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
$(call Kernel/SetNoInitramfs)
rm -rf $(KERNEL_BUILD_DIR)/modules
diff --git a/include/config b/include/config
index faab30c8..ac1a4f8d 100644
--- a/include/config
+++ b/include/config
@@ -19,4 +19,4 @@ CONFIG_ATH_USER_REGD=y
CONFIG_PACKAGE_ATH_DEBUG=y
CONFIG_ATH10K_CT_COMMUNITY_FW=y
-CONFIG_PACKAGE_luci-base_srcdiet=y
+CONFIG_LUCI_SRCDIET=y
diff --git a/include/gluon.mk b/include/gluon.mk
index 88db6f42..fdccef20 100644
--- a/include/gluon.mk
+++ b/include/gluon.mk
@@ -35,7 +35,7 @@ export GLUON_LANGS
ifeq ($(OPENWRT_BUILD),1)
ifeq ($(GLUON_TOOLS),1)
-CONFIG_VERSION_REPO := $(shell $(GLUONDIR)/scripts/site.sh opkg_repo || echo http://downloads.openwrt.org/barrier_breaker/14.07/%S/packages)
+CONFIG_VERSION_REPO := $(shell $(GLUONDIR)/scripts/site.sh opkg_repo || echo http://downloads.openwrt.org/chaos_calmer/15.05-rc1/%S/packages)
export CONFIG_VERSION_REPO
GLUON_SITE_CODE := $(shell $(GLUONDIR)/scripts/site.sh site_code)
@@ -65,7 +65,7 @@ GLUON_TARGET_$$(gluon_target)_BOARD := $(1)
GLUON_TARGET_$$(gluon_target)_SUBTARGET := $(2)
endef
-GLUON_DEFAULT_PACKAGES := gluon-core kmod-ipv6 firewall ip6tables -uboot-envtools
+GLUON_DEFAULT_PACKAGES := gluon-core kmod-ipv6 firewall ip6tables -uboot-envtools -wpad-mini hostapd-mini
override DEFAULT_PACKAGES.router :=
diff --git a/include/package.mk b/include/package.mk
index 271d1de0..76e109e2 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -7,45 +7,20 @@ $(shell cat $(1) | sed -ne '1h; 1!H; $$ {g; s/@/+@/g; s/\n/-@/g; p}')
END__GLUON__CHECK__SITE
endef
-
# Languages supported by LuCi
GLUON_SUPPORTED_LANGS := ca zh_cn en fr de el he hu it ja ms no pl pt_br pt ro ru es sv uk vi
-GLUON_LANG_ca := catalan
-GLUON_LANG_zh_cn := chinese
-GLUON_LANG_en := english
-GLUON_LANG_fr := french
-GLUON_LANG_de := german
-GLUON_LANG_el := greek
-GLUON_LANG_he := hebrew
-GLUON_LANG_hu := hungarian
-GLUON_LANG_it := italian
-GLUON_LANG_ja := japanese
-GLUON_LANG_ms := malay
-GLUON_LANG_no := norwegian
-GLUON_LANG_pl := polish
-GLUON_LANG_pt_br := portuguese-brazilian
-GLUON_LANG_pt := portuguese
-GLUON_LANG_ro := romanian
-GLUON_LANG_ru := russian
-GLUON_LANG_es := spanish
-GLUON_LANG_sv := swedish
-GLUON_LANG_uk := ukrainian
-GLUON_LANG_vi := vietnamese
+GLUON_I18N_PACKAGES := $(foreach lang,$(GLUON_SUPPORTED_LANGS),+LUCI_LANG_$(lang):luci-i18n-base-$(lang))
+GLUON_I18N_CONFIG := $(foreach lang,$(GLUON_SUPPORTED_LANGS),CONFIG_LUCI_LANG_$(lang))
+GLUON_ENABLED_LANGS := $(foreach lang,$(GLUON_SUPPORTED_LANGS),$(if $(CONFIG_LUCI_LANG_$(lang)),$(lang)))
-GLUON_I18N_PACKAGES := $(foreach lang,$(GLUON_SUPPORTED_LANGS),+GLUON_LANG_$(lang):luci-i18n-$(GLUON_LANG_$(lang)))
-GLUON_I18N_CONFIG := $(foreach lang,$(GLUON_SUPPORTED_LANGS),CONFIG_GLUON_LANG_$(lang))
-GLUON_ENABLED_LANGS := $(foreach lang,$(GLUON_SUPPORTED_LANGS),$(if $(CONFIG_GLUON_LANG_$(lang)),$(lang)))
-
-
-GLUON_PO2LMO := $(BUILD_DIR)/luci/build/po2lmo
define GluonBuildI18N
mkdir -p $$(PKG_BUILD_DIR)/i18n
for lang in $$(GLUON_ENABLED_LANGS); do \
if [ -e $(2)/$$$$lang.po ]; then \
rm -f $$(PKG_BUILD_DIR)/i18n/$(1).$$$$lang.lmo; \
- $(GLUON_PO2LMO) $(2)/$$$$lang.po $$(PKG_BUILD_DIR)/i18n/$(1).$$$$lang.lmo; \
+ po2lmo $(2)/$$$$lang.po $$(PKG_BUILD_DIR)/i18n/$(1).$$$$lang.lmo; \
fi; \
done
endef
diff --git a/include/toplevel.mk b/include/toplevel.mk
index 74a95997..72522da5 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -48,10 +48,6 @@ else
export HOSTCC_WRAPPER:=$(HOSTCC)
endif
-ifeq ($(FORCE),)
- .config scripts/config/conf scripts/config/mconf: tmp/.prereq-build
-endif
-
SCAN_COOKIE?=$(shell echo $$$$)
export SCAN_COOKIE
diff --git a/modules b/modules
index 3e3927fd..d0c43d05 100644
--- a/modules
+++ b/modules
@@ -1,18 +1,19 @@
GLUON_FEEDS='openwrt gluon routing luci'
-OPENWRT_REPO=git://git.openwrt.org/14.07/openwrt.git
-OPENWRT_COMMIT=229d60fdb45c34902d402938e231c006f7c73931
+OPENWRT_REPO=git://git.openwrt.org/openwrt.git
+OPENWRT_COMMIT=53a178af743eb1a463c806ee79d1e622969ad6ef
PACKAGES_OPENWRT_REPO=git://github.com/openwrt/packages.git
-PACKAGES_OPENWRT_COMMIT=01fcd1f29174a56d6ddb59901ed8c67ea42c3a8f
-PACKAGES_OPENWRT_BRANCH=for-14.07
+PACKAGES_OPENWRT_COMMIT=914beae80e848c161214464fba7a9826c66bbf26
+PACKAGES_OPENWRT_BRANCH=for-15.05
PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
-PACKAGES_GLUON_COMMIT=e8ee21d116a0abc2e328b0ee181d79845654582e
+PACKAGES_GLUON_COMMIT=dcc5a5ab74822492877eadcba5fc3ad845ee65db
PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
-PACKAGES_ROUTING_COMMIT=5d4ad63897b435d5df0f39a49bd58962c22c33b8
-PACKAGES_ROUTING_BRANCH=for-14.07
+PACKAGES_ROUTING_COMMIT=b1c3bdfbf47003088198bf8ef699a94cc29e3eca
+PACKAGES_ROUTING_BRANCH=for-15.05
PACKAGES_LUCI_REPO=git://github.com/openwrt/luci.git
-PACKAGES_LUCI_COMMIT=f81be49ae756dab82e1758a6c9de145f0d36960e
+PACKAGES_LUCI_COMMIT=7a54785ea616df1e72f20b9cad2f1a6b3097f7b5
+PACKAGES_LUCI_BRANCH=for-15.05
diff --git a/package/gluon-announce/files/usr/lib/lua/gluon/announce.lua b/package/gluon-announce/files/usr/lib/lua/gluon/announce.lua
index 7f3f62e2..17109785 100644
--- a/package/gluon-announce/files/usr/lib/lua/gluon/announce.lua
+++ b/package/gluon-announce/files/usr/lib/lua/gluon/announce.lua
@@ -2,12 +2,12 @@
module('gluon.announce', package.seeall)
-fs = require 'luci.fs'
+fs = require 'nixio.fs'
uci = require('luci.model.uci').cursor()
util = require 'luci.util'
local function collect_entry(entry)
- if fs.isdirectory(entry) then
+ if fs.stat(entry, 'type') == 'dir' then
return collect_dir(entry)
else
return setfenv(loadfile(entry), _M)()
@@ -17,7 +17,7 @@ end
function collect_dir(dir)
local ret = {}
- for _, entry in ipairs(fs.dir(dir)) do
+ for entry in fs.dir(dir) do
if entry:sub(1, 1) ~= '.' then
local ok, val = pcall(collect_entry, dir .. '/' .. entry)
if ok then
diff --git a/package/gluon-announced/files/lib/gluon/upgrade/400-announced-firewall b/package/gluon-announced/files/lib/gluon/upgrade/400-announced-firewall
new file mode 100755
index 00000000..77acb1b9
--- /dev/null
+++ b/package/gluon-announced/files/lib/gluon/upgrade/400-announced-firewall
@@ -0,0 +1,18 @@
+#!/usr/bin/lua
+
+local uci = require('luci.model.uci').cursor()
+
+-- Allow announced port on WAN to allow resolving neighbours over mesh-on-wan
+uci:section('firewall', 'rule', 'wan_announced',
+ {
+ name = 'wan_announced',
+ src = 'wan',
+ src_ip = 'fe80::/64',
+ dest_port = '1001',
+ proto = 'udp',
+ target = 'ACCEPT',
+ }
+)
+
+uci:save('firewall')
+uci:commit('firewall')
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua b/package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
index 8f55f540..39ba00a9 100644
--- a/package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
+++ b/package/gluon-config-mode-core/files/usr/lib/lua/luci/controller/gluon-config-mode/index.lua
@@ -49,10 +49,11 @@ function action_reboot()
uci:commit("gluon-setup-mode")
if nixio.fork() ~= 0 then
- local fs = require "luci.fs"
+ local fs = require "nixio.fs"
+ local util = require "nixio.util"
local parts_dir = "/lib/gluon/config-mode/reboot/"
- local files = fs.dir(parts_dir)
+ local files = util.consume(fs.dir(parts_dir))
table.sort(files)
@@ -69,7 +70,7 @@ function action_reboot()
local hostname = uci:get_first("system", "system", "hostname")
- luci.template.render("gluon-config-mode/reboot", { parts=parts
+ luci.template.render("gluon/config-mode/reboot", { parts=parts
, hostname=hostname
})
else
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua b/package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
index 706543b2..dda5e58c 100644
--- a/package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
+++ b/package/gluon-config-mode-core/files/usr/lib/lua/luci/model/cbi/gluon-config-mode/wizard.lua
@@ -1,11 +1,12 @@
local wizard_dir = "/lib/gluon/config-mode/wizard/"
local i18n = luci.i18n
local uci = luci.model.uci.cursor()
-local fs = require "luci.fs"
+local fs = require "nixio.fs"
+local util = require "nixio.util"
local f, s
local wizard = {}
-local files = fs.dir(wizard_dir)
+local files = util.consume(fs.dir(wizard_dir))
table.sort(files)
@@ -17,7 +18,7 @@ end
f = SimpleForm("wizard")
f.reset = false
-f.template = "gluon-config-mode/cbi/wizard"
+f.template = "gluon/cbi/config-mode"
for _, s in ipairs(wizard) do
s.section(f)
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon-config-mode/cbi/wizard.htm b/package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon/cbi/config-mode.htm
similarity index 100%
rename from package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon-config-mode/cbi/wizard.htm
rename to package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon/cbi/config-mode.htm
diff --git a/package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon-config-mode/reboot.htm b/package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon/config-mode/reboot.htm
similarity index 100%
rename from package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon-config-mode/reboot.htm
rename to package/gluon-config-mode-core/files/usr/lib/lua/luci/view/gluon/config-mode/reboot.htm
diff --git a/package/gluon-core/Makefile b/package/gluon-core/Makefile
index 2c632a00..bf9768e2 100644
--- a/package/gluon-core/Makefile
+++ b/package/gluon-core/Makefile
@@ -12,21 +12,7 @@ define Package/gluon-core
SECTION:=gluon
CATEGORY:=Gluon
TITLE:=Base files of Gluon
- DEPENDS:=+gluon-site +lua-platform-info +luci-lib-nixio +odhcp6c +firewall
-endef
-
-
-define LangConfig
-config GLUON_LANG_$(1)
- bool "$(GLUON_LANG_$(1)) language support"
- depends on PACKAGE_gluon-core
- default n
-
-endef
-
-
-define Package/gluon-core/config
-$(foreach lang,$(GLUON_SUPPORTED_LANGS),$(call LangConfig,$(lang)))
+ DEPENDS:=+gluon-site +lua-platform-info +luci-base +odhcp6c +firewall
endef
diff --git a/package/gluon-core/files/lib/gluon/upgrade/001-upgrade b/package/gluon-core/files/lib/gluon/upgrade/001-upgrade
index 6caba148..5d53398c 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/001-upgrade
+++ b/package/gluon-core/files/lib/gluon/upgrade/001-upgrade
@@ -1,10 +1,10 @@
#!/usr/bin/lua
-local fs = require 'luci.fs'
+local fs = require 'nixio.fs'
local sysconfig = require 'gluon.sysconfig'
-if fs.isfile('/lib/gluon/version/core') and not sysconfig.gluon_version then
+if fs.stat('/lib/gluon/version/core') and not sysconfig.gluon_version then
-- This isn't an initial upgrade, so set gluon_version
sysconfig.gluon_version = ''
end
diff --git a/package/gluon-core/files/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/files/lib/gluon/upgrade/010-primary-mac
index 70aee39d..d7c6e968 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/files/lib/gluon/upgrade/010-primary-mac
@@ -10,7 +10,7 @@ end
local platform = require 'gluon.platform'
-local fs = require 'luci.fs'
+local fs = require 'nixio.fs'
local util = require 'luci.util'
diff --git a/package/gluon-core/files/lib/gluon/upgrade/110-network b/package/gluon-core/files/lib/gluon/upgrade/110-network
index 1fd78f3c..07961788 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/110-network
+++ b/package/gluon-core/files/lib/gluon/upgrade/110-network
@@ -9,6 +9,7 @@ uci:section('network', 'interface', 'wan',
{
ifname = sysconfig.wan_ifname,
type = 'bridge',
+ igmp_snooping = 0,
peerdns = 0,
auto = 1,
}
diff --git a/package/gluon-core/files/lib/gluon/upgrade/999-version b/package/gluon-core/files/lib/gluon/upgrade/999-version
index 62f08206..9731692e 100755
--- a/package/gluon-core/files/lib/gluon/upgrade/999-version
+++ b/package/gluon-core/files/lib/gluon/upgrade/999-version
@@ -2,7 +2,7 @@
local sysconfig = require 'gluon.sysconfig'
-local fs = require 'luci.fs'
+local fs = require 'nixio.fs'
local util = require 'luci.util'
diff --git a/package/gluon-luci-admin/Makefile b/package/gluon-luci-admin/Makefile
index 0208ace2..3e20d179 100644
--- a/package/gluon-luci-admin/Makefile
+++ b/package/gluon-luci-admin/Makefile
@@ -4,12 +4,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-luci-admin
-PKG_VERSION:=0.1
+PKG_VERSION:=1
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-include $(INCLUDE_DIR)/package.mk
+include $(GLUONDIR)/include/package.mk
+
+PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
define Package/gluon-luci-admin
SECTION:=gluon
@@ -18,10 +20,6 @@ define Package/gluon-luci-admin
DEPENDS:=gluon-config-mode-core-virtual
endef
-define Package/gluon-luci-admin/description
- Luci based config mode
-endef
-
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
@@ -30,10 +28,12 @@ define Build/Configure
endef
define Build/Compile
+ $(call GluonBuildI18N,gluon-luci-admin,i18n)
endef
define Package/gluon-luci-admin/install
$(CP) ./files/* $(1)/
+ $(call GluonInstallI18N,gluon-luci-admin,$(1))
endef
$(eval $(call BuildPackage,gluon-luci-admin))
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua b/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua
index 284cc162..55c0a248 100644
--- a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua
+++ b/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/index.lua
@@ -29,11 +29,11 @@ function index()
root.index = true
end
- local page = entry({"admin"}, alias("admin", "index"), "Expert Mode", 10)
+ local page = entry({"admin"}, alias("admin", "index"), _("Expert Mode"), 10)
page.sysauth = "root"
page.sysauth_authenticator = function() return "root" end
page.index = true
- entry({"admin", "index"}, cbi("admin/info"), _("Info"), 1).ignoreindex = true
- entry({"admin", "remote"}, cbi("admin/remote"), _("Remotezugriff"), 10)
+ entry({"admin", "index"}, cbi("admin/info"), _("Information"), 1).ignoreindex = true
+ entry({"admin", "remote"}, cbi("admin/remote"), _("Remote access"), 10)
end
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua b/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua
index 868c2bbd..29aecb95 100644
--- a/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua
+++ b/package/gluon-luci-admin/files/usr/lib/lua/luci/controller/admin/upgrade.lua
@@ -18,7 +18,7 @@ module("luci.controller.admin.upgrade", package.seeall)
function index()
local has_platform = nixio.fs.access("/lib/upgrade/platform.sh")
if has_platform then
- entry({"admin", "upgrade"}, call("action_upgrade"), "Firmware aktualisieren", 90)
+ entry({"admin", "upgrade"}, call("action_upgrade"), _("Upgrade firmware"), 90)
entry({"admin", "upgrade", "reboot"}, template("admin/upgrade_reboot"), nil, nil)
end
end
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua b/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua
index dfba5e66..5797b623 100644
--- a/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua
+++ b/package/gluon-luci-admin/files/usr/lib/lua/luci/model/cbi/admin/remote.lua
@@ -16,15 +16,13 @@ $Id$
local fs = require "nixio.fs"
-local m = Map("system", "SSH-Keys")
-m.submit = "Speichern"
-m.reset = "Zurücksetzen"
+local m = Map("system", translate("SSH keys"))
m.pageaction = false
m.template = "admin/expertmode"
if fs.access("/etc/config/dropbear") then
local s = m:section(TypedSection, "_dummy1", nil,
- "Hier hast du die Möglichkeit SSH-Keys (einen pro Zeile) zu hinterlegen:")
+ translate("You can provide your SSH keys here (one per line):"))
s.addremove = false
s.anonymous = true
@@ -57,23 +55,22 @@ if fs.access("/etc/config/dropbear") then
end
end
-local m2 = Map("system", "Passwort")
-m2.submit = "Speichern"
+local m2 = Map("system", translate("Password"))
m2.reset = false
m2.pageaction = false
m2.template = "admin/expertmode"
-local s = m2:section(TypedSection, "_dummy2", nil,
-[[Alternativ kannst du auch ein Passwort setzen. Wähle bitte ein sicheres Passwort, das du nirgendwo anders verwendest.
-Beim Setzen eines leeren Passworts wird der Login per Passwort gesperrt (dies ist die Standard-Einstellung).]])
+local s = m2:section(TypedSection, "_dummy2", nil, translate(
+ "Alternatively, you can set a password to access you node. Please choose a secure password you don't use anywhere else.
"
+ .. "If you set an empty password, login via password will be disabled. This is the default."))
s.addremove = false
s.anonymous = true
-local pw1 = s:option(Value, "pw1", "Passwort")
+local pw1 = s:option(Value, "pw1", translate("Password"))
pw1.password = true
-local pw2 = s:option(Value, "pw2", "Wiederholung")
+local pw2 = s:option(Value, "pw2", translate("Confirmation"))
pw2.password = true
function s.cfgsections()
@@ -87,18 +84,18 @@ function m2.on_commit(map)
if v1 and v2 then
if v1 == v2 then
if #v1 > 0 then
- if luci.sys.user.setpasswd(luci.dispatcher.context.authuser, v1) == 0 then
- m2.message = "Passwort geändert."
- else
- m2.errmessage = "Das Passwort konnte nicht geändert werden."
- end
+ if luci.sys.user.setpasswd(luci.dispatcher.context.authuser, v1) == 0 then
+ m2.message = translate("Password changed.")
+ else
+ m2.errmessage = translate("Unable to change the password.")
+ end
else
-- We don't check the return code here as the error 'password for root is already locked' is normal...
os.execute('passwd -l root >/dev/null')
- m2.message = "Passwort gelöscht."
+ m2.message = translate("Password removed.")
end
else
- m2.errmessage = "Die beiden Passwörter stimmen nicht überein."
+ m2.errmessage = translate("The password and the confirmation differ.")
end
end
end
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/info.htm b/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/info.htm
index 9c384399..da403c1b 100644
--- a/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/info.htm
+++ b/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/info.htm
@@ -1,7 +1,8 @@
<%-
- local fs = require 'luci.fs'
+ local fs = require 'nixio.fs'
local uci = require('luci.model.uci').cursor()
local util = require 'luci.util'
+ local i18n = require 'luci.i18n'
local site = require 'gluon.site_config'
local sysconfig = require 'gluon.sysconfig'
@@ -9,13 +10,13 @@
local keys = {
- hostname = 'Hostname',
- primary_mac = 'MAC-Adresse',
- model = 'Hardware-Modell',
- version = 'Gluon-Version',
- release = 'Firmware-Release',
- site = 'Site',
- pubkey = 'Öffentlicher VPN-Schlüssel',
+ hostname = i18n.translate('Hostname'),
+ primary_mac = i18n.translate('MAC address'),
+ model = i18n.translate('Hardware model'),
+ version = i18n.translate('Gluon version'),
+ release = i18n.translate('Firmware release'),
+ site = i18n.translate('Site'),
+ pubkey = i18n.translate('Public VPN key'),
}
local values = {
@@ -36,7 +37,7 @@
end
end
-%>
-Info
+<%:Information%>
<% for _, key in ipairs({'hostname', 'primary_mac', 'model', 'version', 'release', 'site', 'pubkey'}) do %>
<%=keys[key]%>
<%=values[key] or 'n/a'%>
diff --git a/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/upgrade.htm b/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/upgrade.htm
index 343ed495..a2b82235 100644
--- a/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/upgrade.htm
+++ b/package/gluon-luci-admin/files/usr/lib/lua/luci/view/admin/upgrade.htm
@@ -15,41 +15,41 @@ $Id$
<%+header%>
-
Firmware aktualisieren
+
<%:Upgrade firmware%>