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

wenzong fan wenzong.fan at windriver.com
Sun Oct 25 19:23:30 PDT 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?

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
>>
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>



More information about the yocto mailing list