fix(generators): call PKG_INSTALL without '$' under 'set -u'

In bash with 'set -u', an undefined variable triggers an unbound-variable
error. Functions don't satisfy '$FUNCNAME' expansion under set -u, so
the previous fix that kept '$PKG_INSTALL pkg...' as the call syntax
broke every call site:

    docker.sh: line 53: PKG_INSTALL: unbound variable

Fix: drop the leading '$' in all 47 call sites across 6 generator
files. 'PKG_INSTALL pkg...' is a normal command/function lookup and
behaves identically under set -u or not.

Verified: web UI served docker.sh now has 'PKG_INSTALL' (no $);
'bash -n' passes; smoke run with stubbed PATH hits real line-53 call
site, mock apt-get receives correct args, exit 0, no unbound variable.
Sampled 6 other generators also syntax-OK with $PKG_INSTALL count 0.
This commit is contained in:
Your Name
2026-08-07 13:20:18 +08:00
parent bee37565e1
commit 66aefd6161
6 changed files with 47 additions and 47 deletions
+3 -3
View File
@@ -43,7 +43,7 @@ class WireGuard(Generator):
dns = p.get("peer_dns", "1.1.1.1, 8.8.8.8")
out = [bash_header(self.title)]
out.append('log "Installing WireGuard..."')
out.append('$PKG_INSTALL wireguard qrencode')
out.append('PKG_INSTALL wireguard qrencode')
out.append('')
# server keypair
if not sk:
@@ -178,7 +178,7 @@ class Dnsmasq(Generator):
listen = p.get("listen_address", "0.0.0.0")
out = [bash_header(self.title)]
out.append('log "Installing dnsmasq..."')
out.append('$PKG_INSTALL dnsmasq')
out.append('PKG_INSTALL dnsmasq')
out.append('cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak.$(date +%s) || true')
cfg = []
cfg.append('listen-address=' + listen)
@@ -226,7 +226,7 @@ class OpenVPN(Generator):
n = int(p.get("clients", "1"))
out = [bash_header(self.title)]
out.append('log "Installing openvpn + easy-rsa..."')
out.append('$PKG_INSTALL openvpn easy-rsa')
out.append('PKG_INSTALL openvpn easy-rsa')
out.append('make-cadir /etc/openvpn/easy-rsa')
out.append('cd /etc/openvpn/easy-rsa')
out.append('./easyrsa init-pki')