* [PATCH 0/4] Misc fixes around SDK and package management
@ 2014-06-25 0:28 Mark Hatle
2014-06-25 0:28 ` [PATCH 1/4] classes/package_rpm.bbclass: Fix SDK Suffix reference Mark Hatle
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Mark Hatle @ 2014-06-25 0:28 UTC (permalink / raw)
To: openembedded-core
While working with meta-mingw and some related toolchain SDKs, I found
a number of minor issues. These 4 fixes correct the issues observed.
Note RPM is not capable of installing meta-mingw into an SDK. You must
still use IPK for that. I'll continue to work on a fix for that.
The following changes since commit 41bd9dbf6f3e0add6a9e2cb20cfcbff44d785ea4:
syslinux: fix isohybird overflows on 32 bit system (2014-06-24 19:53:02 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib mhatle/oe-core
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mhatle/oe-core
Mark Hatle (4):
classes/package_rpm.bbclass: Fix SDK Suffix reference
populate_sdk: Fix TOOLCHAIN_TARGET_TASK_ATTEMPTONLY implementation
gcc-cross-canadian: Add configure-target-libgcc
lib/oe/package_manager.py: Add processing for alternative SDK_OS
meta/classes/package_rpm.bbclass | 3 ++-
meta/classes/populate_sdk_base.bbclass | 1 +
meta/lib/oe/manifest.py | 2 +-
meta/lib/oe/package_manager.py | 6 +++++-
meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 13 ++++++++++---
5 files changed, 19 insertions(+), 6 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/4] classes/package_rpm.bbclass: Fix SDK Suffix reference
2014-06-25 0:28 [PATCH 0/4] Misc fixes around SDK and package management Mark Hatle
@ 2014-06-25 0:28 ` Mark Hatle
2014-06-25 0:28 ` [PATCH 2/4] populate_sdk: Fix TOOLCHAIN_TARGET_TASK_ATTEMPTONLY implementation Mark Hatle
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Mark Hatle @ 2014-06-25 0:28 UTC (permalink / raw)
To: openembedded-core
The meta-mingw layer attempts to change the SDK Suffix, but the rpm
packaging had a hard coded reference to _nativesdk.
I did a quick scan for other hard coded entries and did not fine any
more.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/classes/package_rpm.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 1ff2b36..71cfdc1 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -654,7 +654,8 @@ python do_package_rpm () {
targetsys = d.getVar('TARGET_SYS', True)
targetvendor = d.getVar('TARGET_VENDOR', True)
package_arch = (d.getVar('PACKAGE_ARCH', True) or "").replace("-", "_")
- if package_arch not in "all any noarch".split() and not package_arch.endswith("_nativesdk"):
+ sdkpkgsuffix = (d.getVar('SDKPKGSUFFIX', True) or "nativesdk").replace("-", "_")
+ if package_arch not in "all any noarch".split() and not package_arch.endswith(sdkpkgsuffix):
ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_")
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
else:
--
1.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] populate_sdk: Fix TOOLCHAIN_TARGET_TASK_ATTEMPTONLY implementation
2014-06-25 0:28 [PATCH 0/4] Misc fixes around SDK and package management Mark Hatle
2014-06-25 0:28 ` [PATCH 1/4] classes/package_rpm.bbclass: Fix SDK Suffix reference Mark Hatle
@ 2014-06-25 0:28 ` Mark Hatle
2014-06-25 0:28 ` [PATCH 3/4] gcc-cross-canadian: Add configure-target-libgcc Mark Hatle
2014-06-25 0:28 ` [PATCH 4/4] lib/oe/package_manager.py: Add processing for alternative SDK_OS Mark Hatle
3 siblings, 0 replies; 5+ messages in thread
From: Mark Hatle @ 2014-06-25 0:28 UTC (permalink / raw)
To: openembedded-core
The variable was only partially implemented, and the part that was there
was named incorrectly to, missing the 'TASK' piece.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/classes/populate_sdk_base.bbclass | 1 +
meta/lib/oe/manifest.py | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 35d837d..d3d8422 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -55,6 +55,7 @@ fakeroot python do_populate_sdk() {
pn = d.getVar('PN', True)
runtime_mapping_rename("TOOLCHAIN_TARGET_TASK", pn, d)
+ runtime_mapping_rename("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY", pn, d)
# create target/host SDK manifests
create_manifest(d, manifest_dir=d.getVar('SDK_DIR', True),
diff --git a/meta/lib/oe/manifest.py b/meta/lib/oe/manifest.py
index afda76b..42832f1 100644
--- a/meta/lib/oe/manifest.py
+++ b/meta/lib/oe/manifest.py
@@ -31,7 +31,7 @@ class Manifest(object):
},
MANIFEST_TYPE_SDK_TARGET: {
"TOOLCHAIN_TARGET_TASK": PKG_TYPE_MUST_INSTALL,
- "TOOLCHAIN_TARGET_ATTEMPTONLY": PKG_TYPE_ATTEMPT_ONLY
+ "TOOLCHAIN_TARGET_TASK_ATTEMPTONLY": PKG_TYPE_ATTEMPT_ONLY
}
}
--
1.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] gcc-cross-canadian: Add configure-target-libgcc
2014-06-25 0:28 [PATCH 0/4] Misc fixes around SDK and package management Mark Hatle
2014-06-25 0:28 ` [PATCH 1/4] classes/package_rpm.bbclass: Fix SDK Suffix reference Mark Hatle
2014-06-25 0:28 ` [PATCH 2/4] populate_sdk: Fix TOOLCHAIN_TARGET_TASK_ATTEMPTONLY implementation Mark Hatle
@ 2014-06-25 0:28 ` Mark Hatle
2014-06-25 0:28 ` [PATCH 4/4] lib/oe/package_manager.py: Add processing for alternative SDK_OS Mark Hatle
3 siblings, 0 replies; 5+ messages in thread
From: Mark Hatle @ 2014-06-25 0:28 UTC (permalink / raw)
To: openembedded-core
While we're not going to package the libgcc component as part of the SDK,
we do need to generate it to get the unwind, and quadmath headers. Without
this change it is not possible to build eglibc or other components that
require these headers with the SDK toolchain.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 307f73c..63adae8 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -58,7 +58,7 @@ do_configure () {
}
do_compile () {
- oe_runmake all-host
+ oe_runmake all-host configure-target-libgcc
}
INHIBIT_PACKAGE_STRIP = "1"
@@ -97,6 +97,7 @@ EXEEXT = ""
BINRELPATH = "${@os.path.relpath(d.expand("${bindir}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}"
do_install () {
+ ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h )
oe_runmake 'DESTDIR=${D}' install-host
# Cleanup some of the ${libdir}{,exec}/gcc stuff ...
@@ -137,6 +138,11 @@ do_install () {
ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t$suffix $dest$t$suffix
done
+ # libquadmath headers need to be available in the gcc libexec dir
+ install -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
+ cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
+ cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
+
chown -R root:root ${D}
cross_canadian_bindirlinks
@@ -150,8 +156,9 @@ SYSTEMHEADERS = "/usr/include"
SYSTEMLIBS = "${target_base_libdir}/"
SYSTEMLIBS1 = "${target_libdir}/"
-EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \
- --disable-libgomp --disable-libmudflap \
+EXTRA_OECONF += " --enable-poison-system-directories"
+
+EXTRA_OECONF += "--disable-libunwind-exceptions \
--with-mpfr=${STAGING_DIR_HOST}${layout_exec_prefix} \
--with-mpc=${STAGING_DIR_HOST}${layout_exec_prefix}"
--
1.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] lib/oe/package_manager.py: Add processing for alternative SDK_OS
2014-06-25 0:28 [PATCH 0/4] Misc fixes around SDK and package management Mark Hatle
` (2 preceding siblings ...)
2014-06-25 0:28 ` [PATCH 3/4] gcc-cross-canadian: Add configure-target-libgcc Mark Hatle
@ 2014-06-25 0:28 ` Mark Hatle
3 siblings, 0 replies; 5+ messages in thread
From: Mark Hatle @ 2014-06-25 0:28 UTC (permalink / raw)
To: openembedded-core
For the meta-mingw layer, we need to process alternative SDK_OS, since this
is not a Linux based OS.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/lib/oe/package_manager.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 1c64205..18eb792 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -739,11 +739,15 @@ class RpmPM(PackageManager):
channel_priority = 5
platform_dir = os.path.join(self.etcrpm_dir, "platform")
+ sdkos = self.d.getVar("SDK_OS", True)
with open(platform_dir, "w+") as platform_fd:
platform_fd.write(platform + '\n')
for pt in platform_extra:
channel_priority += 5
- platform_fd.write(re.sub("-linux.*$", "-linux.*\n", pt))
+ if sdkos:
+ tmp = re.sub("-%s$" % sdkos, "-%s\n" % sdkos, pt)
+ tmp = re.sub("-linux.*$", "-linux.*\n", tmp)
+ platform_fd.write(tmp)
# Tell RPM that the "/" directory exist and is available
bb.note("configuring RPM system provides")
--
1.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-06-25 0:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-25 0:28 [PATCH 0/4] Misc fixes around SDK and package management Mark Hatle
2014-06-25 0:28 ` [PATCH 1/4] classes/package_rpm.bbclass: Fix SDK Suffix reference Mark Hatle
2014-06-25 0:28 ` [PATCH 2/4] populate_sdk: Fix TOOLCHAIN_TARGET_TASK_ATTEMPTONLY implementation Mark Hatle
2014-06-25 0:28 ` [PATCH 3/4] gcc-cross-canadian: Add configure-target-libgcc Mark Hatle
2014-06-25 0:28 ` [PATCH 4/4] lib/oe/package_manager.py: Add processing for alternative SDK_OS Mark Hatle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox