Hi,

Ludovic Courtès <l...@gnu.org> writes:

> Hello!
>
> I’d like to release the Shepherd 0.10.0 in a few weeks at most, with the
> hope that it’ll be the last stable series before 1.0, which would be
> released in a few months.
>
> As part of this, I’d like to clean up the API, which includes removing
> the dependency on GOOPS.  The Shepherd had been using GOOPS from the
> start but for no particular reason: there’s no inheritance and only a
> couple of cases of method overloading.
>
> I started that work, which mostly involves renaming things like
> accessors following typical Scheme conventions:
>
>   https://git.savannah.gnu.org/cgit/shepherd.git/log/?h=wip-goopsless
>
> I imagine the following deprecation scenario:
>
>   • 0.10.x would still support GOOPS, as in (make <service> …), but
>     that would be deprecated in favor of a more Schemey (service …)
>     form.  Under the hood it’s still GOOPS.
>
>   • 1.0.x would no longer use GOOPS at all.  We could provide a ‘make’
>     macro so that (make <service> …) would still kinda work.
>
> What’s at stake, mostly, is the ability to reconfigure a long-running
> shepherd instance.  Once 1.0.x is in Guix, ‘guix system reconfigure’
> will most likely fail to upgrade services on a pre-0.10.x shepherd:
> users will have to reboot.
>
> Thoughts?

Sounds reasonable to me.  Thank you for working on it!

-- 
Thanks,
Maxim

Reply via email to