Skip to contentSkip to conversation

cross.bbclass: keep TARGET_SYS & TARGET_PREFIX independent.

PATCH In review Chris Larson 8 participants 25 messages Aug 20, 2009 – Feb 25, 2010

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cross.bbclass: keep TARGET_SYS & TARGET_PREFIX independent.

---
 classes/cross.bbclass |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
classes/cross.bbclass +5 -0
index 7debde6..72a0fb7 100644
@@ -2,6 +2,11 @@
 # no need for them to be a direct target of 'world'
 EXCLUDE_FROM_WORLD = "1"
 
+# In order to keep TARGET_PREFIX decoupled from TARGET_SYS, let's force the
+# binary names to match the former, rather than relying on autoconf's implicit
+# prefixing based on the latter.
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
 # Save PACKAGE_ARCH before changing HOST_ARCH
 OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}"
 PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}"
Signature · 1 line
1.6.0
#1 lore raw

PATCH 1/1 patch.bbclass: catch exceptions raised in the Resolve().

---
 classes/patch.bbclass |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
classes/patch.bbclass +3 -4
index 2f99e4c..2aa63c0 100644
@@ -530,10 +530,9 @@ python patch_do_patch() {
 		bb.note("Applying patch '%s' (%s)" % (pname, base_path_out(unpacked, d)))
 		try:
 			patchset.Import({"file":unpacked, "remote":url, "strippath": pnum}, True)
-		except:
-			import sys
-			raise bb.build.FuncFailed(str(sys.exc_value))
-		resolver.Resolve()
+			resolver.Resolve()
+		except Exception, e:
+			raise bb.build.FuncFailed(str(e))
 }
 
 EXPORT_FUNCTIONS do_patch
Signature · 1 line
1.6.0
#2 lore raw

PATCH 1/1 patch.bbclass: Add "git" patchtool mechanism, which uses git-apply

From: Dale Farnsworth <[email protected]>

It can be selected by setting PATCHTOOL = "git".

This is useful because git-apply honors the permissions information produced by git-format-patch.

---
 classes/patch.bbclass |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
classes/patch.bbclass +20 -0
index 2aa63c0..650d9c1 100644
@@ -189,6 +189,24 @@ def patch_init(d):
 		def Clean(self):
 			""""""
 
+	class GitApplyTree(PatchTree):
+		def __init__(self, dir, d):
+			PatchTree.__init__(self, dir, d)
+
+		def _applypatch(self, patch, force = False, reverse = False, run = True):
+			shellcmd = ["git", "--git-dir=.", "apply", "-p%s" % patch['strippath']]
+
+			if reverse:
+				shellcmd.append('-R')
+
+			shellcmd.append(patch['file'])
+
+			if not run:
+				return "sh" + "-c" + " ".join(shellcmd)
+
+			return runcmd(["sh", "-c", " ".join(shellcmd)], self.dir)
+
+
 	class QuiltTree(PatchSet):
 		def _runcmd(self, args, run = True):
 			quiltrc = bb.data.getVar('QUILTRCFILE', self.d, 1)
@@ -424,6 +442,7 @@ def patch_init(d):
 	g["PatchSet"] = PatchSet
 	g["PatchTree"] = PatchTree
 	g["QuiltTree"] = QuiltTree
+	g["GitApplyTree"] = GitApplyTree
 	g["Resolver"] = Resolver
 	g["UserResolver"] = UserResolver
 	g["NOOPResolver"] = NOOPResolver
