mirror of
https://git.yoctoproject.org/poky
synced 2026-07-15 15:37:03 +00:00
nativesdk: Switch to using nativesdk as a prefix, not a suffix
As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. (From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -191,7 +191,7 @@ def preferred_ml_updates(d):
|
||||
for v in versions:
|
||||
val = d.getVar(v, False)
|
||||
pkg = v.replace("PREFERRED_VERSION_", "")
|
||||
if pkg.endswith("-native") or pkg.endswith("-nativesdk"):
|
||||
if pkg.endswith("-native") or pkg.startswith("nativesdk-"):
|
||||
continue
|
||||
for p in prefixes:
|
||||
newname = "PREFERRED_VERSION_" + p + "-" + pkg
|
||||
@@ -201,7 +201,7 @@ def preferred_ml_updates(d):
|
||||
for prov in providers:
|
||||
val = d.getVar(prov, False)
|
||||
pkg = prov.replace("PREFERRED_PROVIDER_", "")
|
||||
if pkg.endswith("-native") or pkg.endswith("-nativesdk"):
|
||||
if pkg.endswith("-native") or pkg.startswith("nativesdk-"):
|
||||
continue
|
||||
virt = ""
|
||||
if pkg.startswith("virtual/"):
|
||||
@@ -218,7 +218,7 @@ def preferred_ml_updates(d):
|
||||
mp = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
|
||||
extramp = []
|
||||
for p in mp:
|
||||
if p.endswith("-native") or p.endswith("-nativesdk"):
|
||||
if p.endswith("-native") or p.startswith("nativesdk-"):
|
||||
continue
|
||||
virt = ""
|
||||
if p.startswith("virtual/"):
|
||||
@@ -359,15 +359,18 @@ python () {
|
||||
subs = a.split("/", 1)[1]
|
||||
newappends.append("virtual/" + prefix + subs + extension)
|
||||
else:
|
||||
newappends.append(prefix + a + extension)
|
||||
if a.startswith(prefix):
|
||||
newappends.append(a + extension)
|
||||
else:
|
||||
newappends.append(prefix + a + extension)
|
||||
return newappends
|
||||
|
||||
def appendVar(varname, appends):
|
||||
if not appends:
|
||||
return
|
||||
if varname.find("DEPENDS") != -1:
|
||||
if pn.endswith("-nativesdk"):
|
||||
appends = expandFilter(appends, "-nativesdk", "")
|
||||
if pn.startswith("nativesdk-"):
|
||||
appends = expandFilter(appends, "", "nativesdk-")
|
||||
if pn.endswith("-native"):
|
||||
appends = expandFilter(appends, "-native", "")
|
||||
if mlprefix:
|
||||
@@ -456,7 +459,7 @@ python () {
|
||||
|
||||
dont_want_license = d.getVar('INCOMPATIBLE_LICENSE', True)
|
||||
|
||||
if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate") and not pn.endswith("-crosssdk-intermediate") and not pn.endswith("-crosssdk") and not pn.endswith("-crosssdk-initial") and not pn.endswith("-cross-canadian-%s" % d.getVar('TRANSLATED_TARGET_ARCH', True)) and not pn.endswith("-nativesdk"):
|
||||
if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate") and not pn.endswith("-crosssdk-intermediate") and not pn.endswith("-crosssdk") and not pn.endswith("-crosssdk-initial") and not pn.endswith("-cross-canadian-%s" % d.getVar('TRANSLATED_TARGET_ARCH', True)) and not pn.startswith("nativesdk-"):
|
||||
# Internally, we'll use the license mapping. This way INCOMPATIBLE_LICENSE = "GPLv2" and
|
||||
# INCOMPATIBLE_LICENSE = "GPLv2.0" will pick up all variations of GPL-2.0
|
||||
spdx_license = return_spdx(d, dont_want_license)
|
||||
|
||||
@@ -52,7 +52,7 @@ LDFLAGS = "${BUILDSDK_LDFLAGS} \
|
||||
-Wl,-rpath-link,${STAGING_LIBDIR}/.. \
|
||||
-Wl,-rpath,${libdir}/.. "
|
||||
|
||||
DEPENDS_GETTEXT = "gettext-native gettext-nativesdk"
|
||||
DEPENDS_GETTEXT = "gettext-native nativesdk-gettext"
|
||||
|
||||
# Path mangling needed by the cross packaging
|
||||
# Note that we use := here to ensure that libdir and includedir are
|
||||
|
||||
@@ -33,10 +33,10 @@ python do_distrodata_np() {
|
||||
localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES', True))
|
||||
bb.data.update_data(localdata)
|
||||
|
||||
if pn.find("-nativesdk") != -1:
|
||||
pnstripped = pn.split("-nativesdk")
|
||||
if pn.find("nativesdk-") != -1:
|
||||
pnstripped = pn.replace("nativesdk-", "")
|
||||
bb.note("Native Split: %s" % pnstripped)
|
||||
localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES', True))
|
||||
localdata.setVar('OVERRIDES', "pn-" + pnstripped + ":" + d.getVar('OVERRIDES', True))
|
||||
bb.data.update_data(localdata)
|
||||
|
||||
if pn.find("-cross") != -1:
|
||||
|
||||
@@ -195,7 +195,7 @@ def package_qa_check_dev(path, name, d, elf, messages):
|
||||
Check for ".so" library symlinks in non-dev packages
|
||||
"""
|
||||
|
||||
if not name.endswith("-dev") and not name.endswith("-dbg") and not name.endswith("-nativesdk") and path.endswith(".so") and os.path.islink(path):
|
||||
if not name.endswith("-dev") and not name.endswith("-dbg") and not name.startswith("nativesdk-") and path.endswith(".so") and os.path.islink(path):
|
||||
messages.append("non -dev/-dbg/-nativesdk package contains symlink .so: %s path '%s'" % \
|
||||
(name, package_qa_clean_path(path,d)))
|
||||
|
||||
@@ -726,7 +726,7 @@ Rerun configure task after fixing this. The path was '%s'""" % root)
|
||||
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d):
|
||||
gt = "gettext-native"
|
||||
elif bb.data.inherits_class('cross-canadian', d):
|
||||
gt = "gettext-nativesdk"
|
||||
gt = "nativesdk-gettext"
|
||||
else:
|
||||
gt = "virtual/" + ml + "gettext"
|
||||
deps = bb.utils.explode_deps(d.getVar('DEPENDS', True) or "")
|
||||
|
||||
@@ -52,8 +52,6 @@ baselib = "lib"
|
||||
export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig"
|
||||
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
|
||||
|
||||
PKGSUFFIX = "-nativesdk"
|
||||
|
||||
python nativesdk_virtclass_handler () {
|
||||
if not isinstance(e, bb.event.RecipePreFinalise):
|
||||
return
|
||||
|
||||
@@ -1114,7 +1114,7 @@ python do_package_rpm () {
|
||||
targetsys = d.getVar('TARGET_SYS', True)
|
||||
targetvendor = d.getVar('TARGET_VENDOR', True)
|
||||
package_arch = d.getVar('PACKAGE_ARCH', True) or ""
|
||||
if package_arch not in "all any noarch".split():
|
||||
if package_arch not in "all any noarch".split() and not package_arch.endswith("-nativesdk"):
|
||||
ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_")
|
||||
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
|
||||
else:
|
||||
|
||||
@@ -2,6 +2,6 @@ DEPENDS_prepend = "pkgconfig-native "
|
||||
|
||||
PKGCONFIGRDEP = "pkgconfig"
|
||||
PKGCONFIGRDEP_virtclass-native = ""
|
||||
PKGCONFIGRDEP_virtclass-nativesdk = "pkgconfig-nativesdk"
|
||||
PKGCONFIGRDEP_virtclass-nativesdk = "nativesdk-pkgconfig"
|
||||
|
||||
RDEPENDS_${PN}-dev += "${PKGCONFIGRDEP}"
|
||||
|
||||
@@ -4,3 +4,4 @@
|
||||
inherit populate_sdk_base
|
||||
|
||||
addtask populate_sdk after do_install before do_build
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
|
||||
|
||||
SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${MULTIMACH_TARGET_SYS}"
|
||||
|
||||
TOOLCHAIN_HOST_TASK ?= "task-sdk-host-nativesdk task-cross-canadian-${TRANSLATED_TARGET_ARCH}"
|
||||
TOOLCHAIN_HOST_TASK ?= "nativesdk-task-sdk-host task-cross-canadian-${TRANSLATED_TARGET_ARCH}"
|
||||
TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= ""
|
||||
TOOLCHAIN_TARGET_TASK ?= "task-core-standalone-sdk-target task-core-standalone-sdk-target-dbg"
|
||||
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
|
||||
|
||||
Reference in New Issue
Block a user