Message ID | d9f3b3cf8413fcabd4468a6057ee399a3968d20d.1520956780.git.baruch@tkos.co.il |
---|---|
State | Accepted |
Commit | 398747f5fafca8c07e696612d8eded53d4f935c7 |
Headers | show |
Series | glibc: install the obsolete libnsl | expand |
Hi Baruch, On 13/03/2018 16:59, Baruch Siach wrote: > glibc 2.27 stopped installing libnsl by default. Restore libnsl install > to fix packages, like exim, that use that library. Are you aware of other packages using it? > Fixes (exim): > http://autobuild.buildroot.net/results/a19/a19df43be7d27cf8815e1257122d25aa8285d75b/ > http://autobuild.buildroot.net/results/8ec/8ecfc42a81efec8485784f945e231eb40a087b5b/ > http://autobuild.buildroot.net/results/054/054eb702a9b8c66454970333ef45a0afccb7cc80/ > > Cc: Waldemar Brodkorb <wbx@openadk.org> > Signed-off-by: Baruch Siach <baruch@tkos.co.il> [Tested on http://autobuild.buildroot.net/results/cbbb893a03dd1f6dfd67d1144ead0473938e3283/ ] Tested-by: Luca Ceresoli <luca@lucaceresoli.net> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> However the glibc NEWS file says libnsl is deprecated and has been moved to an external library [0]. So it will likely be removed at some point, and thus this is only a temporary solution. [0] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=5c0a3c6780ba4d8fc550e0eecdb43e1ded228049;hb=HEAD#l748 Regards,
Hi Luca, On Sat, Mar 17, 2018 at 10:33:24PM +0100, Luca Ceresoli wrote: > On 13/03/2018 16:59, Baruch Siach wrote: > > glibc 2.27 stopped installing libnsl by default. Restore libnsl install > > to fix packages, like exim, that use that library. > > Are you aware of other packages using it? I'm not aware of any. > > Fixes (exim): > > http://autobuild.buildroot.net/results/a19/a19df43be7d27cf8815e1257122d25aa8285d75b/ > > http://autobuild.buildroot.net/results/8ec/8ecfc42a81efec8485784f945e231eb40a087b5b/ > > http://autobuild.buildroot.net/results/054/054eb702a9b8c66454970333ef45a0afccb7cc80/ > > > > Cc: Waldemar Brodkorb <wbx@openadk.org> > > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > > [Tested on > http://autobuild.buildroot.net/results/cbbb893a03dd1f6dfd67d1144ead0473938e3283/ > ] > Tested-by: Luca Ceresoli <luca@lucaceresoli.net> > Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Thanks. > However the glibc NEWS file says libnsl is deprecated and has been moved > to an external library [0]. So it will likely be removed at some point, > and thus this is only a temporary solution. When glibc drops libnsl completely we can patch out the libnsl dependency of exim, like we do when linking with non-glibc libc. Hopefully upstream exim will find a better solution by then. > [0] > https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=5c0a3c6780ba4d8fc550e0eecdb43e1ded228049;hb=HEAD#l748 baruch
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > glibc 2.27 stopped installing libnsl by default. Restore libnsl install > to fix packages, like exim, that use that library. > Fixes (exim): > http://autobuild.buildroot.net/results/a19/a19df43be7d27cf8815e1257122d25aa8285d75b/ > http://autobuild.buildroot.net/results/8ec/8ecfc42a81efec8485784f945e231eb40a087b5b/ > http://autobuild.buildroot.net/results/054/054eb702a9b8c66454970333ef45a0afccb7cc80/ > Cc: Waldemar Brodkorb <wbx@openadk.org> > Signed-off-by: Baruch Siach <baruch@tkos.co.il> Committed, thanks.
Hi Baruch, All, Le 13/03/2018 à 16:59, Baruch Siach a écrit : > glibc 2.27 stopped installing libnsl by default. Restore libnsl install > to fix packages, like exim, that use that library. Do you know if libnsl can be disabled from exim ? Is exim is the only remaining program still using/supporting libnsl ? libnsl from Glibc doesn't build with the upcoming gcc 8, it's not even build tested by Glibc maintainers (build-many-glibcs.py test script) see [1]. Maybe we can provide libnsl from a package that provide an updated version of this library [2]? Can you have a look? Best regards, Romain [1] http://patchwork.sourceware.org/patch/26437 [2] https://github.com/thkukuk/libnsl.git > > Fixes (exim): > http://autobuild.buildroot.net/results/a19/a19df43be7d27cf8815e1257122d25aa8285d75b/ > http://autobuild.buildroot.net/results/8ec/8ecfc42a81efec8485784f945e231eb40a087b5b/ > http://autobuild.buildroot.net/results/054/054eb702a9b8c66454970333ef45a0afccb7cc80/ > > Cc: Waldemar Brodkorb <wbx@openadk.org> > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > --- > package/glibc/glibc.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk > index 00e114566cbe..f724ced857fe 100644 > --- a/package/glibc/glibc.mk > +++ b/package/glibc/glibc.mk > @@ -100,6 +100,7 @@ define GLIBC_CONFIGURE_CMDS > --disable-profile \ > --without-gd \ > --enable-obsolete-rpc \ > + --enable-obsolete-nsl \ > --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) \ > --with-headers=$(STAGING_DIR)/usr/include) > $(GLIBC_ADD_MISSING_STUB_H) >
Hi Romain, On Sat, Apr 28, 2018 at 04:51:39PM +0200, Romain Naour wrote: > Le 13/03/2018 à 16:59, Baruch Siach a écrit : > > glibc 2.27 stopped installing libnsl by default. Restore libnsl install > > to fix packages, like exim, that use that library. > > Do you know if libnsl can be disabled from exim ? Of course. We already do that for non-glibc targets. See EXIM_REMOVE_LIBNSL_FROM_MAKEFILE in exim.mk. > Is exim is the only remaining program still using/supporting libnsl ? I don't know. > libnsl from Glibc doesn't build with the upcoming gcc 8, it's not even build > tested by Glibc maintainers (build-many-glibcs.py test script) see [1]. > > Maybe we can provide libnsl from a package that provide an updated version of > this library [2]? > > Can you have a look? The simplest solution would be to disable libnsl in exim unconditionally, remove libnsl support in glibc, and deal with any other libnsl users as we encounter them. baruch
Hi Baruch, Le 29/04/2018 à 06:26, Baruch Siach a écrit : > Hi Romain, > > On Sat, Apr 28, 2018 at 04:51:39PM +0200, Romain Naour wrote: >> Le 13/03/2018 à 16:59, Baruch Siach a écrit : >>> glibc 2.27 stopped installing libnsl by default. Restore libnsl install >>> to fix packages, like exim, that use that library. >> >> Do you know if libnsl can be disabled from exim ? > > Of course. We already do that for non-glibc targets. See > EXIM_REMOVE_LIBNSL_FROM_MAKEFILE in exim.mk. > >> Is exim is the only remaining program still using/supporting libnsl ? > > I don't know. > >> libnsl from Glibc doesn't build with the upcoming gcc 8, it's not even build >> tested by Glibc maintainers (build-many-glibcs.py test script) see [1]. >> >> Maybe we can provide libnsl from a package that provide an updated version of >> this library [2]? >> >> Can you have a look? > > The simplest solution would be to disable libnsl in exim unconditionally, > remove libnsl support in glibc, and deal with any other libnsl users as we > encounter them. Ok, let's remove nsl unconditionally from exim and disable the deprecated libnsl from glibc. I'll post a new series doing so. Btw, Fedora 28 has switched to the external libnsl in order to support IPV6 [1]. Interested people can add a new libnsl package later. Best regards, Romain |1] https://fedoraproject.org/wiki/Changes/NISIPv6 > > baruch >
diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index 00e114566cbe..f724ced857fe 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -100,6 +100,7 @@ define GLIBC_CONFIGURE_CMDS --disable-profile \ --without-gd \ --enable-obsolete-rpc \ + --enable-obsolete-nsl \ --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) \ --with-headers=$(STAGING_DIR)/usr/include) $(GLIBC_ADD_MISSING_STUB_H)
glibc 2.27 stopped installing libnsl by default. Restore libnsl install to fix packages, like exim, that use that library. Fixes (exim): http://autobuild.buildroot.net/results/a19/a19df43be7d27cf8815e1257122d25aa8285d75b/ http://autobuild.buildroot.net/results/8ec/8ecfc42a81efec8485784f945e231eb40a087b5b/ http://autobuild.buildroot.net/results/054/054eb702a9b8c66454970333ef45a0afccb7cc80/ Cc: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Baruch Siach <baruch@tkos.co.il> --- package/glibc/glibc.mk | 1 + 1 file changed, 1 insertion(+)