@@ -449,6 +468,7 @@ python patch_do_patch() {
 	patchsetmap = {
 		"patch": PatchTree,
 		"quilt": QuiltTree,
+		"git": GitApplyTree,
 	}
 
 	cls = patchsetmap[bb.data.getVar('PATCHTOOL', d, 1) or 'quilt']
Signature · 1 line
1.6.0
#3 lore raw

PATCH 1/1 kernel.bbclass: Set EXTRA_OEMAKE to null for kernel

From: Dale Farnsworth <[email protected]>

Currently the only thing in EXTRA_OEMAKE is '-e MAKEFLAGS='. We don't want to overide the kernel's Makefile variables from the environment. It caused the passed -j<N> parameter from PARALLEL_MAKE to be ignored.

---
 classes/kernel.bbclass |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
classes/kernel.bbclass +4 -0
index 3ee7f53..2947d4d 100644
@@ -78,6 +78,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 UBOOT_ENTRYPOINT ?= "20008000"
 UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
 
+# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE.
+# We don't want to override kernel Makefile variables from the environment
+EXTRA_OEMAKE = ""
+
 kernel_do_compile() {
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
 	oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
Signature · 1 line
1.6.0
#4 lore raw

PATCH 1/1 kernel.bbclass: Install & package symvers as /boot/Module.symvers-<ver>.

---
 classes/kernel.bbclass |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
classes/kernel.bbclass +2 -1
index 2947d4d..a8b2b0d 100644
@@ -179,6 +179,7 @@ kernel_do_install() {
 	install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
 	install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
 	install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION}
+	[ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION}
 	install -d ${D}/etc/modutils
 	if [ "${KERNEL_MAJOR_VERSION}" = "2.6" ]; then
 		install -d ${D}/etc/modprobe.d
@@ -229,7 +230,7 @@ EXPORT_FUNCTIONS do_compile do_install do_stage do_configure
 PACKAGES = "kernel kernel-base kernel-image kernel-dev kernel-vmlinux"
 FILES = ""
 FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
-FILES_kernel-dev = "/boot/System.map* /boot/config*"
+FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*"
 FILES_kernel-vmlinux = "/boot/vmlinux*"
 RDEPENDS_kernel = "kernel-base"
 RRECOMMENDS_kernel-module-hostap-cs += '${@base_version_less_or_equal("KERNEL_VERSION", "2.6.17", "", "apm-wifi-suspendfix", d)}'
Signature · 1 line
1.6.0
#5 lore raw

PATCH 1/1 bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

To re-enable, set CCACHE = "ccache ".

---
 conf/bitbake.conf |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
conf/bitbake.conf +0 -1
index c4af34e..0b35ea8 100644
@@ -390,7 +390,6 @@ export PATH
 # Build utility info.
 ##################################################################
 
-CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}"
 TOOLCHAIN_OPTIONS = ""
 
 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
Signature · 1 line
1.6.0
#6 lore raw

PATCH 1/1 bitbake.conf: Add export for cross NM.

From: Jeremy Puhlman <[email protected]>

When not providing a cross nm, the configure for libtool-cross falls back to the system nm. This can lead to empty "global_symbol_pipe" and "global_symbol_to_cdeclvarble" variables in the generated libtool script.

---
 conf/bitbake.conf |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
conf/bitbake.conf +1 -0
index 0b35ea8..371bf8e 100644
@@ -404,6 +404,7 @@ export RANLIB = "${HOST_PREFIX}ranlib"
 export STRIP = "${HOST_PREFIX}strip"
 export OBJCOPY = "${HOST_PREFIX}objcopy"
 export OBJDUMP = "${HOST_PREFIX}objdump"
+export NM = "${HOST_PREFIX}nm"
 PYTHON = "${@sys.executable}"
 
 export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
Signature · 1 line
1.6.0
#7 lore raw

PATCH 1/1 bitbake.conf: BUILD_LDFLAGS: use $ORIGIN in the -rpath rather than a full path.

---
 conf/bitbake.conf |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
conf/bitbake.conf +1 -1
index 371bf8e..9cb6039 100644
@@ -447,7 +447,7 @@ export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
 
 export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
                         -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-                        -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+                        -Wl,-rpath,\\\$\$ORIGIN/${@base_path_relative(d.getVar('STAGING_BINDIR_NATIVE', 1), d.getVar('STAGING_LIBDIR_NATIVE', 1))} -Wl,-O1"
 
 export LDFLAGS = "${TARGET_LDFLAGS}"
 export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
Signature · 1 line
1.6.0
#8 lore raw

PATCH 1/1 bitbake.conf: only pass --no-check-certificate if wget supports it.

---
 conf/bitbake.conf |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
conf/bitbake.conf +3 -2
index 9cb6039..b849a85 100644
@@ -530,12 +530,13 @@ FETCHCMD_wget = "/usr/bin/env wget -t 5 --no-check-certificate"
 FETCHCMD_bzr = "/usr/bin/env bzr"
 FETCHCMD_hg = "/usr/bin/env hg"
 
+__wget_nocheckcert := "${@['--no-check-certificate', '']['unrecognized option' in os.popen3("wget --no-check-certificate")[2].read()]}"
 FETCHCOMMAND = "ERROR, this must be a BitBake bug"
-FETCHCOMMAND_wget = "/usr/bin/env 'PATH=${PATH}' wget -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} ${URI}"
+FETCHCOMMAND_wget = "/usr/bin/env 'PATH=${PATH}' wget -t 5 --passive-ftp ${__wget_nocheckcert} -P ${DL_DIR} ${URI}"
 FETCHCOMMAND_cvs = "/usr/bin/env 'PATH=${PATH}' cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE}"
 FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}"
 RESUMECOMMAND = "ERROR, this must be a BitBake bug"
