> On Aug 30, 2025, at 20:17, Warner Losh <i...@bsdimp.com> wrote:
>
>
>
> On Sat, Aug 30, 2025 at 8:51 PM Dan Mahoney (Ports) <free...@gushi.org> wrote:
> Hey folks,
>
> I’ve been aware of a tool called rclint for a while, and while I was
> deploying some services for the dayjob for our own internal services, I
> wanted to make sure they were compatible with puppet, and thus looked and
> smelled to those libraries like “normal” rc scripts.
>
> I’m also a maintainer for the opendmarc port, and I’ve tried to make sure
> that file as well, passes muster.
>
> However, recently I turned to the actual source tree for rc.d, and a lot of
> them don’t. (There are something like 170 files there). This is work I’ve
> posted to questions@ about, and that I’m willing to take on, trying to get
> things to pass somewhat cleanly. A lot of it would just be adding
> descriptions, making sure ordering of vars is consistent, fixing function
> definitions, and the like.
>
> It’s also a good way to get used to working with the project, and getting
> used to the various git workflows.
>
> Does this seem like a reasonable effort?
>
> So does rclint find just style things, or are they real problems?
I would say files that don’t honor the traditional rc,subr enable, start/stop,
etc are things that should be fixed. There are many files that don’t have a
description, that should be fixed.
Here’s a list of what it does catch, and Chris is open to adding more, but this
is a solid start: https://github.com/crees/rclint/blob/main/errors.en
rclint doesn’t actually run the code, so it won’t spot things that, for
example, fail to write a pid file to a directory that can’t be touched by the
process or anything — that would require a greater framework.
-Dan