openssl/fontconfig/bzip2: Use relative symlinks instead of absolute ones (using a new class)

Absolute path symlinks are a bit of a pain for sstate and the native versions
of these recipes currently contain broken symlinks as a result. There are
only a small number of problematic recipes, at least in OE-Core, namely the
three here.

Rather than trying to make sstate handle this magically, which turns out to
be a harder problem than you'd first realise, simply make the symlinks relative
early in the process and avoid all the problems.

The alternative is adding new complexity to sstate which we could really
do without as without the complexity, you can't always tell where the
absolute symlink is relative to (due to prefixes used for native sstate).

(From OE-Core rev: e478550c8cd889f12e336e268e9e3b30827bf840)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2017-02-08 16:10:50 +00:00
parent eac8f9b986
commit 23d9886aae
4 changed files with 8 additions and 3 deletions

View File

@ -0,0 +1,5 @@
do_install[postfuncs] += "install_relative_symlinks"
python install_relative_symlinks () {
oe.path.replace_absolute_symlinks(d.getVar('D'), d)
}

View File

@ -30,7 +30,7 @@ export EX_LIBS = "-lgcc -ldl"
export AS = "${CC} -c"
EXTRA_OEMAKE = "-e MAKEFLAGS="
inherit pkgconfig siteinfo multilib_header ptest
inherit pkgconfig siteinfo multilib_header ptest relative_symlinks
PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"

View File

@ -25,7 +25,7 @@ PACKAGES =+ "libbz2"
CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
inherit autotools update-alternatives ptest
inherit autotools update-alternatives ptest relative_symlinks
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN} = "bunzip2 bzcat"

View File

@ -37,7 +37,7 @@ RREPLACES_fontconfig-utils = "libfontconfig-utils"
RCONFLICTS_fontconfig-utils = "libfontconfig-utils"
DEBIAN_NOAUTONAME_fontconfig-utils = "1"
inherit autotools pkgconfig
inherit autotools pkgconfig relative_symlinks
FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig"