Skip to content
Snippets Groups Projects
Commit 2454c8ab authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

Add gluon-legacy package with legacy upgrade scripts

parent 65c7db78
No related branches found
No related tags found
No related merge requests found
Showing
with 232 additions and 11 deletions
config wizard config wizard
option enabled '1' option enabled '0'
option configured '0' option configured '0'
#!/bin/sh
OLD_CFG=/etc/config/config_mode
NEW_CFG=/etc/config/gluon-config-mode
[ -f $OLD_CFG ] && mv $OLD_CFG $NEW_CFG
...@@ -5,6 +5,13 @@ UPGRADE_DIR=/lib/gluon/upgrade ...@@ -5,6 +5,13 @@ UPGRADE_DIR=/lib/gluon/upgrade
VERSION_DIR=/lib/gluon/version VERSION_DIR=/lib/gluon/version
if [ -x /lib/gluon/legacy/legacy-upgrade ] && /lib/gluon/legacy/legacy-upgrade; then
HAS_LEGACY=1
else
HAS_LEGACY=
fi
mkdir -p "$VERSION_DIR" mkdir -p "$VERSION_DIR"
...@@ -33,7 +40,11 @@ do_component() { ...@@ -33,7 +40,11 @@ do_component() {
local oldversion="$(oldversion_of "$component")" local oldversion="$(oldversion_of "$component")"
if [ -z "$oldversion" ]; then if [ -z "$oldversion" ]; then
do_dir initial if [ "$HAS_LEGACY" ]; then
do_dir legacy
else
do_dir initial
fi
else else
local v local v
...@@ -62,3 +73,7 @@ for component in *; do ...@@ -62,3 +73,7 @@ for component in *; do
[ "$component" != 'core' ] || continue [ "$component" != 'core' ] || continue
do_component "$component" do_component "$component"
done done
if [ "$HAS_LEGACY" ]; then
/lib/gluon/legacy/legacy-upgrade-late
fi
include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-legacy
PKG_VERSION:=1
PKG_RELEASE:=1.$(GLUON_CONFIG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/gluon-legacy
SECTION:=gluon
CATEGORY:=Gluon
TITLE:=Legacy update scripts
DEPENDS:=+gluon-legacy
endef
define Package/gluon-legacy/description
Gluon community wifi mesh firmware framework: legacy update scripts
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/gluon-legacy/install
$(GLUON_GENERATE) ./generate/* $(1)/
endef
$(eval $(call BuildPackage,gluon-legacy))
#!/bin/sh
RET=1
for file in @legacy.version_files@; do
if [ -e "$file" ]; then
rm "$file"
RET=0
fi
done
exit $RET
#!/bin/sh
rm -f @legacy.old_files@
#!/bin/sh
. /lib/functions.sh
for config in @legacy.config_mode_configs@; do
if [ "$(uci -q get "$config".configured)" = '1' ]; then
uci_set gluon-config-mode '@wizard[0]' 'configured' '1'
uci_commit gluon-config-mode
break
fi
done
#!/bin/sh
. /lib/gluon/functions/sysconfig.sh
. /lib/ar71xx.sh
get_primary_mac() {
case "$(ar71xx_board_name)" in
tl-wdr3600|tl-wdr4300)
cat /sys/class/ieee80211/phy1/macaddress
;;
*)
cat /sys/class/ieee80211/phy0/macaddress
;;
esac
}
iface_exists() {
local name="$1"
ip link show dev "${name//.*/}" >/dev/null 2>&1
}
remove_bat0() {
sed -r -e 's/(^| )bat0( |$)/ /g' -e 's/^ | $//g'
}
mesh_ifname="$(uci get 'network.@legacy.mesh_ifname@.ifname' | remove_bat0)"
wan_ifname="$(uci get network.wan.ifname | remove_bat0)"
if [ -n "$wan_ifname" ] && iface_exists "$wan_ifname"; then
[ -z "$mesh_ifname" ] || sysconfig_set lan_ifname "$mesh_ifname"
sysconfig_set wan_ifname "$wan_ifname"
else
sysconfig_set wan_ifname "$mesh_ifname"
fi
sysconfig_set primary_mac "$(get_primary_mac)"
#!/bin/sh
. /lib/functions.sh
. /lib/gluon/functions/sysconfig.sh
case "$(ar71xx_board_name)" in
tl-wr1043nd|\
tl-wdr3600|\
tl-wdr4300) # fix up duplicate mac addresses
local mainaddr=$(sysconfig primary_mac)
local oIFS="$IFS"; IFS=":"; set -- $mainaddr; IFS="$oIFS"
local b2mask=0x02
local wanaddr=$(printf "%02x:%s:%s:%02x:%s:%02x" $(( 0x$1 | $b2mask )) $2 $3 $(( (0x$4 + 1) % 0x100 )) $5 $(( (0x$6 + 1) % 0x100 )) )
uci_set network wan macaddr "$wanaddr"
;;
esac
uci_commit network
#!/bin/sh
. /lib/functions.sh
config_load wireless
delete_legacy_iface() {
local iface="$1"
for wifi in @legacy.wifi_names@; do
if [ "$wifi" = "$iface" ]; then
uci_remove wireless "$iface"
break
fi
done
}
config_foreach delete_legacy_iface 'wifi-iface'
uci_commit wireless
#!/bin/sh
has_root_pwd() {
local pwd=$([ -f "$1" ] && cat "$1")
pwd="${pwd#*root:}"
pwd="${pwd%%:*}"
test -n "${pwd#[\!x]}"
}
has_root_pwd /etc/passwd || has_root_pwd /etc/shadow || passwd -l root
#!/bin/sh
. /lib/functions.sh
. /lib/gluon/functions/sysconfig.sh
uci_rename network '@legacy.mesh_ifname@' 'client'
if [ "$(uci_get network client proto)" = 'none' ]; then
uci_remove network client auto
uci_remove network client accept_ra
uci_set network client proto 'dhcpv6'
uci_set network client reqprefix 'no'
fi
uci_commit network
#!/bin/sh
. /lib/functions.sh
SECRET=
for config in @legacy.fastd_configs@; do
if [ -z "$SECRET" ]; then
SECRET="$(uci_get fastd "$config" secret)"
fi
uci_remove fastd "$config"
done
if [ -n "$SECRET" ]; then
uci_add fastd fastd 'mesh_vpn'
uci_set fastd 'mesh_vpn' 'secret' "$SECRET"
fi
uci_commit fastd
#!/bin/sh
. /lib/functions.sh
for config in @legacy.tc_configs@; do
if uci -q get "$config" >/dev/null; then
uci_add gluon-simple-tc interface 'mesh_vpn'
uci_set gluon-simple-tc 'mesh_vpn' ifname 'mesh-vpn'
uci_set gluon-simple-tc 'mesh_vpn' enabled "$(uci get "$config".enabled)"
uci_set gluon-simple-tc 'mesh_vpn' limit_ingress "$(uci get "$config".downstream)"
uci_set gluon-simple-tc 'mesh_vpn' limit_egress "$(uci get "$config".upstream)"
uci_commit gluon-simple-tc
break
fi
done
...@@ -25,9 +25,6 @@ add_user gluon-fastd 800 ...@@ -25,9 +25,6 @@ add_user gluon-fastd 800
uci_add fastd fastd mesh_vpn uci_add fastd fastd mesh_vpn
uci_remove fastd mesh_vpn config
uci_remove fastd mesh_vpn config_peer_dir
uci_set fastd mesh_vpn user 'gluon-fastd' uci_set fastd mesh_vpn user 'gluon-fastd'
uci_set fastd mesh_vpn syslog_level 'verbose' uci_set fastd mesh_vpn syslog_level 'verbose'
uci_set fastd mesh_vpn interface 'mesh-vpn' uci_set fastd mesh_vpn interface 'mesh-vpn'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment