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

Khem Raj raj.khem at gmail.com
Wed Nov 1 08:34:47 UTC 2017


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.

> 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