FS#54592 - [filesystem] nss will be broken in upcoming glibc 2.26
Attached to Project:
Arch Linux
Opened by Tom Englund (gulafaran) - Monday, 26 June 2017, 00:05 GMT
Last edited by Sébastien Luttringer (seblu) - Sunday, 10 December 2017, 16:04 GMT
Opened by Tom Englund (gulafaran) - Monday, 26 June 2017, 00:05 GMT
Last edited by Sébastien Luttringer (seblu) - Sunday, 10 December 2017, 16:04 GMT
|
Details
Description:
https://sourceware.org/git/?p=glibc.git;a=commit;h=1e4d83f6fe38613e6f209ff09dfad8e69a6e1629 this commit moved libnss_compat.so behind the configure flag --enable-obsolete-nsl in glibc, without it getent and similiar tools cant get user/group/hostname, so you become unknown and unable to login and use sudo/su. Steps to reproduce: build glibc from master, and become unknown. thought it might be worth mentioning it for the future when glibc 2.26 lands. and perhaps there is a better way to fix it then enabling the "obsolete-nsl". |
This task depends upon
Closed by Sébastien Luttringer (seblu)
Sunday, 10 December 2017, 16:04 GMT
Reason for closing: Fixed
Additional comments about closing: filesystem 2017.10-2
Sunday, 10 December 2017, 16:04 GMT
Reason for closing: Fixed
Additional comments about closing: filesystem 2017.10-2
* The NIS(+) name service modules, libnss_nis, libnss_nisplus, and
libnss_compat, are deprecated, and will not be built or installed by
default. Replacement implementations based on TIRPC, which
additionally support IPv6, are available from
<https://github.com/thkukuk/libnss_{compat,nis,nisplus}>.
* The NIS(+) support library, libnsl, is deprecated. By default, a
compatibility shared library will be built and installed, but not
headers or development libraries.
Only a few NIS-related programs require this library.
A replacement implementation based on TIRPC is available from
<https://github.com/thkukuk/libnsl>. Like the replacement NIS(+)
name service modules, the replacement supports IPv6, and it can be
coinstalled with the compatibility shared library from glibc.
* New configure option --enable-obsolete-nsl will cause libnsl's
headers, and the NIS(+) name service modules, to be built and
installed. This option may be removed in a future release.
So perhaps package https://github.com/thkukuk/libnss_compat and https://github.com/thkukuk/libnsl instead of using --enable-obsolete-nsl
I cannot think of any "tidy" solution that requires no manual intervention, but what about shipping a new nsswitch.conf, posting a news item, and riding the compat module for a few months to let the slowest of users merge the pacnew.
EDIT: Scratch that, I already had a modified/unmerged nsswitch.conf at the time of my upgrade to 2.26.
FS#51709.If we plan to remove it from glibc, I will push an update of the filesystem package soon.