Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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