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.
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’.