Subject: Re: [bug#54199] [PATCH] doc: Add 'Working on Shepherd' section.

From: Maxime Devos <[email-masked]>
Date: Mon, 28 Feb 2022 20:38:36 +0100

Attila Lendvai schreef op ma 28-02-2022 om 19:51 [+0100]:
> +custom Shepherd package for an @code{operating-system} object.  To get a
> +customized Shepherd package, you can simply make a copy of it in
> +@file{gnu/packages/admin.scm}, and change the @code{source} and
> +@code{version} field along these lines:
> +
> +@lisp
> +(define-public shepherd-dev-pid-1
> +  (package
> +    (name "shepherd")
> +    (version "dev-pid-1")
> +    (source (git-checkout
> +             (url "file:///my/path/shepherd/")))
> +    ...
> +    ))

There's no need to make a copy, we can use inheritance here
to reduce duplication:

(define my-shepherd
  (package
    (inherit shepherd)
    (source (git-checkout
              (url "file:///my/path/shepherd/"))))

Also, we're missing autoconf & friends here?
To help with shepherd hacking, I think it would be ok to add them to
the standard 'shepherd' package with a nice comment.  If not, a
'shepherd-next' package or the like could be defined, a variant
of 'shepherd' for building from git?

Also, the documentation is being inconsistent with versions here.
In one place, you're using "dev-pid-1", and in another, "dev".
These versions also seem a bit odd for not being version _numbers_,
which doesn't mesh well with '17.4.3 Version Numbers'.

Greetings,
Maxime.