Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/hooks/archiso_pxe_http
diff options
context:
space:
mode:
authorDavid Runge <dvzrv@archlinux.org>2020-07-11 18:13:20 +0200
committerDavid Runge <dvzrv@archlinux.org>2020-07-11 20:58:01 +0200
commit043262b5f71e3030ad5553597b0e9696f6ff56b2 (patch)
treec77adfaca93127661d7fc2f5c0b1e95c7cfd6af4 /hooks/archiso_pxe_http
parentab2b8f8286383599b76f9f2db450ac417bd3fc1c (diff)
Adding linting for initcpio scripts
archiso/initcpio/install/*: Setting bash shebang for all scripts and making them comform with shellcheck. archiso/initcpio/{hooks,script}/*: Setting ash shebang for all scripts and making them comform with shellcheck (for dash, as shellcheck has no ash specific ruleset). Essentially the ash based scripts should be POSIX compliant as much as possible to have an easier time writing, debugging and maintaining them. Ensuring that variables are not treated as options and introducing variable quoting. .gitlab-ci.yml: Integrating shellcheck for initcpio scripts. Closes #32
Diffstat (limited to 'hooks/archiso_pxe_http')
-rw-r--r--hooks/archiso_pxe_http25
1 files changed, 16 insertions, 9 deletions
diff --git a/hooks/archiso_pxe_http b/hooks/archiso_pxe_http
index a7c03a8..5e55356 100644
--- a/hooks/archiso_pxe_http
+++ b/hooks/archiso_pxe_http
@@ -1,16 +1,17 @@
-# vim: set ft=sh:
+#!/bin/ash
run_hook() {
- if [[ -n "${ip}" && -n "${archiso_http_srv}" ]]; then
+ # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline()
+ if [ -n "${ip}" ] && [ -n "${archiso_http_srv}" ]; then
# booting with http is always copy-to-ram, so set here to make sure
# addresses are flushed and interface is set down
- copytoram="y"
+ export copytoram="y"
- archiso_http_srv=$(eval echo ${archiso_http_srv})
- [[ -z "${archiso_http_spc}" ]] && archiso_http_spc="75%"
+ archiso_http_srv=$(eval echo "${archiso_http_srv}")
+ [ -z "${archiso_http_spc}" ] && archiso_http_spc="75%"
- mount_handler="archiso_pxe_http_mount_handler"
+ export mount_handler="archiso_pxe_http_mount_handler"
fi
}
@@ -23,6 +24,7 @@ _curl_get() {
local _dst="${2}"
msg ":: Downloading '${_url}'"
+ # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline()
if ! curl -L -f -o "/run/archiso/httpspace/${archisobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then
echo "ERROR: Downloading '${_url}'"
echo " Falling back to interactive prompt"
@@ -38,17 +40,22 @@ archiso_pxe_http_mount_handler () {
mkdir -p "/run/archiso/httpspace"
mount -t tmpfs -o size="${archiso_http_spc}",mode=0755 httpspace "/run/archiso/httpspace"
+ # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline()
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.sfs" "/${arch}"
- if [[ "${checksum}" == "y" ]]; then
+ # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline()
+ if [ "${checksum}" = "y" ]; then
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.sha512" "/${arch}"
fi
- if [[ "${verify}" == "y" ]]; then
+ # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline()
+ if [ "${verify}" = "y" ]; then
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.sfs.sig" "/${arch}"
fi
mkdir -p "/run/archiso/bootmnt"
mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
- archiso_mount_handler ${newroot}
+ archiso_mount_handler "${newroot}"
}
+
+# vim: set ft=sh: