This commit is contained in:
@@ -7,14 +7,14 @@
|
|||||||
# Default-Stop:
|
# Default-Stop:
|
||||||
# Short-Description: Pre-flight Tailscale update
|
# Short-Description: Pre-flight Tailscale update
|
||||||
|
|
||||||
START=50 # Run before Tailscale (typically START~80)
|
START=50 # Run before Tailscale (typically START~80)
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command /bin/sh -c \
|
procd_set_param command /bin/sh -c \
|
||||||
'while ! /etc/ldlda_help/update_tailscale.sh; do sleep 5; done'
|
'while ! /etc/ldlda_help/update_tailscale.sh; do sleep 5; done'
|
||||||
# procd_set_param respawn 0 0 0
|
procd_set_param respawn 9999 15 1
|
||||||
procd_set_param stdout 1
|
procd_set_param stdout 1
|
||||||
procd_set_param stderr 1
|
procd_set_param stderr 1
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
|
|||||||
@@ -2,24 +2,16 @@
|
|||||||
START=66
|
START=66
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
|
|
||||||
# reboot == new file.
|
|
||||||
FLAG=/var/wakey_updated.flag
|
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
[ -f "$FLAG" ] && return
|
|
||||||
|
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command /bin/sh -c \
|
procd_set_param command /bin/sh -c \
|
||||||
'while ! /etc/ldlda_help/update_wakey.sh; do sleep 5; done'
|
'while ! /etc/ldlda_help/update_wakey.sh; do sleep 5; done'
|
||||||
|
procd_set_param respawn 9999 15 1
|
||||||
procd_set_param stdout 1
|
procd_set_param stdout 1
|
||||||
procd_set_param stderr 1
|
procd_set_param stderr 1
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_service() {
|
stop_service() {
|
||||||
: # no-op
|
: # no-op
|
||||||
}
|
|
||||||
|
|
||||||
post_service() {
|
|
||||||
touch "$FLAG"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ elif [ -f /rom/etc/resolv.conf ]; then
|
|||||||
cp -af /rom/etc/resolv.conf /etc/resolv.conf
|
cp -af /rom/etc/resolv.conf /etc/resolv.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -x "$(which tailscale)" ]; then
|
||||||
|
tailscale update
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# 1. Fetch the latest version number from Tailscale's site
|
# 1. Fetch the latest version number from Tailscale's site
|
||||||
LATEST=$(curl -s https://pkgs.tailscale.com/stable/ | grep -Eo 'tailscale_[0-9\.]+_arm.tgz' | head -n1)
|
LATEST=$(curl -s https://pkgs.tailscale.com/stable/ | grep -Eo 'tailscale_[0-9\.]+_arm.tgz' | head -n1)
|
||||||
|
|
||||||
@@ -20,7 +25,6 @@ URL="https://pkgs.tailscale.com/stable/${LATEST}"
|
|||||||
|
|
||||||
cd /var/tmp
|
cd /var/tmp
|
||||||
|
|
||||||
|
|
||||||
if [ -f "$LATEST" ]; then
|
if [ -f "$LATEST" ]; then
|
||||||
echo "file exists"
|
echo "file exists"
|
||||||
rm "$LATEST"
|
rm "$LATEST"
|
||||||
|
|||||||
@@ -15,13 +15,18 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
# reboot == new file.
|
||||||
|
FLAG=/var/wakey_updated.flag
|
||||||
ARCH=${WAKEY_ARCH:-armv7-unknown-linux-musleabihf}
|
ARCH=${WAKEY_ARCH:-armv7-unknown-linux-musleabihf}
|
||||||
TMPDIR="/var/tmp"
|
TMPDIR="/var/tmp"
|
||||||
TMPFILE="$TMPDIR/wakey-rootfs.$$.$ARCH.tgz"
|
TMPFILE="$TMPDIR/wakey-rootfs.$$.$ARCH.tgz"
|
||||||
STAGING="$TMPDIR/wakey-rootfs.$$.$ARCH"
|
STAGING="$TMPDIR/wakey-rootfs.$$.$ARCH"
|
||||||
|
|
||||||
log() { echo "[update_wakey] $*"; }
|
log() { echo "[update_wakey] $*"; }
|
||||||
fail() { echo "[update_wakey] ERROR: $*" >&2; exit 1; }
|
fail() {
|
||||||
|
echo "[update_wakey] ERROR: $*" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
http_get() {
|
http_get() {
|
||||||
# http_get <url>
|
# http_get <url>
|
||||||
@@ -65,13 +70,14 @@ latest_asset_url() {
|
|||||||
API="https://$HOST/api/v1/repos/$OWNER/$REPO/releases/latest"
|
API="https://$HOST/api/v1/repos/$OWNER/$REPO/releases/latest"
|
||||||
RESP=$(http_get "$API") || return 1
|
RESP=$(http_get "$API") || return 1
|
||||||
# Extract the first browser_download_url ending with our ARCH .tgz (BusyBox-friendly)
|
# Extract the first browser_download_url ending with our ARCH .tgz (BusyBox-friendly)
|
||||||
echo "$RESP" \
|
echo "$RESP" |
|
||||||
| grep -o '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*'"$ARCH"'\.tgz"' \
|
grep -o '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*'"$ARCH"'\.tgz"' |
|
||||||
| head -n1 \
|
head -n1 |
|
||||||
| cut -d '"' -f 4
|
cut -d '"' -f 4
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
[ -f "$FLAG" ] && return
|
||||||
URL="${WAKEY_TGZ_URL:-}"
|
URL="${WAKEY_TGZ_URL:-}"
|
||||||
if [ -z "$URL" ]; then
|
if [ -z "$URL" ]; then
|
||||||
HOST=${WAKEY_HOST:-git.ldlda.com}
|
HOST=${WAKEY_HOST:-git.ldlda.com}
|
||||||
@@ -109,7 +115,7 @@ main() {
|
|||||||
for f in \
|
for f in \
|
||||||
"$STAGING/etc/init.d/"* \
|
"$STAGING/etc/init.d/"* \
|
||||||
"$STAGING/etc/ldlda_help/"*.sh \
|
"$STAGING/etc/ldlda_help/"*.sh \
|
||||||
"$STAGING/root/.bin/"*.sh ; do
|
"$STAGING/root/.bin/"*.sh; do
|
||||||
[ -f "$f" ] && sed -i 's/\r$//' "$f" 2>/dev/null || true
|
[ -f "$f" ] && sed -i 's/\r$//' "$f" 2>/dev/null || true
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -123,6 +129,7 @@ main() {
|
|||||||
/etc/init.d/wakey enable || true
|
/etc/init.d/wakey enable || true
|
||||||
/etc/init.d/wakey restart || /etc/init.d/wakey start || true
|
/etc/init.d/wakey restart || /etc/init.d/wakey start || true
|
||||||
fi
|
fi
|
||||||
|
touch "$FLAG"
|
||||||
log "done"
|
log "done"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,10 @@ if [ -z "$BIN_TMP" ] || [ -z "$DEST" ]; then
|
|||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -f "$BIN_TMP" ] || { echo "tmp binary not found: $BIN_TMP" >&2; exit 1; }
|
[ -f "$BIN_TMP" ] || {
|
||||||
|
echo "tmp binary not found: $BIN_TMP" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
chmod +x "$BIN_TMP" || true
|
chmod +x "$BIN_TMP" || true
|
||||||
|
|
||||||
if [ "$RESTART" = "1" ]; then
|
if [ "$RESTART" = "1" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user