Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] [PATCH v1 34/41] fork pipeline: bootchain-loop: cleanup, testing and debugging
@ 2021-09-24 15:59 Leonid Krivoshein
  0 siblings, 0 replies; only message in thread
From: Leonid Krivoshein @ 2021-09-24 15:59 UTC (permalink / raw)
  To: make-initrd

---
  .../bootchain-core/data/sbin/bootchain-loop   | 36 +++++++++++++++++++
  1 file changed, 36 insertions(+)

diff --git 
a/make-initrd/features/bootchain-core/data/sbin/bootchain-loop 
b/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
index 70a5bf6..7474ebb 100755
--- a/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
+++ b/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
@@ -94,3 +94,39 @@ elif [ "$rc" = 0 ] && [ -f "$BC_PASSED/$PROG" ]; then
  else
  	fatal "daemon terminated incorrectly (rc=$rc)"
  fi
+
+if [ -z "$BC_DEBUG" ]; then
+	grep -qs " $mntdir/" /proc/mounts ||
+		run umount -- "$mntdir" &&
+		run rm -rf -- "$mntdir" ||:
+else
+	prevdir="$(readlink-e "$destdir" 2>/dev/null ||:)"
+	[ "$prevdir" = "$rootmnt" ] && datadir="" ||
+		datadir="$rootmnt"
+	destdir=
+	callnum=0
+	name=STAGE2
+
+	message "[$callnum] Handler: $handlerdir/debug"
+
+	export name callnum datadir destdir prevdir
+
+	run "$handlerdir/debug" ||:
+	debug "last step finished with exit code $rc"
+fi
+
+if [ -f "$BC_LOGFILE" ] && [ -n "${BC_DEBUG}${BC_TEST-}" ]; then
+	if [ -d "$rootmnt/var/log" ]; then
+		destdir="$rootmnt/var/log"
+	else
+		run mkdir -p -- "$mntdir"
+		destdir="$mntdir"
+	fi
+
+	if [ -n "${BC_TEST-}" ]; then
+		debug "test '$BC_TEST' in the stage1 passed"
+		echo "$BC_TEST" >"$destdir"/BC-TEST.passed
+	fi
+
+	run cp -Lf -- "$BC_LOGFILE" "$destdir/"
+fi
-- 
2.21.0




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-24 15:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-24 15:59 [make-initrd] [PATCH v1 34/41] fork pipeline: bootchain-loop: cleanup, testing and debugging Leonid Krivoshein

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git