Am Montag, den 18.01.2021, 15:47 +0100 schrieb Ludovic Courtès: > Hi, > > Leo Prikler <leo.prik...@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