guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GOOPS-less Shepherd


From: Maxim Cournoyer
Subject: Re: GOOPS-less Shepherd
Date: Fri, 07 Apr 2023 17:21:39 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi,

Ludovic Courtès <ludo@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

[Prev in Thread] Current Thread [Next in Thread]