Summary: | sys-libs/glibc-2.30-r8 installs poorly documented /var/db/Makefile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Kent Fredric (IRC: kent\n) (RETIRED) <kentnl> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Kent Fredric (IRC: kent\n) (RETIRED)
2020-04-16 10:56:49 UTC
You might want to file an upstream bug report with your suggestions: https://sourceware.org/bugzilla/enter_bug.cgi?product=glibc I'd rather not change upstream default for nss handling unless it causes problems. A stop-gap measure would be merely patching the makefile to have something a Gentoo user can make sense of, in a comment, near the top. I read the file trying to understand why it was there and what it was for and how to use it, and only after comming up short did I file a bug. At least then, its violation of gentoo file location policies may be more palatable. ( And also, the text in there might help one decide if they indeed wanted to exclude it with INSTALL_MASK ) Please file an upstream bug. Yeah, I'm not bothered dicking around to get an account on upstream bugzilla to apply a change that could be done with a sed oneliner, or like, "cat header Makefile.old > Makefile". After conversation on IRC:
Context for everyone else:
- This makefile generates databases used by the "db" target in nsswitch.conf
- Most people probably shouldn't be using the "db" target
- People seeing this target is a result of glibc shipping an old version of nsswitch, and the version shipped in glibc-2.31 has a lot more documentation about this, including references to makedb.
Conclusions:
- In glibc-2.31, it might be nice to have a vanilla copy of the example nsswitch.conf "somewhere" in the docs/ dir, but upstreams assistance might be wanted.
- It would be very nice if this Makefile included a heading saying something along the lines of:
"This makefile generates databases used by the "db" service in nsswitch.conf"
Ideally, in order to limit how much documentation is stuffed in this Makefile, it would be nice if the Makefile cited some relevant documentation to read as to:
- What circumstances you might be in when you want to run this makefile and generate its databases (that is, people using the db service)
Presently it seems the best, and only documentation will be in /etc/nsswitch.conf, on glibc-2.31+ , but as that is a user configuration file controlled by CONFIG_PROTECT, there are no guarantees that the end users file will actually contain that documentation.
Hence the motivation to ship an example copy of nsswitch.conf somewhere as documentation.
If upstream can be persuaded to ship this like this, upstream may also be persuaded to reference the installed example documentation, and then the path can be corrected during configure (somehow) so that when installed on Gentoo, the makefile references a correct path to this documentation.
Given we the persuasions above hold, the prose desired may look like:
> # This file generates databases used by the nsswitch.conf service "db"
> # For more information, consult /usr/share/doc/glibc-2.31-r2/nsswitch.conf.example
I haven't looked into what USE=doc emerge glibc does, but there's no detailed documentation without it on a standard install about what various nsswitch services do, or how to use them, there's only "man nsswitch.conf" ( provided by man-pages, not glibc, which is kinda odd ), which explains the top level, and describes the "files" service, but everything else is mostly handwaved over with "this exists".
So that file is still our best option.
I would prefer not to have non-trivial downstream changes. Please work with upstream on the way you'd like to have documentation available. |