-RESUMECOMMAND_wget = "/usr/bin/env 'PATH=${PATH}' wget -c -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} ${URI}"
+RESUMECOMMAND_wget = "/usr/bin/env 'PATH=${PATH}' wget -c -t 5 --passive-ftp ${__wget_nocheckcert} -P ${DL_DIR} ${URI}"
 UPDATECOMMAND = "ERROR, this must be a BitBake bug"
 UPDATECOMMAND_cvs = "/usr/bin/env 'PATH=${PATH}' cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
 UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
Signature · 1 line
1.6.0
#9 lore raw

Re: [PATCH] bitbake.conf: BUILD_LDFLAGS: use $ORIGIN in the -rpath rather than a full path.

In reply to Chris Larson
Quoted 1 line · Chris Larson

Hmm, interesting. I didn't know about $ORIGIN... But what is the benefit here? To be able to move $TMPDIR?

Quoted 25 lines
---
 conf/bitbake.conf |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
conf/bitbake.conf +1 -1
index 371bf8e..9cb6039 100644
@@ -447,7 +447,7 @@ export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
 
 export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
                         -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-                        -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+                        -Wl,-rpath,\\\$\$ORIGIN/${@base_path_relative(d.getVar('STAGING_BINDIR_NATIVE', 1), d.getVar('STAGING_LIBDIR_NATIVE', 1))} -Wl,-O1"
 
 export LDFLAGS = "${TARGET_LDFLAGS}"
 export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
Signature · 7 lines
1.6.0


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
#10 lore raw

Re: [PATCH] bitbake.conf: BUILD_LDFLAGS: use $ORIGIN in the -rpath rather than a full path.

Yeah, its one of many changes needed to get things relocatable enough to be able to use prebuilt binaries / packaged staging packages amongst a group of developers, for example. This is just one piece of the puzzle, of course. Ideally, more open source projects would be properly relocatable, and we wouldn't need so many hacks. We ended up doing a lot of things to work around reloc issues in native/cross recipes, for MVL6. Everything from exporting a pile of new env vars to writing wrapper scripts and the like.. yech. Still, it's a worthy goal, and the benefits would be worthwhile, so I think we should start taking the steps in that direction.

Quoted 37 lines · Denys Dmytriyenko
Quoted 1 line · Chris Larson

Hmm, interesting. I didn't know about $ORIGIN... But what is the benefit here? To be able to move $TMPDIR?

Quoted 21 lines

---
 conf/bitbake.conf |    2 +-

 1 files changed, 1 insertions(+), 1 deletions(-)
conf/bitbake.conf +1 -1
index 371bf8e..9cb6039 100644
@@ -447,7 +447,7 @@ export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
 
  export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
                          -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-                        -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+                        -Wl,-rpath,\\\$\$ORIGIN/${@base_path_relative(d.getVar('STAGING_BINDIR_NATIVE', 1), d.getVar('STAGING_LIBDIR_NATIVE', 1))} -Wl,-O1"
 

 export LDFLAGS = "${TARGET_LDFLAGS}"
 export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
--
1.6.0

