Re: Bug#983423: schroot: regression presumably in 1.6.13-4 after fixing #983423

Thorsten Glaser <[email protected]>
Newsgroups gmane.linux.debian.ports.sparc,gmane.linux.debian.ports.powerpc
Message-ID <[email protected]>
Simon McVittie dixit:

>On Mon, 19 Aug 2024 at 16:27:24 +0000, Thorsten Glaser wrote:
>> mksh actually does things inside script(1) that use the tty
>
>For the purposes of having a test-case for schroot that doesn't require
>mksh, perhaps a good approximation to this would be asserting that
>tty(1) from coreutils exits successfully and prints the path to a char
>device that exists and is rw?

Unsure. It also requires and accesses /dev/tty, it doesn’t just
do isatty on stdio.

>For a manual smoke-test for this change, having a known-good version
>of mksh build and pass its test suite seems like a better indicator
>that the terminal is indeed working, but I think that's too large and
>involved to make a reasonable autopkgtest for schroot to guard against
>this maybe regressing.

Right.

Looking at the code, it seems we need isatty(0) && isatty(2)
to succeed as well as open("/dev/tty", O_RDWR, 0) to succeed
(and later F_DUPFD and F_SETFD, FD_CLOEXEC fcntl).

Perhaps isolating that as a small C or Perl program to use
for those tests?

>on a pty or tty, or produce some other output if not?

Produce some other output (error messages) if not.

$ echo true | sudo chroot /tmp/a /sh -i; echo
W: /sh: can't find controlling tty: Permission denied
W: /sh: won't have full job control
# #

The two warning lines are absent if the tty is present.
They look different in older versions, though.

bye,
//mirabilos
-- 
> Hi, does anyone sell openbsd stickers by themselves and not packaged
> with other products?
No, the only way I've seen them sold is for $40 with a free OpenBSD CD.
	-- Haroon Khalid and Steve Shockley in gmane.os.openbsd.misc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.