SSTATE_SCAN_FILES Fix with non-gplv3 and World fixes
cover SSTATE_SCAN_FILES Fix with non-gplv3 and World fixes
Richard,
This patch contains a couple of fixes for world and non-gplv3 along with the sstate fix for ensure we mangle (or "fixmepath") files that do not fall into the standard set.
SSTATE_SCAN_FILES is defaulted to "*.la and *-configs", recipes can append to it with SSTATE_SCAN_FILES += "<filename>".
The following changes since commit b9dfccc018f32a47fc045f35d5f53d7269d791ed:
gdk-pixbuf: Ensure the binaries can be relocated (2011-12-13 18:00:18 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/fix
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/fix
Saul Wold (7):
qt-mobility: Fix QA error for debug files
ed: Fix EXTRA_OECONF to ensure right compiler is found
sstate: Add SSTATE_SCAN_FILES
icu: Add Makefile.inc to SSTATE_SCAN_FILES
gmp: Add gmp.h to SSTATE_SCAN_FILES
libtool-cross: Add libtool & libtoolize to SSTATE_SCAN_FILES
perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
meta/classes/sstate.bbclass | 11 ++++++++++- .../libtool/libtool-cross_2.4.2.bb | 4 +++- meta/recipes-devtools/perl/perl_5.14.2.bb | 5 ++++- meta/recipes-extended/ed/ed_0.5.bb | 5 ++++- meta/recipes-qt/qt4/qt-mobility_1.2.0.inc | 7 ++++--- meta/recipes-support/gmp/gmp.inc | 2 ++ meta/recipes-support/gmp/gmp_4.2.1.bb | 2 +- meta/recipes-support/gmp/gmp_5.0.2.bb | 2 +- meta/recipes-support/icu/icu-3.6.inc | 2 ++ meta/recipes-support/icu/icu_3.6.bb | 2 +- 10 files changed, 32 insertions(+), 10 deletions(-)
Signature · 1 line
1.7.6.4
PATCH 1/7 qt-mobility: Fix QA error for debug files
--- meta/recipes-qt/qt4/qt-mobility_1.2.0.inc | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
meta/recipes-qt/qt4/qt-mobility_1.2.0.inc +4 -3
@@ -60,7 +60,8 @@ do_install() { PACKAGES = "${PN}-dbg ${PN} ${PN}-dev" -FILES_${PN}-dbg = "${qtm_bin}/.debug ${qtm_examples}/.debug ${qtm_demos}/.debug ${qtm_lib}/.debug ${qtm_plugins}/*/.debug \ - ${qtm_imports}/*/.debug ${qtm_imports}/*/*/.debug /usr/src/debug" +FILES_${PN}-dbg = "${qtm_bin}/.debug ${qtm_examples}/.debug ${qtm_demos}/.debug \ + ${qtm_lib}/.debug ${qtm_plugins}/*/.debug ${qtm_imports}/*/.debug \ + ${qtm_imports}/*/*/.debug ${bindir}/.debug /usr/src/debug" FILES_${PN} = "${qtm_bin} ${qtm_examples} ${qtm_demos} ${qtm_lib}/*.so.1* ${qtm_plugins} ${qtm_imports}" -FILES_${PN}-dev = "/usr" +FILES_${PN}-dev = "${exec_prefix}"
Signature · 1 line
1.7.6.4
PATCH 2/7 ed: Fix EXTRA_OECONF to ensure right compiler is found
In reply to Saul Wold--- meta/recipes-extended/ed/ed_0.5.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-extended/ed/ed_0.5.bb +4 -1
@@ -5,7 +5,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=6ddd5335ef96fb858a138230af773710 \ file://main.c;beginline=1;endline=17;md5=36d4b85e5ae9028e918d1cc775c2475e" -PR = "r1" +PR = "r2" SRC_URI = "http://download.savannah.gnu.org/releases-noredirect/ed/ed-${PV}.tar.bz2" SRC_URI[md5sum] = "4ee21e9dcc9b5b6012c23038734e1632"
@@ -13,6 +13,9 @@ SRC_URI[sha256sum] = "edef2bbde0fbf0d88232782a0eded323f483a0519d6fde9a3b1809056f inherit autotools +EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" + CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--disable-dependency-tracking', ' ')}" CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--disable-silent-rules', ' ')}" +
Signature · 1 line
1.7.6.4
Re: [PATCH 2/7] ed: Fix EXTRA_OECONF to ensure right compiler is found
Review
Quoted 3 lines · Saul Wold
(quoted diff) +2
-0+EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" +
hmm why doesnt it pick it from environment in configure ?
Re: [PATCH 2/7] ed: Fix EXTRA_OECONF to ensure right compiler is found
Quoted 7 lines · Khem Raj
Review
Quoted 3 lines · Saul Wold
(quoted diff) +2
-0+EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" +hmm why doesnt it pick it from environment in configure ?
That's a really good question! But it does not seem to, when I do the build with non-gplv3, it gets CC=/usr/bin/gcc! So clearly it's not getting the environment, otherwise I would not have made this patch.
This is an old-school configure script.
Sau!
Quoted 5 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 2/7] ed: Fix EXTRA_OECONF to ensure right compiler is found
Quoted 9 lines · Saul Wold
Quoted 8 lines · Khem Raj
Quoted 4 lines · Saul Wold
+EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'" +
hmm why doesnt it pick it from environment in configure ?
Quoted 6 lines
That's a really good question! But it does not seem to, when I do the build with non-gplv3, it gets CC=/usr/bin/gcc! So clearly it's not getting the environment, otherwise I would not have made this patch.
This is an old-school configure script.
Just a further explanation of this comment, the configure script in ed is a very old script, not autotools based at all. It hard codes the CC="" in the script so the environment is not picked up correct, but it does read those properly from the command line.
Sau!
Quoted 13 lines
Sau!
Quoted 5 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
PATCH 3/7 sstate: Add SSTATE_SCAN_FILES
In reply to Saul WoldThis allows recipes to specify files that may be outside the normal set for inclusion when there are hardcoded paths that need to be fixmepathed to work correctly.
--- meta/classes/sstate.bbclass | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
meta/classes/sstate.bbclass +10 -1
@@ -10,7 +10,8 @@ SSTATE_PKGSPEC = "sstate-${PN}-${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}-$ SSTATE_PKGNAME = "${SSTATE_PKGSPEC}${BB_TASKHASH}" SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}" -SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( -name "*.la" -o -name "*-config" \) -type f" +SSTATE_SCAN_FILES ?= "*.la *-config" +SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( ${SSTATE_FIND_CMD_FILES} \) -type f" BB_HASHFILENAME = "${SSTATE_PKGNAME}"
@@ -33,6 +34,13 @@ python () { else: d.setVar('SSTATE_MANMACH', bb.data.expand("${MACHINE}", d)) + find_cmd_files = "" + for file in d.getVar('SSTATE_SCAN_FILES', True).split(): + find_file = "-o -name \"" + file + "\"" + find_cmd_files = find_cmd_files + " " + find_file + d.setVar('SSTATE_FIND_CMD_FILES', find_cmd_files.replace("-o ", "", 1)) + bb.note("FIND_CMD_FILES = %s" % find_cmd_files) + # These classes encode staging paths into their scripts data so can only be # reused if we manipulate the paths if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d):
@@ -299,6 +307,7 @@ 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) + bb.note("SCAN_CMD = %s" % sstate_scan_cmd) p = os.popen("%s" % sstate_scan_cmd) file_list = p.read()
Signature · 1 line
1.7.6.4
Re: [PATCH 3/7] sstate: Add SSTATE_SCAN_FILES
Quoted 24 lines · Saul Wold
This allows recipes to specify files that may be outside the normal set for inclusion when there are hardcoded paths that need to be fixmepathed to work correctly.
Signed-off-by Saul Wold<[email protected]>--- meta/classes/sstate.bbclass | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)meta/classes/sstate.bbclass +2
-1@@ -10,7 +10,8 @@ SSTATE_PKGSPEC = "sstate-${PN}-${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}-$ SSTATE_PKGNAME = "${SSTATE_PKGSPEC}${BB_TASKHASH}" SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}" -SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( -name "*.la" -o -name "*-config" \) -type f" +SSTATE_SCAN_FILES ?= "*.la *-config" +SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( ${SSTATE_FIND_CMD_FILES} \) -type f" BB_HASHFILENAME = "${SSTATE_PKGNAME}"
meta/classes/sstate.bbclass python () { · line 43
Quoted 10 lines
meta/classes/sstate.bbclass +7
-0@@ -33,6 +34,13 @@ python () { else: d.setVar('SSTATE_MANMACH', bb.data.expand("${MACHINE}", d)) + find_cmd_files = "" + for file in d.getVar('SSTATE_SCAN_FILES', True).split(): + find_file = "-o -name \"" + file + "\"" + find_cmd_files = find_cmd_files + " " + find_file + d.setVar('SSTATE_FIND_CMD_FILES', find_cmd_files.replace("-o ", "", 1)) + bb.note("FIND_CMD_FILES = %s" % find_cmd_files) +
Just realized I left some debugging stuff here and below, this is fixed in the bracnh
meta/classes/sstate.bbclass def sstate_hardcode_path(d): · line 310
Quoted 8 lines
meta/classes/sstate.bbclass +1
-0# These classes encode staging paths into their scripts data so can only be # reused if we manipulate the paths if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d):@@ -299,6 +307,7 @@ 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) + bb.note("SCAN_CMD = %s" % sstate_scan_cmd)
Bad Sau! left debugging!
Sau!
Quoted 3 lines
meta/classes/sstate.bbclass +0
-0p = os.popen("%s" % sstate_scan_cmd) file_list = p.read()
Re: [PATCH 3/7] sstate: Add SSTATE_SCAN_FILES
In reply to Saul WoldQuoted 27 lines · Saul Wold
This allows recipes to specify files that may be outside the normal set for inclusion when there are hardcoded paths that need to be fixmepathed to work correctly.
Signed-off-by Saul Wold <[email protected]>--- meta/classes/sstate.bbclass | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)meta/classes/sstate.bbclass +2
-1@@ -10,7 +10,8 @@ SSTATE_PKGSPEC = "sstate-${PN}-${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}-$ SSTATE_PKGNAME = "${SSTATE_PKGSPEC}${BB_TASKHASH}" SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}" -SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( -name "*.la" -o -name "*-config" \) -type f" +SSTATE_SCAN_FILES ?= "*.la *-config" +SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( ${SSTATE_FIND_CMD_FILES} \) -type f" BB_HASHFILENAME = "${SSTATE_PKGNAME}"@@ -33,6 +34,13 @@ python () { else: d.setVar('SSTATE_MANMACH', bb.data.expand("${MACHINE}", d))
meta/classes/sstate.bbclass python () { · line 46
Quoted 10 lines
meta/classes/sstate.bbclass +7
-0+ find_cmd_files = "" + for file in d.getVar('SSTATE_SCAN_FILES', True).split(): + find_file = "-o -name \"" + file + "\"" + find_cmd_files = find_cmd_files + " " + find_file + d.setVar('SSTATE_FIND_CMD_FILES', find_cmd_files.replace("-o ", "", 1)) + bb.note("FIND_CMD_FILES = %s" % find_cmd_files) + # These classes encode staging paths into their scripts data so can only be # reused if we manipulate the paths if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d):
We could just do:
SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f'
which would save some of the anonymous python overhead and the temporary variable.
Cheers,
Richard
PATCH 4/7 icu: Add Makefile.inc to SSTATE_SCAN_FILES
In reply to Saul Wold--- meta/recipes-support/icu/icu-3.6.inc | 2 ++ meta/recipes-support/icu/icu_3.6.bb | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-)
meta/recipes-support/icu/icu-3.6.inc +2 -0
@@ -54,3 +54,5 @@ FILES_libicutu = "${libdir}/libicutu.so.*" FILES_libicuio = "${libdir}/libicuio.so.*" BBCLASSEXTEND = "native" + +SSTATE_SCAN_FILES += "Makefile.inc"
meta/recipes-support/icu/icu_3.6.bb +1 -1
@@ -1,6 +1,6 @@ require icu-3.6.inc -PR = "r6" +PR = "r7" SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c" SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
Signature · 1 line
1.7.6.4
PATCH 5/7 gmp: Add gmp.h to SSTATE_SCAN_FILES
In reply to Saul Wold--- meta/recipes-support/gmp/gmp.inc | 2 ++ meta/recipes-support/gmp/gmp_4.2.1.bb | 2 +- meta/recipes-support/gmp/gmp_5.0.2.bb | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-support/gmp/gmp.inc +2 -0
@@ -19,3 +19,5 @@ EXTRA_OECONF += " --enable-cxx=detect" PACKAGES =+ "libgmpxx" FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" + +SSTATE_SCAN_FILES += "gmp.h"
meta/recipes-support/gmp/gmp_4.2.1.bb +1 -1
@@ -6,7 +6,7 @@ LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ file://gmp-h.in;startline=6;endline=21;md5=5e25ffd16996faba8c1cd27b04b16099" -PR = "r0" +PR = "r1" SRC_URI = "${GNU_MIRROR}/gmp/${BP}.tar.bz2 \ file://disable-stdc.patch"
meta/recipes-support/gmp/gmp_5.0.2.bb +1 -1
@@ -2,7 +2,7 @@ require gmp.inc LICENSE="LGPLv3&GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790" -PR = "r3" +PR = "r4" SRC_URI_append += "file://sh4-asmfix.patch \ file://gmp_bugfix.patch \
Signature · 1 line
1.7.6.4
PATCH 6/7 libtool-cross: Add libtool & libtoolize to SSTATE_SCAN_FILES
In reply to Saul Wold--- .../libtool/libtool-cross_2.4.2.bb | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
meta/recipes-devtools/libtool/libtool-cross_2.4.2.bb +3 -1
@@ -1,6 +1,6 @@ require libtool-${PV}.inc -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" PACKAGES = "" SRC_URI += "file://prefix.patch" SRC_URI += "file://fixinstall.patch"
@@ -34,3 +34,5 @@ libtoolcross_sysroot_preprocess () { sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir} } + +SSTATE_SCAN_FILES += "libtoolize *-libtool"
Signature · 1 line
1.7.6.4
PATCH 7/7 perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
In reply to Saul Wold--- meta/recipes-devtools/perl/perl_5.14.2.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-devtools/perl/perl_5.14.2.bb +4 -1
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ # We need gnugrep (for -I) DEPENDS = "virtual/db grep-native" DEPENDS += "gdbm zlib" -PR = "r1" +PR = "r2" # 5.10.1 has Module::Build built-in PROVIDES += "libmodule-build-perl"
@@ -302,3 +302,6 @@ RPROVIDES_perl-lib = "perl-lib" require perl-rdepends_${PV}.inc require perl-rprovides.inc require perl-rprovides_${PV}.inc + +SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh" +
Signature · 1 line
1.7.6.4
Re: [PATCH 7/7] perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
Quoted 4 lines · Saul Wold
Signed-off-by Saul Wold <[email protected]>--- meta/recipes-devtools/perl/perl_5.14.2.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
This commit message is very terse. What is SSTATE_SCAN[E]_FILES and why do we want these things in it?
Quoted 1 line
+SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
p.
Re: [PATCH 7/7] perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
Quoted 8 lines · Phil Blundell
Quoted 4 lines · Saul Wold
Signed-off-by Saul Wold <[email protected]>--- meta/recipes-devtools/perl/perl_5.14.2.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)This commit message is very terse. What is SSTATE_SCAN[E]_FILES and why do we want these things in it?
This is basically some hints to the sstate code about which files need relocation mangling. We process all files for the native/cross cases but in the target case it's only been .la and binconfig files we've processed.
An earlier patch is adding in a mechanism to extend this list and this is adding in some problematic files for the perl case. We've been seeing sstate failures from issues like this.
I agree this probably needs a little more explanation in the commit message.
Cheers,
Richard
Quoted 12 lines · Saul Wold
Richard,
This patch contains a couple of fixes for world and non-gplv3 along with the sstate fix for ensure we mangle (or "fixmepath") files that do not fall into the standard set.
SSTATE_SCAN_FILESis defaulted to "*.la and *-configs", recipes can append to it withSSTATE_SCAN_FILES+= "<filename>".The following changes since commit
b9dfccc018f32a47fc045f35d5f53d7269d791ed:
Quoted 8 lines
gdk-pixbuf: Ensure the binaries can be relocated (2011-12-13 18:00:18 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribsgw/fix
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/fixSaul Wold (7):
qt-mobility: Fix QA error for debug files
Missing PR bump
Quoted 1 line
ed: Fix
EXTRA_OECONFto ensure right compiler is found
This has a question. I think the answer is that it doesn't use real autoconf and had special issues of its own. I haven't checked yet though so I've left this patch as queued.
Quoted 1 line
sstate: Add
SSTATE_SCAN_FILES
I've updated the above patch with some better syntax I came up with.
Quoted 4 lines
icu: Add Makefile.inc to
SSTATE_SCAN_FILES
gmp: Addgmp.htoSSTATE_SCAN_FILES
libtool-cross: Add libtool & libtoolize toSSTATE_SCAN_FILES
perl: add .pl, pm, pod, sh files toSSTATE_SCANE_FILES
These are fine but needed better commit descriptions.
I made the above tweaks and merged these along with some of the other commits batched up in MUT (already been on the list for a while). The MUT build on the autobuilder was not in a good state due to the directfb change. I've therefore selectively pulled in pieces of MUT into master and restarted a test against master.
Cheers,
Richard