Prevent flashing older builds

This commit is contained in:
2020-05-21 10:53:32 -04:00
parent 4b05570ce3
commit 98acb8e0db

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# This script/function will build and flash/upgrade OpenWRT based on custom profiles # This script/function will build and flash/upgrade OpenWRT based on user-defined custom profiles
# For Fedora/Debian/Ubuntu only
# #
# MIT License # MIT License
# Copyright (c) 2020 Bryan Roessler # Copyright (c) 2020 Bryan Roessler
@@ -26,30 +27,33 @@ setDefaults() {
debug "${FUNCNAME[0]}" debug "${FUNCNAME[0]}"
export _target _factory_suffix _sysupgrade_suffix _profile _builddir _debug _filesroot
declare -ag _packages
[[ -z $_debug ]] && _debug="true" # Set to true to enable debugging by default [[ -z $_debug ]] && _debug="true" # Set to true to enable debugging by default
[[ -z $_builddir ]] && _builddir="$PWD" [[ -z $_builddir ]] && _builddir="$PWD"
[[ -z $_filesroot ]] && _filesroot="$_builddir/files/" [[ -z $_filesroot ]] && _filesroot="$_builddir/files/"
# Global default packages for all profiles # Additional packages for all profiles
declare -ag _packages=("luci" "nano" "htop" "tcpdump" "diffutils") _packages+=("luci" "nano" "htop" "tcpdump" "diffutils")
# If no profile is specified, use the TP-Link Archer C7 v2 # If no profile is specified, use the TP-Link Archer C7 v2 dumb AP
[[ -z $_profile ]] && _profile="tplink_archer-c7-v2" [[ -z $_profile ]] && _profile="tplink_archer-c7-v2"
# Custom profiles # Custom profiles
# TP-Link Archer C7 v2 dumb AP # TP-Link Archer C7 v2 dumb AP
if [[ "$_profile" == "tplink_archer-c7-v2" ]]; then if [[ "$_profile" == "tplink_archer-c7-v2" ]]; then
[[ -z $_version ]] && _version="19.07.3" [[ -z $_version ]] && _version="19.07.3"
export _target="ath79/generic" _target="ath79/generic"
export _factory_suffix="squashfs-factory.bin" _factory_suffix="squashfs-factory.bin"
export _sysupgrade_suffix="squashfs-sysupgrade.bin" _sysupgrade_suffix="squashfs-sysupgrade.bin"
_packages+=("-dnsmasq" "-odhcpd" "-iptables") _packages+=("-dnsmasq" "-odhcpd" "-iptables")
# Raspberry Pi 4B router with USB->Ethernet dongle # Raspberry Pi 4B router with USB->Ethernet dongle
elif [[ "$_profile" == "rpi-4" ]]; then elif [[ "$_profile" == "rpi-4" ]]; then
[[ -z $_version ]] && _version="snapshot" [[ -z $_version ]] && _version="snapshot"
export _target="bcm27xx/bcm2711" _target="bcm27xx/bcm2711"
export _factory_suffix="ext4-factory.img" _factory_suffix="ext4-factory.img"
export _sysupgrade_suffix="ext4-sysupgrade.img" _sysupgrade_suffix="ext4-sysupgrade.img"
_packages+=("kmod-usb-net-asix-ax88179" "luci-app-upnp" "luci-app-wireguard" \ _packages+=("kmod-usb-net-asix-ax88179" "luci-app-upnp" "luci-app-wireguard" \
"luci-app-vpn-policy-routing" "-dnsmasq" "dnsmasq-full" "luci-app-ddns") "luci-app-vpn-policy-routing" "-dnsmasq" "dnsmasq-full" "luci-app-ddns")
fi fi
@@ -341,8 +345,8 @@ sshUpgrade() {
echo "Executing remote sysupgrade" echo "Executing remote sysupgrade"
debug "ssh \"$_ssh_upgrade_path\" \"sysupgrade -F /tmp/$_source_fname\"" debug "ssh \"$_ssh_upgrade_path\" \"sysupgrade -F /tmp/$_source_fname\""
# shellcheck disable=SC2029
#ssh "$_ssh_upgrade_path" "sysupgrade -F /tmp/$_source_fname" ssh "$_ssh_upgrade_path" "sysupgrade -F /tmp/$_source_fname"
} }
@@ -354,9 +358,10 @@ __main() {
installPrerequisites installPrerequisites
acquireImageBuilder acquireImageBuilder
extractImageBuilder extractImageBuilder
makeImage if makeImage; then
[[ -n $_ssh_upgrade_path ]] && sshUpgrade [[ -n $_ssh_upgrade_path ]] && sshUpgrade
[[ -n $_flash_dev ]] && flashImage [[ -n $_flash_dev ]] && flashImage
fi
} }
__main "$@" __main "$@"