I think this was a case of simple boolean logic error in that commit.
There is no /dev/console on GitLab shared runners, which is the unusual
situation that is necessary to trigger this.  I've confirmed that the
attached patch solves the problem, here is a successful pipeline:

https://gitlab.com/debdistutils/tacos/live/-/jobs/12616684371

I've pushed as a merge request to Salsa:

https://salsa.debian.org/live-team/live-build/-/merge_requests/459

I will now see if I can avoid other bug workarounds by using the latest
git version.

/Simon
From 89d3f3a4b22b19c79a73102688a423485c84debb Mon Sep 17 00:00:00 2001
From: Simon Josefsson <[email protected]>
Date: Tue, 6 Jan 2026 11:33:21 +0100
Subject: [PATCH] Fix /dev/console handling

Commit f74ace02de45966c436139fc267098333bb544ba changed the logic that trigger:

P: Begin mounting /dev/pts...
mount: /builds/debdistutils/tacos/live/chroot/dev/console: special device /dev/console does not exist.

https://lists.debian.org/debian-live/2026/01/msg00018.html
---
 scripts/build/chroot_devpts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/build/chroot_devpts b/scripts/build/chroot_devpts
index 1d690f7a3..4ffbe8597 100755
--- a/scripts/build/chroot_devpts
+++ b/scripts/build/chroot_devpts
@@ -48,7 +48,7 @@ case "${_ACTION}" in
 		do
 			# 1. nothing to be done if character device already exists
 			# 2. cannot bind-mount if device does not exist on the outside
-			if [ ! -c "chroot/dev/$dev" -o ! -e "/dev/$dev" ]
+			if [ ! -c "chroot/dev/$dev" -a -e "/dev/$dev" ]
 			then
 				# Create an empty file if neccessary
 				if [ ! -e "chroot/dev/$dev" ]
-- 
2.52.0

Attachment: signature.asc
Description: PGP signature

Reply via email to