[yocto] [PATCH][meta-selinux] libselinux, libsepol: depends on coreutils-native

Chris Patterson cjp256 at gmail.com
Mon Nov 23 17:48:17 PST 2015


 > On 10/21/2015 05:49 AM, Khem Raj wrote:
 >>
 >>>  On Oct 20, 2015, at 2:49 AM,wenzong.fan at windriver.com wrote:
 >>>
 >>>  From: Wenzong Fan <wenzong.fan at windriver.com>
 >>>
 >>>  'ln --relative' doesn't work on Ubuntu 12.04 that has ln 8.13. The
 > >
 > >  OE-Core has lnr script you can use that.
 > /
 > It's good to know this. I did a grep:
 >
 > $ grep lnr -r *
 > meta/recipes-kernel/kmod/kmod_git.bb:        lnr ${D}${base_bindir}/kmod
 > ${D}${base_bindir}/lsmod
 > meta/recipes-kernel/kmod/kmod_git.bb:                lnr
 > ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
 > meta/recipes-core/systemd/systemd_225.bb:	sed -i -e 's:\$(LN_S)
 > --relative -f:lnr:g' ${S}/Makefile.am
 > meta/recipes-core/systemd/systemd_225.bb:	sed -i -e 's:\$(LN_S)
 > --relative:lnr:g' ${S}/Makefile.am
 > meta/recipes-core/ncurses/ncurses.inc:            # Use lnr to ensure
 > this is a relative link despite absolute paths
 > meta/recipes-core/ncurses/ncurses.inc:            lnr
 > ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
 > meta/classes/populate_sdk_ext.bbclass:	lnr
 > ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath}/devtool
 > ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/devtool
 > meta/classes/populate_sdk_ext.bbclass:	lnr
 > ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath}/recipetool
 > ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/recipetool
 >
 > Looks it only used by bb/bbclass.
 >
 > I prefer to add a dependency here rather than patch Makefile with 'lnr'.
 > Agreed?
 >

This approach makes sense to me.

 > Thanks
 > Wenzong
 >
 >>
 >>>  changes involved by SELinux commit:
 >>>
 >>>    commit 71393a181d63c9baae5fe8dcaeb9411d1f253998
 >>>    Author: Steve Lawrence <slawrence at tresys.com>
 >>>    Date:   Mon Oct 20 15:46:17 2014 -0400
 >>>
 >>>      libselinux: libsepol: use ln --relative to create .so symlinks
 >>>
 >>>      The current build system assumes SHLIBDIR is ../../ relative 
to LIBDIR.
 >>>      However, this isn't always the case. For example, Arch Linux 
sets both
 >>>      LIBDIR and SHLIBDIR to /usr/lib, which results in broken symlinks.
 >>>
 >>>      Instead of making that assumption, create .so symlinks using ln
 >>>      --relative so that the correct relative paths are used. Note 
that this
 >>>      adds a dependency for the build system to use coretuils-8.16 
or later.
 >>>
 >>>  Just depends on coreutils-native to fix the issue.
 >>>
 >>>  Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
 >>>  ---
 >>>  recipes-security/selinux/libselinux.inc | 2 +-
 >>>  recipes-security/selinux/libsepol.inc   | 2 ++
 >>>  2 files changed, 3 insertions(+), 1 deletion(-)
 >>>
 >>>  diff --git a/recipes-security/selinux/libselinux.inc 
b/recipes-security/selinux/libselinux.inc
 >>>  index d571a7c..b0f7bc4 100644
 >>>  --- a/recipes-security/selinux/libselinux.inc
 >>>  +++ b/recipes-security/selinux/libselinux.inc
 >>>  @@ -7,7 +7,7 @@ LICENSE = "PD"
 >>>
 >>>  inherit lib_package pythonnative
 >>>
 >>>  -DEPENDS += "libsepol python libpcre swig-native"
 >>>  +DEPENDS += "libsepol python libpcre swig-native coreutils-native"
 >>>
 >>>  PACKAGES += "${PN}-python"
 >>>  FILES_${PN}-python = 
"${libdir}/python${PYTHON_BASEVERSION}/site-packages/selinux/*"
 >>>  diff --git a/recipes-security/selinux/libsepol.inc 
b/recipes-security/selinux/libsepol.inc
 >>>  index b24ed28..9234f24 100644
 >>>  --- a/recipes-security/selinux/libsepol.inc
 >>>  +++ b/recipes-security/selinux/libsepol.inc
 >>>  @@ -8,6 +8,8 @@ LICENSE = "LGPLv2+"
 >>>
 >>>  inherit lib_package
 >>>
 >>>  +DEPENDS += "coreutils-native"
 >>>  +
 >>>  # Change RANLIB for cross compiling, use host-tools $(AR) rather than
 >>>  # local ranlib.
 >>>  EXTRA_OEMAKE += "RANLIB='$(AR) s'"
 >>>  --
 >>>  1.9.1

+1, this patch resolved the issue nicely for me! :)

Thanks,
-Chris



More information about the yocto mailing list