diff options
| author | nl6720 <nl6720@gmail.com> | 2023-05-13 16:22:24 +0300 |
|---|---|---|
| committer | nl6720 <nl6720@gmail.com> | 2023-05-13 16:22:24 +0300 |
| commit | 798562bbfd2aee65b1ab5c6da5f58fe3aa2e93ee (patch) | |
| tree | 236718c293441d835b85fa7d13886217257cf650 | |
| parent | 20fc8030a38d7c71c341fd267c12eb6bee3c4549 (diff) | |
| parent | f60525103d152923e1321490936cf17fd033bf4d (diff) | |
| download | archiso-798562bbfd2aee65b1ab5c6da5f58fe3aa2e93ee.tar.gz archiso-798562bbfd2aee65b1ab5c6da5f58fe3aa2e93ee.tar.bz2 | |
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.rst | 3 | ||||
| -rwxr-xr-x | configs/releng/airootfs/root/.automated_script.sh | 11 |
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 |
