--- Begin Message ---
Subject: |
cups-service-type duplicates lp group |
Date: |
Wed, 13 Jan 2021 02:09:23 +0100 |
User-agent: |
Evolution 3.34.2 |
Hello Guix,
it has come to my attention due to the recent reporting of #45830 and
some conversation in IRC, that cups-service-type adds an lp group,
which is already defined in %base-groups. Since both share the same
definition, this is not too big an issue, but it prohibits us from
using a hard error for #45770.
I can currently think of two solutions: Either remove the lp group from
cups-service-type or remove it from base-groups. Neither sounds
particularly awesome. Perhaps we could also delete identical
duplicates before asserting that there are none for #45770, but that
sounds like a little much effort. Any ideas how else to solve this?
Regards,
Leo
--- End Message ---
--- Begin Message ---
Subject: |
Re: [PATCH] services: Let cups-service-type reuse base lp group. |
Date: |
Wed, 20 Jan 2021 09:16:13 +0100 |
User-agent: |
Evolution 3.34.2 |
Am Montag, den 18.01.2021, 15:47 +0100 schrieb Ludovic Courtès:
> Hi,
>
> Leo Prikler <leo.prikler@student.tugraz.at> skribis:
>
> > > > diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
> > > > index 0538fb1a24..7c57222716 100644
> > > > --- a/gnu/system/shadow.scm
> > > > +++ b/gnu/system/shadow.scm
> > > > @@ -321,13 +321,13 @@ of user '~a' is undeclared")
> > > > <user-group> objects. Raise an error if a user account refers
> > > > to
> > > > a undefined
> > > > group."
> > > > (define accounts
> > > > - (filter user-account? accounts+groups))
> > > > + (delete-duplicates (filter user-account? accounts+groups)
> > > > eq?))
> > > >
> > > > (define user-specs
> > > > (map user-account->gexp accounts))
> > > >
> > > > (define groups
> > > > - (filter user-group? accounts+groups))
> > > > + (delete-duplicates (filter user-group? accounts+groups)
> > > > eq?))
> > >
> > > Why use ‘eq?’? I’d use ‘equal?’, but note that <user-account>
> > > records
> > > cannot necessarily be compared with ‘equal?’ because of the
> > > thunked
> > > ‘home-directory’ field (‘equal?’ is meaningless for procedures).
> > My personal reasoning (and perhaps a rather strong opinion) is,
> > that it
> > is an error to add duplicate users even if they happen to be
> > equal?.
> > eq? is only provided as a way out for the specific case of
> > services,
> > that need to do so for safety reasons – e.g. cups to not allow
> > overriding of the lp group if it has been removed from the OS
> > groups
> > for whichever reason.
>
> Ah I see, makes sense to me!
I've now pushed it with eq?, if there's a (good!) reason to change that
to equal?, it can still be done later.
Regards,
Leo
--- End Message ---