Re: git: 9cab9fde5eda - main - virtual_oss: Port to base

From: Christos Margiolis <christos_at_freebsd.org>
Date: Thu, 09 Oct 2025 19:38:40 UTC
On Thu Oct 9, 2025 at 8:16 PM CEST, Dag-Erling Smørgrav wrote:
> Christos Margiolis <christos@freebsd.org> writes:
>> Mark Johnston <markj@freebsd.org> writes:
>> > Well, it'll break the test added in https://reviews.freebsd.org/D52954,
>> > which will be useful for catching bugs.
>> If I understand correctly, the test is meant to catch dependency cycles?
>> If yes, why would we have one here?
>
> This does not cause a cycle but it does cause a warning from rcorder,
> which causes the test to fail.
>
> The test can be changed to use `-e not-match:"circular dependencies"`
> instead of `-e empty` to avoid triggering on the sndiod warning, but I
> still think it's wrong to encode knowledge of a specific port in base.
>
> I would suggest that you change virtual_oss to have `BEFORE: DAEMON` and
> sndiod to have `REQUIRE: DAEMON` instead.  This does not change the
> start order for the base system (virtual_oss was already being started
> before DAEMON) but ensures the correct sequencing of virtual_oss and
> sndiod without recording a false dependency between them.
>
> DES

I like this idea.

The sequence we want is to first run sndiod and then virtual_oss. I am
not really experienced with rc scripts, but don't we want the opposite
from what you are proposing? As in, BEFORE: DAEMON for sndiod, and
REQUIRE: DAEMON for virtual_oss, so that sndiod starts before
virtual_oss. It is very possible that I have things mixed up. :-)

Christos