Skip to contentSkip to conversation

Pending patches - added few more patches

PATCH In review Martin Jansa 1 participant 6 messages Feb 23, 2012

lore
Share & tools
lore
#0 lore raw

cover Pending patches - added few more patches

First 7 patches are the same - so not resent

The following changes since commit 55f72b98f606c1554eb6edd151292ffdfddf1384:

texi2html: Fix for multilib (2012-02-22 23:01:45 +0000)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/pull
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/pull

Eric BENARD (1):
gdb-cross-canadian: build gdb with python support

Martin Jansa (10):
wireless-tools: remove ldconfig call from install-libs bitbake.conf: use weak assignment for BB_CONSOLELOG
sstatesig: add pointercal-xinput to excluded machine specific configs
python: add Makefile to SSTATE_SCAN_FILES
bitbake.conf: introduce SDK_NAME_PREFIX and NATIVESDK_* variables
gdb-cross-canadian: use NATIVESDK paths as it happens to be here
e2fsprogs: remove ldconfig call from install-libs sstate.bbclass: add *_config to SSTATE_SCAN_FILES
apr: add apr_rules.mk to SSTATE_SCAN_FILES
sstate.bbclass: improve performance of sstate package creation

 meta/classes/sstate.bbclass                        |   41 ++++++++-----------
 meta/conf/bitbake.conf                             |   16 +++++++-
 meta/lib/oe/sstatesig.py                           |    2 +-
 .../wireless-tools/remove.ldconfig.call.patch      |   19 +++++++++
 .../wireless-tools/wireless-tools_29.bb            |    5 +-
 .../e2fsprogs-1.42/remove.ldconfig.call.patch      |   28 +++++++++++++
 meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.bb  |    6 ++-
 meta/recipes-devtools/gdb/gdb-cross-canadian.inc   |   23 ++++++++++-
 .../recipes-devtools/gdb/gdb-cross-canadian_7.4.bb |    2 +-
 meta/recipes-devtools/python/python_2.7.2.bb       |    1 +
 meta/recipes-support/apr/apr_1.4.5.bb              |    2 +
 11 files changed, 112 insertions(+), 33 deletions(-)
 create mode 100644 meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch
 create mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42/remove.ldconfig.call.patch
Signature · 1 line
1.7.8.4
#1 lore raw

PATCH 8/11 e2fsprogs: remove ldconfig call from install-libs

---
 .../e2fsprogs-1.42/remove.ldconfig.call.patch      |   28 ++++++++++++++++++++
 meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.bb  |    6 +++-
 2 files changed, 32 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42/remove.ldconfig.call.patch
meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42/remove.ldconfig.call.patch new file +28 -0
new file mode 100644
index 0000000..0e5fd7d
@@ -0,0 +1,28 @@
+When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache
+(in my case libstdc++.so cannot be found after building zlib(-native) and I have to call
+touch */libstdc++.so && /sbin/ldconfig to fix it.
+
+So remove ldconfig call from make install-libs
+
+Upstream-Status: Inappropriate [disable feature]
+
+diff -uNr e2fsprogs-1.42.orig/lib/Makefile.elf-lib e2fsprogs-1.42/lib/Makefile.elf-lib
+--- e2fsprogs-1.42.orig/lib/Makefile.elf-lib	2010-06-14 05:07:36.000000000 +0200
++++ e2fsprogs-1.42/lib/Makefile.elf-lib	2012-02-23 14:26:07.021272275 +0100
+@@ -52,8 +52,6 @@
+ 		$(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
+ 			$(DESTDIR)$(libdir)/$(ELF_IMAGE).so; \
+ 	fi			
+-	$(E) "	LDCONFIG"
+-	$(Q) -$(LDCONFIG)
+ 
+ install-strip: install
+ 	$(E) "	STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
+@@ -69,7 +67,6 @@
+ 	$(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \
+ 		$(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \
+ 		$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
+-	-$(LDCONFIG)
+ 
+ clean::
+ 	$(RM) -rf elfshared
meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.bb +4 -2
index 2289211..c40d02f 100644
@@ -1,9 +1,11 @@
 require e2fsprogs.inc
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI += "file://fallocate.patch \
-            file://acinclude.m4"
+            file://acinclude.m4 \
+            file://remove.ldconfig.call.patch \
+"
 
 SRC_URI[md5sum] = "a3c4ffd7352310ab5e9412965d575610"
 SRC_URI[sha256sum] = "55b46db0cec3e2eb0e5de14494a88b01ff6c0500edf8ca8927cad6da7b5e4a46"
Signature · 1 line
1.7.8.4
#2 lore raw

PATCH 9/11 sstate.bbclass: add *_config to SSTATE_SCAN_FILES

* e.g. mysql5 has mysql_config not mysql-config

---
 meta/classes/sstate.bbclass |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/classes/sstate.bbclass +1 -1
index d4f95c1..ee9bf05 100644
@@ -10,7 +10,7 @@ SSTATE_PKGSPEC    = "sstate-${PN}-${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}-$
 SSTATE_PKGNAME    = "${SSTATE_PKGSPEC}${BB_TASKHASH}"
 SSTATE_PKG        = "${SSTATE_DIR}/${SSTATE_PKGNAME}"
 
-SSTATE_SCAN_FILES ?= "*.la *-config"
+SSTATE_SCAN_FILES ?= "*.la *-config *_config"
 SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f'
 
 BB_HASHFILENAME = "${SSTATE_PKGNAME}"
Signature · 1 line
1.7.8.4
#3 lore raw

PATCH 10/11 apr: add apr_rules.mk to SSTATE_SCAN_FILES

In reply to Martin Jansa
---
 meta/recipes-support/apr/apr_1.4.5.bb |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-support/apr/apr_1.4.5.bb +2 -0
index be465b4..2374d30 100644
@@ -41,6 +41,8 @@ do_install_append() {
 	oe_multilib_header apr.h
 }
 
+SSTATE_SCAN_FILES += "apr_rules.mk"
+
 SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess"
 
 apr_sysroot_preprocess () {
Signature · 1 line
1.7.8.4
#4 lore raw

PATCH 11/11 sstate.bbclass: improve performance of sstate package creation

In reply to Martin Jansa

* also fixes replacing paths for perl where cmd line was probably too long for os.system(cmd) (it had 560410 characters because a lot of files from sstate_scan_cmd).
* also print those 2 commands so we can find them in log.do_package

---
 meta/classes/sstate.bbclass |   39 ++++++++++++++++-----------------------
 1 files changed, 16 insertions(+), 23 deletions(-)
meta/classes/sstate.bbclass +16 -23
index ee9bf05..6883843 100644
@@ -304,38 +304,31 @@ python sstate_cleanall() {
 def sstate_hardcode_path(d):
 	# Need to remove hardcoded paths and fix these when we install the
 	# staging packages.
-	sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
-	p = os.popen("%s" % sstate_scan_cmd)
-	file_list = p.read()
-
-	if file_list == "":
-		p.close()
-		return
 
 	staging = d.getVar('STAGING_DIR', True)
 	staging_target = d.getVar('STAGING_DIR_TARGET', True)
 	staging_host = d.getVar('STAGING_DIR_HOST', True)
 	sstate_builddir = d.getVar('SSTATE_BUILDDIR', True)
 
-	files = " ".join(file_list.split('\n'))
-
 	if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d):
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging, files)
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIR:g'" % (staging)
 	elif bb.data.inherits_class('cross', d):
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIRTARGET:g %s \
-			sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging_target, files, staging, files)
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g; s:%s:FIXMESTAGINGDIR:g'" % (staging_target, staging)
 	else:
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIRHOST:g %s" % (staging_host, files)
-
-	if files:
-		os.system(cmd)
-		fix = open("%sfixmepath" % (sstate_builddir), "w")
-		fixme = []
-		for f in file_list.split('\n'):
-			fixme.append(f.replace(sstate_builddir, ""))
-		fix.write("\n".join(fixme))
-		fix.close()
-	p.close()
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host)
+	
+	sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
+	sstate_filelist_cmd = "tee %sfixmepath" % (sstate_builddir)
+
+	# fixmepath file needs relative paths, drop sstate_builddir prefix
+	sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g %sfixmepath'" % (sstate_builddir, sstate_builddir)
+
+	sstate_hardcode_cmd = "%s | %s | xargs %s" % (sstate_scan_cmd, sstate_filelist_cmd, sstate_sed_cmd)
+
+	print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd)
+	os.system(sstate_hardcode_cmd)
+	print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd)
+	os.system(sstate_filelist_relative_cmd)
 
 def sstate_package(ss, d):
     import oe.path
