From ed6c70a026ec8ff36a9815affa252a2777ab4bbd Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Sun, 14 Nov 2021 16:56:09 +0100
Subject: [PATCH] Pass exit code to s6-init (#59545)

---
 rootfs/etc/services.d/home-assistant/finish | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/rootfs/etc/services.d/home-assistant/finish b/rootfs/etc/services.d/home-assistant/finish
index 119a90ea3c6..3691583ec81 100644
--- a/rootfs/etc/services.d/home-assistant/finish
+++ b/rootfs/etc/services.d/home-assistant/finish
@@ -13,8 +13,12 @@ ifelse { s6-test ${1} -eq ${SIGNAL_EXIT_CODE} } {
   # Process terminated by a signal
   define signal ${2}
   foreground { s6-echo "[finish] process received signal ${signal}" }
+  backtick -n new_exit_code { s6-expr 128 + ${signal} }
+  importas -ui new_exit_code new_exit_code
+  foreground { redirfd -w 1 /var/run/s6/env-stage3/S6_STAGE2_EXITED s6-echo -n -- ${new_exit_code} }
   if { s6-test ${signal} -ne ${SIGTERM} }
   s6-svscanctl -t /var/run/s6/services
 }
 
+foreground { redirfd -w 1 /var/run/s6/env-stage3/S6_STAGE2_EXITED s6-echo -n -- ${1} }
 s6-svscanctl -t /var/run/s6/services
-- 
GitLab