Quoted 4 lines

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Signature · 7 lines
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.
#11 lore raw

Re: [PATCH] bitbake.conf: BUILD_LDFLAGS: use $ORIGIN in the -rpath rather than a full path.

Quoted 10 lines · Chris Larson

Yeah, its one of many changes needed to get things relocatable enough to be able to use prebuilt binaries / packaged staging packages amongst a group of developers, for example. This is just one piece of the puzzle, of course. Ideally, more open source projects would be properly relocatable, and we wouldn't need so many hacks. We ended up doing a lot of things to work around reloc issues in native/cross recipes, for MVL6. Everything from exporting a pile of new env vars to writing wrapper scripts and the like.. yech. Still, it's a worthy goal, and the benefits would be worthwhile, so I think we should start taking the steps in that direction.

Ah, relocatable pstage - a worthy goal! :)

Quoted 54 lines · Denys Dmytriyenko
Quoted 37 lines · Chris Larson
Quoted 1 line

Hmm, interesting. I didn't know about $ORIGIN... But what is the benefit here? To be able to move $TMPDIR?

Quoted 21 lines

---
 conf/bitbake.conf |    2 +-

 1 files changed, 1 insertions(+), 1 deletions(-)
conf/bitbake.conf +1 -1
index 371bf8e..9cb6039 100644
@@ -447,7 +447,7 @@ export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
 
  export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
                          -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-                        -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+                        -Wl,-rpath,\\\$\$ORIGIN/${@base_path_relative(d.getVar('STAGING_BINDIR_NATIVE', 1), d.getVar('STAGING_LIBDIR_NATIVE', 1))} -Wl,-O1"
 

 export LDFLAGS = "${TARGET_LDFLAGS}"
 export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
--
1.6.0

Quoted 4 lines

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Signature · 12 lines
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Acked-by on v1 1/1
#12 lore raw

Re: [PATCH] bitbake.conf: Add export for cross NM.

In reply to Chris Larson
Quoted 8 lines · On Thursday 20 August 2009 05:24:38 Chris Larson wrote:

From: Jeremy Puhlman <[email protected]>

When not providing a cross nm, the configure for libtool-cross falls back to the system nm. This can lead to empty "global_symbol_pipe" and "global_symbol_to_cdeclvarble" variables in the generated libtool script.

Quoted 16 lines
---
 conf/bitbake.conf |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
conf/bitbake.conf +1 -0
index 0b35ea8..371bf8e 100644
@@ -404,6 +404,7 @@ export RANLIB = "${HOST_PREFIX}ranlib"
 export STRIP = "${HOST_PREFIX}strip"
 export OBJCOPY = "${HOST_PREFIX}objcopy"
 export OBJDUMP = "${HOST_PREFIX}objdump"
+export NM = "${HOST_PREFIX}nm"
 PYTHON = "${@sys.executable}"
 
 export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
Acked-by on v1 1/1
#13 lore raw

Re: [PATCH] bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

In reply to Chris Larson
Quoted 3 lines · Chris Larson

To re-enable, set CCACHE = "ccache ".

CCACHE-related issues are one of the most commonly reported...

Quoted 24 lines
---
 conf/bitbake.conf |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
conf/bitbake.conf +0 -1
index c4af34e..0b35ea8 100644
@@ -390,7 +390,6 @@ export PATH
 # Build utility info.
 ##################################################################
 
-CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}"
 TOOLCHAIN_OPTIONS = ""
 
 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
Signature · 7 lines
1.6.0


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
#14 lore raw

Re: [PATCH] bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

In reply to Chris Larson
Quoted 3 lines · On Thursday 20 August 2009 05:24:37 Chris Larson wrote:

To re-enable, set CCACHE = "ccache ".

Could you elaborate on the need of that? Which platforms do you deal with that break due the usage of ccache?

And technically I think you should make it CCACHE = "", out of legacy I think we can not really remove keys from bitbake.conf

#15 lore raw

Re: [PATCH] bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

2009/8/20 Holger Hans Peter Freyther <[email protected]>:

Quoted 7 lines · On Thursday 20 August 2009 05:24:37 Chris Larson wrote:
Quoted 3 lines

