[pve-devel] [PATCH installer] build: run shellcheck as part of `test` step

Christoph Heiss c.heiss at proxmox.com
Fri Mar 15 11:23:45 CET 2024


Especially unconfigured.sh is worth checking consistently.

Running shellcheck also does not really have any notable impact on build
time, so no downside there either.

Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
 Makefile        | 14 +++++++++-----
 debian/control  |  1 +
 unconfigured.sh |  3 +++
 xinitrc         |  2 ++
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index f0c361b..af33e90 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,13 @@ USR_BIN := proxmox-tui-installer
 COMPILED_BINS := \
 	$(addprefix $(CARGO_COMPILEDIR)/,$(USR_BIN))
 
+SHELL_SCRIPTS := \
+	fake-start-stop-daemon \
+	policy-disable-rc.d \
+	spice-vdagent.sh \
+	unconfigured.sh \
+	xinitrc
+
 all:
 
 $(BUILDDIR):
@@ -36,18 +43,14 @@ $(BUILDDIR):
 	  banner/ \
 	  checktime \
 	  country.pl \
-	  fake-start-stop-daemon \
 	  html/ \
 	  interfaces \
-	  policy-disable-rc.d \
 	  proxinstall \
 	  proxmox-low-level-installer \
 	  proxmox-tui-installer/ \
 	  proxmox-installer-common/ \
-	  spice-vdagent.sh \
 	  test/ \
-	  unconfigured.sh \
-	  xinitrc \
+	  $(SHELL_SCRIPTS) \
 	  $@.tmp
 	cp -a debian $@.tmp/
 	mv $@.tmp $@
@@ -86,6 +89,7 @@ prepare-test-env: cd-info.test country.dat test.img
 
 .PHONY: test
 test: prepare-test-env
+	shellcheck $(SHELL_SCRIPTS)
 	$(MAKE) -C test check
 	$(CARGO) test --workspace $(CARGO_BUILD_ARGS)
 
diff --git a/debian/control b/debian/control
index 9057f59..3ca208b 100644
--- a/debian/control
+++ b/debian/control
@@ -15,6 +15,7 @@ Build-Depends: cargo:native,
                libtest-mockmodule-perl,
                perl,
                rustc:native,
+               shellcheck,
 Standards-Version: 4.5.1
 Homepage: https://www.proxmox.com
 
diff --git a/unconfigured.sh b/unconfigured.sh
index cf7de83..84b249c 100755
--- a/unconfigured.sh
+++ b/unconfigured.sh
@@ -99,6 +99,8 @@ real_reboot() {
     exit 0 # shouldn't be reached, kernel will panic in that case
 }
 
+# reachable through the ERR trap
+# shellcheck disable=SC2317
 err_reboot() {
     printf "\nInstallation aborted - unable to continue (type exit or CTRL-D to reboot)\n"
     debugsh || true
@@ -242,4 +244,5 @@ killall5 -15
 real_reboot
 
 # never reached
+# shellcheck disable=SC2317
 exit 0
diff --git a/xinitrc b/xinitrc
index 789a267..5125406 100644
--- a/xinitrc
+++ b/xinitrc
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 /usr/bin/xrdb -load /.Xdefaults
 /usr/bin/X11/xsetroot -solid grey
 openbox &
-- 
2.43.1





More information about the pve-devel mailing list