[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#45836: [PATCH] services: Let cups-service-type reuse base lp group.
From: |
Ludovic Courtès |
Subject: |
bug#45836: [PATCH] services: Let cups-service-type reuse base lp group. |
Date: |
Mon, 18 Jan 2021 15:47:20 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
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!
Thanks,
Ludo’.