For libnss-db, we have a reasonably straightforward solution: use the code in 
glibc that was created >10 years ago to address this very licensing issue.

I have proposed an MR in glibc to create a BerkeleyDB-free package providing 
`libnss_db.so.2`  (`libc6-libnss-db`):

https://salsa.debian.org/glibc-team/glibc/-/merge_requests/38

I also opened bug #1132249 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1132249 to discuss, before I 
found this bug.

I marked the proposed package as 

Conflicts: libnss-db
Replaces: libnss-db
Provides: libnss-db

So that either can be installed, but not both. I have also made the db dir 
`/var/db` (the path upstream uses), mostly so that it is distinct from 
`/var/lib/misc` since the db format changes. This provides a way for system 
administrators to pre-populate the DB files if they wish, making a managed 
transition seamless. 

Assuming this package gets created, we should figure out the best way to switch 
from one to the other across releases. We could deprecate libnss-db in Forky, 
and remove it in Duke perhaps ? I don't know what the conventions here are.

I would welcome help with the above MR to get it reviewed and merged. I haven't 
heard from glibc maintainers so far. A helpful #debian-mentors member (sney) 
helped with a first pass review. 

Reply via email to