[OE-core] [PATCH 1/2] glibc: re-package for libnss-db

Huang, Jie (Jackie) Jackie.Huang at windriver.com
Thu Nov 2 06:43:24 UTC 2017



> -----Original Message-----
> From: Khem Raj [mailto:raj.khem at gmail.com]
> Sent: Wednesday, November 01, 2017 16:35
> To: Huang, Jie (Jackie)
> Cc: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 1/2] glibc: re-package for libnss-db
> 
> On Tue, Oct 31, 2017 at 7:03 PM, Huang, Jie (Jackie)
> <Jackie.Huang at windriver.com> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Khem Raj [mailto:raj.khem at gmail.com]
> >> Sent: Wednesday, November 01, 2017 03:40
> >> To: Huang, Jie (Jackie)
> >> Cc: Patches and discussions about the oe-core layer
> >> Subject: Re: [OE-core] [PATCH 1/2] glibc: re-package for libnss-db
> >>
> >> On Tue, Oct 31, 2017 at 12:20 AM,  <jackie.huang at windriver.com> wrote:
> >> > From: Jackie Huang <jackie.huang at windriver.com>
> >> >
> >> > On other distros like ubuntu/centos, libnss-db usually provides:
> >> > - The libraries
> >> > - The Makefile to create database
> >> >   (in /var/db for centos, /var/lib/misc/ for ubuntu)
> >> > - The makedb command (it's in glibc-common for centos7)
> >> >
> >> > What we had is:
> >> > - The libraries are in glibc-extra-nss
> >> > - The Makefile is removed
> >> > - The makedb command is in glibc-utils (lack of dependency)
> >> >
> >> > So when glibc-extra-nss is installed but glibc-utils is not,
> >> > we see error like:
> >> > nscd[165]: 165 checking for monitored file `/var/db/group.db': No such file
> or
> >> directory
> >> > nscd[165]: 165 checking for monitored file `/var/db/passwd.db': No such
> file
> >> or directory
> >> >
> >> > And there is not an easy way to create these databases.
> >> >
> >> > To fix the issue:
> >> > - Re-package the libraries into libnss-db
> >> > - Don't remove the Makefile and add it in libnss-db
> >> > - Add RDEPENDS for libnss-db on glibc-utils and make
> >> >
> >>
> >> this looks ok although, changing glibc packaging is a bit thorny for
> >> external toolchains and
> >> other libraries. Would be better if this was added to commit saying
> >> that they have yet another
> >> package that they need to provide if replacing glibc from core.
> >
> > Sorry I'm not sure I understand correctly, did you mean I just need to add
> > words in the commit message like the following?
> >
> > "For external toolchain, an extra package 'libnss-db' need to be provided If
> replacing glibc from core."
> >
> 
> yes, someway for folks to notice the change for external layer maintainers.

Got it, I added the note and sent v2 for this.

Thanks,
Jackie

> 
> > Thanks,
> > Jackie
> >
> >>
> >> > Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> >> > ---
> >> >  meta/recipes-core/glibc/glibc-package.inc | 5 +++--
> >> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-
> >> core/glibc/glibc-package.inc
> >> > index df3db2cc45..1c3782dbb0 100644
> >> > --- a/meta/recipes-core/glibc/glibc-package.inc
> >> > +++ b/meta/recipes-core/glibc/glibc-package.inc
> >> > @@ -1,6 +1,6 @@
> >> >  INHIBIT_SYSROOT_STRIP = "1"
> >> >
> >> > -PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db
> ${PN}-
> >> pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-
> utils
> >> glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
> >> > +PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db
> ${PN}-
> >> pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN}
> >> ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
> >> >
> >> >  # The ld.so in this glibc supports the GNU_HASH
> >> >  RPROVIDES_${PN} = "eglibc rtld(GNU_HASH)"
> >> > @@ -23,6 +23,8 @@ FILES_ldd = "${bindir}/ldd"
> >> >  FILES_libsegfault = "${base_libdir}/libSegFault*"
> >> >  FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
> >> >  FILES_libmemusage = "${base_libdir}/libmemusage.so"
> >> > +FILES_libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-
> *.so
> >> ${localstatedir}/db/Makefile"
> >> > +RDEPENDS_libnss-db = "${PN}-utils make"
> >> >  FILES_glibc-extra-nss = "${base_libdir}/libnss_*-*.so
> >> ${base_libdir}/libnss_*.so.*"
> >> >  FILES_sln = "${base_sbindir}/sln"
> >> >  FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map
> ${libdir}/libc_pic/*.o"
> >> > @@ -59,7 +61,6 @@ inherit libc-common multilib_header
> >> >
> >> >  do_install_append () {
> >> >         rm -f ${D}${sysconfdir}/localtime
> >> > -       rm -rf ${D}${localstatedir}
> >> >
> >> >         # remove empty glibc dir
> >> >         if [ -d ${D}${libexecdir} ]; then
> >> > --
> >> > 2.11.0
> >> >
> >> > --
> >> > _______________________________________________
> >> > Openembedded-core mailing list
> >> > Openembedded-core at lists.openembedded.org
> >> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list