[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GOOPS-less Shepherd
From: |
Christine Lemmer-Webber |
Subject: |
Re: GOOPS-less Shepherd |
Date: |
Wed, 19 Apr 2023 07:44:01 -0400 |
User-agent: |
mu4e 1.10.0; emacs 28.2 |
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.
Neat!
"Obviously" Shepherd should use Spritely Goblins, which also does not
use GOOPS ;D
> 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
404s for me.
> 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?
>
> Ludo’.