Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornl6720 <nl6720@gmail.com>2023-05-13 16:22:24 +0300
committernl6720 <nl6720@gmail.com>2023-05-13 16:22:24 +0300
commit798562bbfd2aee65b1ab5c6da5f58fe3aa2e93ee (patch)
tree236718c293441d835b85fa7d13886217257cf650
parent20fc8030a38d7c71c341fd267c12eb6bee3c4549 (diff)
parentf60525103d152923e1321490936cf17fd033bf4d (diff)
Merge remote-tracking branch 'origin/merge-requests/235'
By Zig Globulin * origin/merge-requests/235: wait for networkd online before curl invocation See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/235
-rw-r--r--CHANGELOG.rst3
-rwxr-xr-xconfigs/releng/airootfs/root/.automated_script.sh11
2 files changed, 13 insertions, 1 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 19ff603..3d1172a 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -20,6 +20,9 @@ Deprecated
Fixed
-----
+- Wait for ``network-online.target`` to become active before trying to download the script passed via the ``script=``
+ boot parameter.
+
Removed
-------
diff --git a/configs/releng/airootfs/root/.automated_script.sh b/configs/releng/airootfs/root/.automated_script.sh
index 52c47e6..f257537 100755
--- a/configs/releng/airootfs/root/.automated_script.sh
+++ b/configs/releng/airootfs/root/.automated_script.sh
@@ -16,7 +16,13 @@ automated_script ()
script="$(script_cmdline)"
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
if [[ "${script}" =~ ^((http|https|ftp)://) ]]; then
- curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script >/dev/null
+ # there's no synchronization for network availability before executing this script
+ printf '%s: waiting for network-online.target\n' "$0"
+ until systemctl --quiet is-active network-online.target; do
+ sleep 1
+ done
+ printf '%s: downloading %s\n' "$0" "${script}"
+ curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script
rt=$?
else
cp "${script}" /tmp/startup_script
@@ -24,6 +30,9 @@ automated_script ()
fi
if [[ ${rt} -eq 0 ]]; then
chmod +x /tmp/startup_script
+ printf '%s: executing automated script\n' "$0"
+ # note that script is executed when other services (like pacman-init) may be still in progress, please
+ # synchronize to "systemctl is-system-running --wait" when your script depends on other services
/tmp/startup_script
fi
fi