[systemd-devel] [PATCH 2/2] vconsole-setup: setup negative conditional on uml

Kay Sievers kay at vrfy.org
Sat Jul 20 09:56:11 PDT 2013

On Sat, Jul 20, 2013 at 6:34 PM, Ramkumar Ramachandra
<artagnon at gmail.com> wrote:
> Kay Sievers wrote:
>> Oh, I meant turning is_vconsole() into returning success when it is
>> called for a tty0 that in fact doesn't work like tty0. :)
> We might as well remove is_vconsole() then.  Does it make sense to
> execute the rest of the code in vconsole-setup.c (fontmap, utf8 etc.)
> on a non-VT device?  Should I, as the end-user, see that
> systemd-vconsole-setup.service passed even if my devices are non-VT?

Ok, we don't want to talk the same language, I guess. And mine
probably isn't precise enough. :)

I meant turning the check doing the call to is_vconsole() into
returning EXIT_SUCCESS in main().

>> That would make all the weird (I expect there are more things like
>> that) tty0 setups just skip the service without additional explicit
>> conditions in the unit file.
> I'm not sure I understand this rationale: when a device is broken in
> an unexpected way, we _should_ complain and tell the end-user.

We can still log that away, but we cannot recover from that anyway, we
should just gracefully give up, I think.

> um Linux is a documented exception that we're making room for.

UML can document its hacks, that's a totally fine and valid approach
for it. But his self-declared exception should not propagate into
primary systemd units. It's just a too dirty hack and so wrong at many
levels. :)

But that should not mean that systemd as a generic base OS should
carry out list of these weird hacks too. Things must be generic, it's
not sustainable to maintain such lists in the long run.

> I don't
> know of any other setups that have tty devices but don't implement VT
> emulation; do you?

I would not be surprised. We've seen pretty weird behavior in that
area in hypervisors.

> If you're so particular about keeping primary unit files "clean", may
> I suggest moving the exception code to vconsole-setup.c?

That's what I meant, yeah, sorry for the confusion.


More information about the systemd-devel mailing list