To re-enable, set CCACHE = "ccache ".

Could you elaborate on the need of that? Which platforms do you deal with that break due the usage of ccache?

I run Slackware 12.2, whose build of ccache does not seem to be accepted. I don't recall the exact mechanism of failure, but shasum-native fails before getting to any other pacakges. Currently I have to move the ccache binary out of my $PATH or OE tries to use it.

-Graham

#16 lore raw

Re: [PATCH] bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

Quoted 6 lines · Graham Gower

2009/8/20 Holger Hans Peter Freyther <[email protected]>:

Quoted 5 lines · On Thursday 20 August 2009 05:24:37 Chris Larson wrote:
Quoted 3 lines

To re-enable, set CCACHE = "ccache ".

Quoted 7 lines
Quoted 2 lines

Could you elaborate on the need of that? Which platforms do you deal with that break due the usage of ccache?

I run Slackware 12.2, whose build of ccache does not seem to be accepted. I don't recall the exact mechanism of failure, but shasum-native fails before getting to any other pacakges. Currently I have to move the ccache binary out of my $PATH or OE tries to use it.

Same exact problem has been reported many times with RedHat-based distros as well - it just fails to build shasum-native (the very first package) w/o any meaningful messages...

Signature · 1 line
Denys
#17 lore raw

Re: [PATCH] bitbake.conf: Kill CCACHE. Implicit, automatic use of things which can fail is bad.

Quoted 13 lines · Denys Dmytriyenko
Quoted 11 lines · Graham Gower

2009/8/20 Holger Hans Peter Freyther <[email protected]>:

Quoted 9 lines · On Thursday 20 August 2009 05:24:37 Chris Larson wrote:
Quoted 5 lines

To re-enable, set CCACHE = "ccache ".

Could you elaborate on the need of that? Which platforms do you deal with that break due the usage of ccache?

Quoted 8 lines
Quoted 5 lines

I run Slackware 12.2, whose build of ccache does not seem to be accepted. I don't recall the exact mechanism of failure, but shasum-native fails before getting to any other pacakges. Currently I have to move the ccache binary out of my $PATH or OE tries to use it.

Same exact problem has been reported many times with RedHat-based distros as well - it just fails to build shasum-native (the very first package) w/o any meaningful messages...

I have also suffered random failures that disappear once ccache has been uninstalled on at least Ubuntu 8.10.

Martyn

Signature · 4 lines
Martyn Welch MEng MPhil MIET (Principal Software Engineer)   T:+44(0)1327322748
GE Fanuc Intelligent Platforms Ltd,        |Registered in England and Wales
Tove Valley Business Park, Towcester,      |(3828642) at 100 Barbirolli Square,
Northants, NN12 6PF, UK T:+44(0)1327359444 |Manchester,M2 3AB  VAT:GB 927559189
Acked-by on v1 1/1
#19 lore raw

Re: [PATCH] kernel.bbclass: Set EXTRA_OEMAKE to null for kernel

In reply to Chris Larson
Quoted 8 lines · Chris Larson

From: Dale Farnsworth <[email protected]>

Currently the only thing in EXTRA_OEMAKE is '-e MAKEFLAGS='. We don't want to overide the kernel's Makefile variables from the environment. It caused the passed -j<N> parameter from PARALLEL_MAKE to be ignored.

Had a similar fix in my own tree locally, but not specifically for -jN...

Quoted 27 lines
---
 classes/kernel.bbclass |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
classes/kernel.bbclass +4 -0
index 3ee7f53..2947d4d 100644
@@ -78,6 +78,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 UBOOT_ENTRYPOINT ?= "20008000"
 UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
 
+# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE.
+# We don't want to override kernel Makefile variables from the environment
+EXTRA_OEMAKE = ""
+
 kernel_do_compile() {
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
 	oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
Signature · 7 lines
1.6.0


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Acked-by on v1 1/1
#20 lore raw

Re: [PATCH] patch.bbclass: Add "git" patchtool mechanism, which uses git-apply

In reply to Chris Larson
Quoted 9 lines · Chris Larson

From: Dale Farnsworth <[email protected]>

It can be selected by setting PATCHTOOL = "git".

This is useful because git-apply honors the permissions information produced by git-format-patch.

Nice one, thanks!

Quoted 57 lines
---
 classes/patch.bbclass |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
classes/patch.bbclass +20 -0
index 2aa63c0..650d9c1 100644
@@ -189,6 +189,24 @@ def patch_init(d):
 		def Clean(self):
 			""""""
 
+	class GitApplyTree(PatchTree):
+		def __init__(self, dir, d):
+			PatchTree.__init__(self, dir, d)
+
+		def _applypatch(self, patch, force = False, reverse = False, run = True):
+			shellcmd = ["git", "--git-dir=.", "apply", "-p%s" % patch['strippath']]
+
+			if reverse:
+				shellcmd.append('-R')
+
+			shellcmd.append(patch['file'])
+
+			if not run:
+				return "sh" + "-c" + " ".join(shellcmd)
+
+			return runcmd(["sh", "-c", " ".join(shellcmd)], self.dir)
+
+
 	class QuiltTree(PatchSet):
 		def _runcmd(self, args, run = True):
 			quiltrc = bb.data.getVar('QUILTRCFILE', self.d, 1)
@@ -424,6 +442,7 @@ def patch_init(d):
 	g["PatchSet"] = PatchSet
 	g["PatchTree"] = PatchTree
 	g["QuiltTree"] = QuiltTree
+	g["GitApplyTree"] = GitApplyTree
 	g["Resolver"] = Resolver
 	g["UserResolver"] = UserResolver
 	g["NOOPResolver"] = NOOPResolver
@@ -449,6 +468,7 @@ python patch_do_patch() {
 	patchsetmap = {
 		"patch": PatchTree,
 		"quilt": QuiltTree,
+		"git": GitApplyTree,
 	}
 
 	cls = patchsetmap[bb.data.getVar('PATCHTOOL', d, 1) or 'quilt']
Signature · 7 lines
1.6.0


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
#21 lore raw
In reply to Chris Larson
Quoted 4 lines · Chris Larson
---
 classes/cross.bbclass |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

Hi Chris,

Can you explain for a crosscompile noob -- when would TARGET_PREFIX != ${TARGET_SYS}-? I understand they're separate variables so they COULD be different; just wondering why someone would set them that way.

Thanks,
Mike

#22 lore raw
Quoted 3 lines

Can you explain for a crosscompile noob -- when would TARGET_PREFIX != ${TARGET_SYS}-? I understand they're separate variables so they COULD be different; just wondering why someone would set them that way.

The only case that comes to mind is when using external toolchains. They aren't all so kind as to be arch-vendor-os-<foo>.

Signature · 7 lines
Chris Larson
clarson at kergoth dot com
clarson at mvista dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Software Engineer
MontaVista Software, Inc.
Acked-by
#23 lore raw
Quoted 6 lines · Chris Larson
Quoted 3 lines

Can you explain for a crosscompile noob -- when would TARGET_PREFIX != ${TARGET_SYS}-? I understand they're separate variables so they COULD be different; just wondering why someone would set them that way.

The only case that comes to mind is when using external toolchains. They aren't all so kind as to be arch-vendor-os-<foo>.

Cool, thanks for the explanation. For what it's worth,

Acked-by on v1 1/1
#24 lore raw
In reply to Chris Larson
Quoted 2 lines · Christopher Larson
Quoted 21 lines

---
classes/cross.bbclass | 5 +++++

 1 files changed, 5 insertions(+), 0 deletions(-)
classes/cross.bbclass +5 -0
index 7debde6..72a0fb7 100644
@@ -2,6 +2,11 @@
 # no need for them to be a direct target of 'world'
 EXCLUDE_FROM_WORLD = "1"
 
+# In order to keep TARGET_PREFIX decoupled from TARGET_SYS, let's force the
+# binary names to match the former, rather than relying on autoconf's implicit
+# prefixing based on the latter.
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
 # Save PACKAGE_ARCH before changing HOST_ARCH
 OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}"
 PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}"
Signature · 2 lines
Tom Rini <[email protected]>
Mentor Graphics Corporation