Signature · 1 line
1.7.8.4
#5 lore raw

Re: [PATCH 11/11] sstate.bbclass: improve performance of sstate package creation

Quoted 48 lines · Martin Jansa

* also fixes replacing paths for perl where cmd line was probably too long for os.system(cmd) (it had 560410 characters because a lot of files from sstate_scan_cmd).
* also print those 2 commands so we can find them in log.do_package

---
 meta/classes/sstate.bbclass |   39 ++++++++++++++++-----------------------
 1 files changed, 16 insertions(+), 23 deletions(-)
meta/classes/sstate.bbclass +2 -19
index ee9bf05..6883843 100644
@@ -304,38 +304,31 @@ python sstate_cleanall() {
 def sstate_hardcode_path(d):
 	# Need to remove hardcoded paths and fix these when we install the
 	# staging packages.
-	sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
-	p = os.popen("%s" % sstate_scan_cmd)
-	file_list = p.read()
-
-	if file_list == "":
-		p.close()
-		return
 
 	staging = d.getVar('STAGING_DIR', True)
 	staging_target = d.getVar('STAGING_DIR_TARGET', True)
 	staging_host = d.getVar('STAGING_DIR_HOST', True)
 	sstate_builddir = d.getVar('SSTATE_BUILDDIR', True)
 
-	files = " ".join(file_list.split('\n'))
-
 	if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d):
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging, files)
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIR:g'" % (staging)
 	elif bb.data.inherits_class('cross', d):
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIRTARGET:g %s \
-			sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging_target, files, staging, files)
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g; s:%s:FIXMESTAGINGDIR:g'" % (staging_target, staging)
 	else:
-		cmd = "sed -i -e s:%s:FIXMESTAGINGDIRHOST:g %s" % (staging_host, files)
-
-	if files:
-		os.system(cmd)
-		fix = open("%sfixmepath" % (sstate_builddir), "w")
-		fixme = []
-		for f in file_list.split('\n'):

meta/classes/sstate.bbclass python sstate_cleanall() { · line 323

Quoted 10 lines
meta/classes/sstate.bbclass +6 -4
-			fixme.append(f.replace(sstate_builddir, ""))
-		fix.write("\n".join(fixme))
-		fix.close()
-	p.close()
+		sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host)
+	
+	sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
+	sstate_filelist_cmd = "tee %sfixmepath" % (sstate_builddir)
+
+	# fixmepath file needs relative paths, drop sstate_builddir prefix

Ah.. forgot to squash small fix before sending, but it's correct in jansa/pull branch:

- sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g %sfixmepath'" % (sstate_builddir, sstate_builddir)
+ sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %sfixmepath'" % (sstate_builddir, sstate_builddir)

Cheers,

Quoted 13 lines
meta/classes/sstate.bbclass +7 -0
+
+	sstate_hardcode_cmd = "%s | %s | xargs %s" % (sstate_scan_cmd, sstate_filelist_cmd, sstate_sed_cmd)
+
+	print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd)
+	os.system(sstate_hardcode_cmd)
+	print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd)
+	os.system(sstate_filelist_relative_cmd)
 
 def sstate_package(ss, d):
     import oe.path
Signature · 1 line
1.7.8.4
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]