[CONSOLIDATED PULL 00/14]
Richard,
This Set includes changes multilib and ppc64, you may want to review the ppc64 changes.
Thanks
Sau!
The following changes since commit 8a731122e7811275f20065ba27645b97fadf362d:
eglibc: Fix patch merge breakage (2011-08-04 15:41:08 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage
Beth Flanagan (1):
buildstats.bbclass: Adding disk io measurement
Khem Raj (3):
autoconf: Remove patch=1 from SRC_URI
autoconf: Remove code checking for hardcoded /usr/local
coreutils: Fix build on uclibc
Kumar Gala (7):
libmusicbrainz: utilize base_libdir when configured
libproxy: utilize libdir when configured
prelink: Add lib64 dirs to prelink.conf tune/arch-powerpc64: include arch-powerpc.inc to keep things in sync gcc-4.6: Add support for the e5500 PowerPC core image-mklibs.bbclass: Add powerpc64 arch support image-mklibs.bbclass: Utilize ${base_libdir} instead of static /lib
Mark Hatle (1):
libzypp: Increase the size of the arch compat table
Saul Wold (2):
dpkg: Update to use perlnative linux-yocto_3.0: Fix SRC_URI to use yoctoproject.org
meta/classes/buildstats.bbclass | 220 ++++++----
meta/classes/image-mklibs.bbclass | 11 +-
.../machine/include/powerpc/arch-powerpc64.inc | 4 +
.../remove-usr-local-lib-from-m4.patch | 31 ++
meta/recipes-core/coreutils/coreutils_8.12.bb | 6 +-
meta/recipes-devtools/autoconf/autoconf.inc | 4 +-
.../autoconf/remove-usr-local-lib-from-m4.patch | 29 ++
meta/recipes-devtools/autoconf/autoconf_2.68.bb | 22 +-
meta/recipes-devtools/dpkg/dpkg.inc | 4 +-
meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb | 2 +-
meta/recipes-devtools/gcc/gcc-4.6.inc | 3 +-
.../gcc/gcc-4.6/powerpc-e5500.patch | 465 ++++++++++++++++++++
meta/recipes-devtools/prelink/prelink/prelink.conf | 8 +-
meta/recipes-devtools/prelink/prelink_git.bb | 2 +-
.../arm-workaround-global-constructor.patch | 23 +-
.../libzypp/libzypp/libzypp-compatargs.patch | 54 +++
...libzypp-pokyarch.patch => libzypp-oearch.patch} | 24 +-
meta/recipes-extended/libzypp/libzypp_git.bb | 69 ++--
meta/recipes-kernel/linux/linux-yocto_3.0.bb | 2 +-
.../allow-libdir-override.patch | 19 +
.../musicbrainz/libmusicbrainz_3.0.3.bb | 7 +-
meta/recipes-support/libproxy/libproxy_0.4.6.bb | 4 +-
22 files changed, 847 insertions(+), 166 deletions(-)
create mode 100644 meta/recipes-core/coreutils/coreutils-8.12/remove-usr-local-lib-from-m4.patch
create mode 100644 meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/powerpc-e5500.patch
create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch
rename meta/recipes-extended/libzypp/libzypp/{libzypp-pokyarch.patch => libzypp-oearch.patch} (98%)
create mode 100644 meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/allow-libdir-override.patchSignature · 1 line
1.7.3.4
[CONSOLIDATED PULL 01/14] buildstats.bbclass: Adding disk io measurement
From: Beth Flanagan <[email protected]>
This commit adds disk-io statistics functionality on a build and per-task basis.
It pulls measurements for whatever partition TMPDIR exists on. This data could be off if SSTATE_DIR and DL_DIR exist on a different partition/volume.
Notes on what this pulls:
ReadsComp: Total number of reads complete
ReadsMerged: Total number of adjacent reads merged
SectRead: Total number of sectors read
TimeReads: Total number of m/s spent reading
WritesComp: Total number of writes completed
SectWrite: Total number of sectors written
TimeWrite: Total number of m/s spent writing
IOinProgress: Total amount of IO in progress at the time of
we look at /proc/diskstats.
TimeIO: Total number of m/s spent doing IO
WTimeIO: Weighted time doing I/O. From iostats.txt:
"This field is incremented at each I/O start, I/O completion, I/O
merge, or read of these stats by the number of I/Os in progress (field 9) times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating."
--- meta/classes/buildstats.bbclass | 220 +++++++++++++++++++++++++-------------- 1 files changed, 142 insertions(+), 78 deletions(-)
meta/classes/buildstats.bbclass +142 -78
@@ -1,5 +1,6 @@ BUILDSTATS_BASE = ${TMPDIR}/buildstats/ BNFILE = ${BUILDSTATS_BASE}/.buildname +DEVFILE = ${BUILDSTATS_BASE}/.device ################################################################################ # Build statistics gathering.
@@ -19,9 +20,79 @@ def get_cputime(): fields = open("/proc/stat", "r").readline().rstrip().split()[1:] return sum(int(field) for field in fields) +def set_bn(e): + bn = e.getPkgs()[0] + "-" + bb.data.getVar('MACHINE',e.data, True) + try: + os.remove(bb.data.getVar('BNFILE', e.data, True)) + except: + pass + file = open(bb.data.getVar('BNFILE', e.data, True), "w") + file.write(os.path.join(bn, bb.data.getVar('BUILDNAME', e.data, True))) + file.close() + +def get_bn(e): + file = open(bb.data.getVar('BNFILE', e.data, True)) + bn = file.readline() + file.close() + return bn + +def set_device(e): + tmpdir = bb.data.getVar('TMPDIR', e.data, True) + try: + os.remove(bb.data.getVar('DEVFILE', e.data, True)) + except: + pass + ############################################################################ + # We look for the volume TMPDIR lives on. To do all disks would make little + # sense and not give us any particularly useful data. In theory we could do + # something like stick DL_DIR on a different partition and this would + # throw stats gathering off. The same goes with SSTATE_DIR. However, let's + # get the basics in here and work on the cornercases later. + ############################################################################ + device=os.stat(tmpdir) + majordev=os.major(device.st_dev) + minordev=os.minor(device.st_dev) + for line in open("/proc/diskstats", "r"): + if majordev == int(line.split()[0]) and minordev == int(line.split()[1]): + rdev=line.split()[2] + file = open(bb.data.getVar('DEVFILE', e.data, True), "w") + file.write(rdev) + file.close() + +def get_device(e): + file = open(bb.data.getVar('DEVFILE', e.data, True)) + device = file.readline() + file.close() + return device + +def get_diskstats(dev): + import itertools + ############################################################################ + # For info on what these are, see kernel doc file iostats.txt + ############################################################################ + DSTAT_KEYS = ['ReadsComp', 'ReadsMerged', 'SectRead', 'TimeReads', 'WritesComp', 'SectWrite', 'TimeWrite', 'IOinProgress', 'TimeIO', 'WTimeIO'] + for x in open("/proc/diskstats", "r"): + if dev in x: + diskstats_val = x.rstrip().split()[4:] + diskstats = dict(itertools.izip(DSTAT_KEYS, diskstats_val)) + return diskstats + +def set_diskdata(var, dev, data): + data.setVar(var, get_diskstats(dev)) + +def get_diskdata(var, dev, data): + olddiskdata = data.getVar(var, False) + diskdata = {} + if olddiskdata is None: + return + newdiskdata = get_diskstats(dev) + for key in olddiskdata.iterkeys(): + diskdata["Start"+key] = str(int(olddiskdata[key])) + diskdata["End"+key] = str(int(newdiskdata[key])) + return diskdata + def set_timedata(var, data): import time - time = time.time() cputime = get_cputime() proctime = get_process_cputime(os.getpid())
@@ -42,26 +113,35 @@ def get_timedata(var, data): cpuperc = None return timediff, cpuperc -############################################## -# We need to set the buildname to a file since -# BUILDNAME changes throughout a build -############################################## - -def set_bn(e): - bn = e.getPkgs()[0] + "-" + bb.data.getVar('MACHINE',e.data, True) - try: - os.remove(bb.data.getVar('BNFILE',e.data, True)) - except: - pass - file = open(bb.data.getVar('BNFILE',e.data, True), "w") - file.write(os.path.join(bn, bb.data.getVar('BUILDNAME', e.data, True))) - file.close() - -def get_bn(e): - file = open(bb.data.getVar('BNFILE',e.data, True)) - bn = file.readline() +def write_task_data(status, logfile, dev, e): + bn = get_bn(e) + bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) + taskdir = os.path.join(bsdir, bb.data.expand("${PF}", e.data)) + file = open(os.path.join(logfile), "a") + timedata = get_timedata("__timedata_task", e.data) + if timedata: + elapsedtime, cpu = timedata + file.write(bb.data.expand("${PF}: %s: Elapsed time: %0.2f seconds \n" % + (e.task, elapsedtime), e.data)) + if cpu: + file.write("CPU usage: %0.1f%% \n" % cpu) + ############################################################################ + # Here we gather up disk data. In an effort to avoid lying with stats + # I do a bare minimum of analysis of collected data. + # The simple fact is, doing disk io collection on a per process basis + # without effecting build time would be difficult. + # For the best information, running things with BB_TOTAL_THREADS = "1" + # would return accurate per task results. + ############################################################################ + diskdata = get_diskdata("__diskdata_task", dev, e.data) + if diskdata: + for key in sorted(diskdata.iterkeys()): + file.write(key + ": " + diskdata[key] + "\n") + if status is "passed": + file.write("Status: PASSED") + else: + file.write("Status: FAILED") file.close() - return bn python run_buildstats () { import bb.build
@@ -69,22 +149,27 @@ python run_buildstats () { import bb.data import time, subprocess, platform + if isinstance(e, bb.event.BuildStarted): - ############################################## + ######################################################################## # at first pass make the buildstats heriarchy and then # set the buildname - ############################################## + ######################################################################## try: bb.mkdirhier(bb.data.getVar('BUILDSTATS_BASE', e.data, True)) except: pass set_bn(e) bn = get_bn(e) + set_device(e) + device = get_device(e) + bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) try: bb.mkdirhier(bsdir) except: pass + set_diskdata("__diskdata_build", device, e.data) set_timedata("__timedata_build", e.data) build_time = os.path.join(bsdir, "build_stats") # write start of build into build_time
@@ -99,27 +184,36 @@ python run_buildstats () { file.close() elif isinstance(e, bb.event.BuildCompleted): - bn=get_bn(e) - timedata = get_timedata("__timedata_build", e.data) - if not timedata: - return - time, cpu = timedata + bn = get_bn(e) + dev = get_device(e) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) + taskdir = os.path.join(bsdir, bb.data.expand("${PF}", e.data)) build_time = os.path.join(bsdir, "build_stats") - # write end of build and cpu used into build_time file = open(build_time, "a") - file.write("Elapsed time: %0.2f seconds \n" % (time)) - if cpu: - file.write("CPU usage: %0.1f%% \n" % cpu) + ######################################################################## + # Write build statistics for the build + ######################################################################## + timedata = get_timedata("__timedata_build", e.data) + if timedata: + time, cpu = timedata + # write end of build and cpu used into build_time + file = open(build_time, "a") + file.write("Elapsed time: %0.2f seconds \n" % (time)) + if cpu: + file.write("CPU usage: %0.1f%% \n" % cpu) + diskio = get_diskdata("__diskdata_build", dev, e.data) + if diskio: + for key in sorted(diskio.iterkeys()): + file.write(key + ": " + diskio[key] + "\n") file.close() - if isinstance(e, bb.build.TaskStarted): - bn=get_bn(e) - set_timedata("__timedata_task", e.data) - + bn = get_bn(e) + device = get_device(e) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("${PF}", e.data)) + set_diskdata("__diskdata_task", device, e.data) + set_timedata("__timedata_task", e.data) try: bb.mkdirhier(taskdir) except:
@@ -131,29 +225,13 @@ python run_buildstats () { file.close() elif isinstance(e, bb.build.TaskSucceeded): - bn=get_bn(e) - timedata = get_timedata("__timedata_task", e.data) - if not timedata: - return - elapsedtime, cpu = timedata + bn = get_bn(e) + device = get_device(e) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("${PF}", e.data)) - file = open(os.path.join(taskdir, e.task), "a") - file.write(bb.data.expand("${PF}: %s: Elapsed time: %0.2f seconds \n" % - (e.task, elapsedtime), e.data)) - file.write("Ended: %0.2f \n" % time.time()) - if cpu: - file.write("CPU usage: %0.1f%% \n" % cpu) - - file.write("Status: PASSED") - file.close() - - ############################################## - # Alot of metric gathering occurs here. - # Reminder: I stripped out some in process stuff here - ############################################## - + write_task_data("passed", os.path.join(taskdir, e.task), device, e) if e.task == "do_rootfs": + bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) bs=os.path.join(bsdir, "build_stats") file = open(bs,"a") rootfs = bb.data.getVar('IMAGE_ROOTFS', e.data, True)
@@ -162,35 +240,21 @@ python run_buildstats () { file.close() elif isinstance(e, bb.build.TaskFailed): - bn=get_bn(e) - timedata = get_timedata("__timedata_task", e.data) - if not timedata: - return - time, cpu = timedata + bn = get_bn(e) + device = get_device(e) bsdir = os.path.join(bb.data.getVar('BUILDSTATS_BASE', e.data, True), bn) taskdir = os.path.join(bsdir, bb.data.expand("${PF}", e.data)) - ############################################## - # If the task fails dump the regular data. - # fgrep -R "FAILED" <bsdir> - # will grep all the events that failed. - ############################################## - file = open(os.path.join(taskdir, e.task), "a") - file.write(bb.data.expand("${PF}: %s: Elapsed time: %0.2f seconds \n" % - (e.task, time), e.data)) - if cpu: - file.write("CPU usage: %0.1f%% \n" % cpu) - file.write("Status: FAILED") - file.close() - ############################################## - # Lets make things easier and tell people where the build failed in build_status - # We do this here because BuildCompleted triggers no matter what the status of the - # build actually is - ############################################## + write_task_data("failed", os.path.join(taskdir, e.task), device, e) + ######################################################################## + # Lets make things easier and tell people where the build failed in + # build_status. We do this here because BuildCompleted triggers no + # matter what the status of the build actually is + ######################################################################## build_status = os.path.join(bsdir, "build_stats") file = open(build_status,"a") file.write(bb.data.expand("Failed at: ${PF} at task: %s \n" % e.task, e.data)) file.close() - + } addhandler run_buildstats
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 02/14] autoconf: Remove patch=1 from SRC_URI
In reply to Saul WoldFrom: Khem Raj <[email protected]>
Edit summary field s/produced/produce/
Fix the license related warning
WARNING: autoconf-native: No generic license file exists for:
GPLv2|GPLv3 at /b/openembedded-core/meta/files/common-licenses
WARNING: autoconf-native: There is also no SPDXLICENSEMAP for this license type: GPLv2|GPLv3 at /b/openembedded-core/meta/files/common-licenses
--- meta/recipes-devtools/autoconf/autoconf.inc | 4 ++-- meta/recipes-devtools/autoconf/autoconf_2.68.bb | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-)
meta/recipes-devtools/autoconf/autoconf.inc +2 -2
@@ -1,4 +1,4 @@ -SUMMARY = "A GNU tool that procuded shell scripts to automatically configure software." +SUMMARY = "A GNU tool that procude shell scripts to automatically configure software." DESCRIPTION = "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically \ configure software source code packages. Autoconf creates a configuration script for a package from a template \ file that lists the operating system features that the package can use, in the form of M4 macro calls."
@@ -9,6 +9,6 @@ DEPENDS += "m4-native" RDEPENDS_${PN} = "m4 gnu-config" SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \ - file://program_prefix.patch;patch=1" + file://program_prefix.patch" inherit autotools
meta/recipes-devtools/autoconf/autoconf_2.68.bb +10 -9
@@ -6,16 +6,17 @@ PARALLEL_MAKE = "" DEPENDS += "m4-native" RDEPENDS_${PN} = "m4 gnu-config" -LICENSE = "GPLv2|GPLv3" +LICENSE = "GPLv2 & GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI += "file://autoreconf-include.patch;patch=1 \ - file://autoreconf-exclude.patch;patch=1 \ - file://autoreconf-foreign.patch;patch=1 \ - file://autoreconf-gnuconfigize.patch;patch=1 \ - file://autoheader-nonfatal-warnings.patch;patch=1 \ - ${@['file://path_prog_fixes.patch;patch=1', ''][bb.data.inherits_class('native', d)]} \ - file://config_site.patch;patch=1" +SRC_URI += "file://autoreconf-include.patch \ + file://autoreconf-exclude.patch \ + file://autoreconf-foreign.patch \ + file://autoreconf-gnuconfigize.patch \ + file://autoheader-nonfatal-warnings.patch \ + ${@['file://path_prog_fixes.patch', ''][bb.data.inherits_class('native', d)]} \ + file://config_site.patch \ + " SRC_URI[md5sum] = "864d785215aa60d627c91fcb21b05b07" SRC_URI[sha256sum] = "c491fb273fd6d4ca925e26ceed3d177920233c76d542b150ff35e571454332c8"
@@ -23,6 +24,6 @@ SRC_URI[sha256sum] = "c491fb273fd6d4ca925e26ceed3d177920233c76d542b150ff35e57145 DEPENDS_virtclass-native = "m4-native gnu-config-native" RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native" -SRC_URI_append_virtclass-native = " file://fix_path_xtra.patch;patch=1" +SRC_URI_append_virtclass-native = " file://fix_path_xtra.patch" BBCLASSEXTEND = "native"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 05/14] libmusicbrainz: utilize base_libdir when configured
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
Pass $libdir through when we configure to support a location other than /lib. We also have to tweak the cmake files to allow $libdir to even be set.
--- .../allow-libdir-override.patch | 19 +++++++++++++++++++ .../musicbrainz/libmusicbrainz_3.0.3.bb | 7 +++++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/allow-libdir-override.patch
meta/recipes-multimedia/musicbrainz/libmusicbrainz-3.0.3/allow-libdir-override.patch new file +19 -0
@@ -0,0 +1,19 @@ +Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont +easily have a way of determining something that patches ${LIB_SUFFIX} so we'll +set LIB_INSTALL_DIR. + +Signed-off-by: Kumar Gala <[email protected]> + +Index: libmusicbrainz-3.0.3/CMakeLists.txt +=================================================================== +--- libmusicbrainz-3.0.3.orig/CMakeLists.txt ++++ libmusicbrainz-3.0.3/CMakeLists.txt +@@ -26,7 +26,7 @@ FIND_PACKAGE(DiscId) + SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") + SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE) + SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE) +-SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE) ++SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries") + SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE) + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz3.pc)
meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb +5 -2
@@ -6,12 +6,15 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \ file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=9ab2846573f560cea7561da472803a72" DEPENDS = "expat neon" -PR = "r2" +PR = "r3" SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${BPN}-${PV}.tar.gz \ - file://fix_build_issue_for_gcc_4.5.0.patch " + file://fix_build_issue_for_gcc_4.5.0.patch \ + file://allow-libdir-override.patch " SRC_URI[md5sum] = "f4824d0a75bdeeef1e45cc88de7bb58a" SRC_URI[sha256sum] = "7fd459a9fd05be9faec60a9a21caa9a1e9fda03147d58d8c7c95f33582a738c5" inherit cmake pkgconfig + +EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir}"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 03/14] autoconf: Remove code checking for hardcoded /usr/local
In reply to Saul WoldFrom: Khem Raj <[email protected]>
This code is only relevant for AIX and causes problems with OE QA sniffer which detects -L/usr/local/lib on linker commandline during cross compile and rightly barfs
This only happens when getloadavg() is not found in libc so we do not reach that code with eglibc but only with uclibc
--- .../autoconf/remove-usr-local-lib-from-m4.patch | 29 ++++++++++++++++++++ meta/recipes-devtools/autoconf/autoconf_2.68.bb | 3 +- 2 files changed, 31 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch
meta/recipes-devtools/autoconf/autoconf/remove-usr-local-lib-from-m4.patch new file +29 -0
@@ -0,0 +1,29 @@ +We have problem using hardcoded directories like /usr/local here +which will be checked for cross builds. This is a special case which +is valid for AIX only. We do not have AIX as one of our supported +build host or target. Therefore we get rid of the hardcoded paths +and make life easier for cross compilation process. + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Inappropriate [Upstream does care for AIX while we may not] +Index: autoconf-2.68/lib/autoconf/functions.m4 +=================================================================== +--- autoconf-2.68.orig/lib/autoconf/functions.m4 2010-09-22 14:52:19.000000000 -0700 ++++ autoconf-2.68/lib/autoconf/functions.m4 2011-08-03 11:57:05.822199513 -0700 +@@ -749,15 +749,6 @@ if test $ac_have_func = no; then + [LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes]) + fi + +-if test $ac_have_func = no; then +- # There is a commonly available library for RS/6000 AIX. +- # Since it is not a standard part of AIX, it might be installed locally. +- ac_getloadavg_LIBS=$LIBS +- LIBS="-L/usr/local/lib $LIBS" +- AC_CHECK_LIB(getloadavg, getloadavg, +- [LIBS="-lgetloadavg $LIBS"], [LIBS=$ac_getloadavg_LIBS]) +-fi +- + # Make sure it is really in the library, if we think we found it, + # otherwise set up the replacement function. + AC_CHECK_FUNCS(getloadavg, [],
meta/recipes-devtools/autoconf/autoconf_2.68.bb +2 -1
@@ -1,6 +1,6 @@ require autoconf.inc -PR = "r1" +PR = "r2" PARALLEL_MAKE = ""
@@ -16,6 +16,7 @@ SRC_URI += "file://autoreconf-include.patch \ file://autoheader-nonfatal-warnings.patch \ ${@['file://path_prog_fixes.patch', ''][bb.data.inherits_class('native', d)]} \ file://config_site.patch \ + file://remove-usr-local-lib-from-m4.patch \ " SRC_URI[md5sum] = "864d785215aa60d627c91fcb21b05b07"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 04/14] coreutils: Fix build on uclibc
In reply to Saul WoldFrom: Khem Raj <[email protected]>
coreutils has getloadavg.m4 of its own. So we need to make sure that we remove the portions which look into hardcoded /usr/local/lib paths. These tests are only for AIX so we dont lose much
--- .../remove-usr-local-lib-from-m4.patch | 31 ++++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.12.bb | 6 ++- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-core/coreutils/coreutils-8.12/remove-usr-local-lib-from-m4.patch
meta/recipes-core/coreutils/coreutils-8.12/remove-usr-local-lib-from-m4.patch new file +31 -0
@@ -0,0 +1,31 @@ +We have problem using hardcoded directories like /usr/local here +which will be checked for cross builds. This is a special case which +is valid for AIX only. We do not have AIX as one of our supported +build host or target. Therefore we get rid of the hardcoded paths +and make life easier for cross compilation process. + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Inappropriate [Upstream does care for AIX while we may not] + +Index: coreutils-8.12/m4/getloadavg.m4 +=================================================================== +--- coreutils-8.12.orig/m4/getloadavg.m4 2011-08-03 14:03:59.982197767 -0700 ++++ coreutils-8.12/m4/getloadavg.m4 2011-08-03 14:04:20.402197763 -0700 +@@ -44,16 +44,6 @@ AC_CHECK_FUNC([getloadavg], [], + [LIBS="-lutil $LIBS" gl_have_func=yes]) + fi + +- if test $gl_have_func = no; then +- # There is a commonly available library for RS/6000 AIX. +- # Since it is not a standard part of AIX, it might be installed locally. +- gl_getloadavg_LIBS=$LIBS +- LIBS="-L/usr/local/lib $LIBS" +- AC_CHECK_LIB([getloadavg], [getloadavg], +- [LIBS="-lgetloadavg $LIBS" gl_have_func=yes], +- [LIBS=$gl_getloadavg_LIBS]) +- fi +- + # Set up the replacement function if necessary. + if test $gl_have_func = no; then + AC_LIBOBJ([getloadavg])
meta/recipes-core/coreutils/coreutils_8.12.bb +4 -2
@@ -7,13 +7,15 @@ BUGTRACKER = "http://debbugs.gnu.org/coreutils" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad" -PR = "r2" +PR = "r3" DEPENDS = "gmp" DEPENDS_virtclass-native = "" inherit autotools gettext -SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.gz" +SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.gz \ + file://remove-usr-local-lib-from-m4.patch \ + " SRC_URI[md5sum] = "fce7999953a67243d00d75cc86dbcaa6" SRC_URI[sha256sum] = "9e233a62c98a3378a7b0483d2ae3d662dbaf6cd3917d3830d3514665e12a85c8"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 06/14] libproxy: utilize libdir when configured
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
Pass $libdir through when we configure to support a location other than /lib.
--- meta/recipes-support/libproxy/libproxy_0.4.6.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-support/libproxy/libproxy_0.4.6.bb +2 -2
@@ -14,12 +14,12 @@ SRC_URI = "http://libproxy.googlecode.com/files/libproxy-${PV}.tar.gz" SRC_URI[md5sum] = "199c6b120baf1f7258a55f38d5ec74f5" SRC_URI[sha256sum] = "9ad912e63b1efca98fb442240a2bc7302e6021c1d0b1b9363327729f29462f30" -PR = "r1" +PR = "r2" inherit cmake pkgconfig EXTRA_OECMAKE = "-DWITH_WEBKIT=no -DWITH_GNOME=yes -DWITH_KDE4=no \ - -DWITH_PYTHON=no -DWITH_PERL=no -DWITH_MOZJS=no -DWITH_NM=no" + -DWITH_PYTHON=no -DWITH_PERL=no -DWITH_MOZJS=no -DWITH_NM=no -DLIB_INSTALL_DIR=${libdir}" FILES_${PN}-dbg += "${libdir}/libproxy/${PV}/plugins/.debug/ ${libdir}/libproxy/${PV}/modules/.debug/"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 08/14] tune/arch-powerpc64: include arch-powerpc.inc to keep things in sync
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
Added a DEFAULTTUNE setting and included arch-powerpc.inc. This way we pick up the changes to TUNE_PKGARCH and things should be kept more in sync going forward.
--- .../machine/include/powerpc/arch-powerpc64.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
meta/conf/machine/include/powerpc/arch-powerpc64.inc +4 -0
@@ -1,3 +1,7 @@ +DEFAULTTUNE ?= "powerpc64" + +require conf/machine/include/powerpc/arch-powerpc.inc + TUNEVALID[m64] = "Power ELF64 standard ABI" TUNE_CONFLICTS[m64] = "m32 nf" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 07/14] prelink: Add lib64 dirs to prelink.conf
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
Handle multlib or cases that baselib is lib64.
--- meta/recipes-devtools/prelink/prelink/prelink.conf | 8 ++++---- meta/recipes-devtools/prelink/prelink_git.bb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-)
meta/recipes-devtools/prelink/prelink/prelink.conf +4 -4
@@ -12,7 +12,7 @@ -l /usr/bin -l /usr/X11R6/bin -l /usr/games --l /usr/local/lib --l /lib --l /usr/lib --l /usr/X11R6/lib +-l /usr/local/lib{,64} +-l /lib{,64} +-l /usr/lib{,64} +-l /usr/X11R6/lib{,64}
meta/recipes-devtools/prelink/prelink_git.bb +1 -1
@@ -10,7 +10,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" SRCREV = "ac461e73b17253a4da25c5aafeac7193b553156c" PV = "1.0+git${SRCPV}" -PR = "r4" +PR = "r5" # # The cron script attempts to re-prelink the system daily -- on
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 10/14] image-mklibs.bbclass: Add powerpc64 arch support
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
powerp64 dynamic loader is 'ld64.so.1'.
--- meta/classes/image-mklibs.bbclass | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
meta/classes/image-mklibs.bbclass +3 -0
@@ -19,6 +19,9 @@ mklibs_optimize_image_doit() { powerpc | mips | microblaze ) dynamic_loader="/lib/ld.so.1" ;; + powerpc64) + dynamic_loader="${base_libdir}/ld64.so.1" + ;; x86_64) dynamic_loader="/lib/ld-linux-x86-64.so.2" ;;
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 09/14] gcc-4.6: Add support for the e5500 PowerPC core
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
Implements basic e5500 enablement in gcc, with a scheduler, -mcpu flag, etc...
--- meta/recipes-devtools/gcc/gcc-4.6.inc | 3 +- .../gcc/gcc-4.6/powerpc-e5500.patch | 465 ++++++++++++++++++++ 2 files changed, 467 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/powerpc-e5500.patch
meta/recipes-devtools/gcc/gcc-4.6.inc +2 -1
@@ -1,6 +1,6 @@ require gcc-common.inc -PR = "r3" +PR = "r4" # Third digit in PV should be incremented after a minor release # happens from this branch on gcc e.g. currently its 4.6.0
@@ -67,6 +67,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ file://COLLECT_GCC_OPTIONS.patch \ file://volatile_access_backport.patch \ file://use-defaults.h-and-t-oe-in-B.patch \ + file://powerpc-e5500.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
meta/recipes-devtools/gcc/gcc-4.6/powerpc-e5500.patch new file +465 -0
465 lines not on this page · raw message
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 13/14] linux-yocto_3.0: Fix SRC_URI to use yoctoproject.org
In reply to Saul Wold--- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/linux/linux-yocto_3.0.bb +1 -1
@@ -26,7 +26,7 @@ PR = "r0" PV = "${LINUX_VERSION}+git${SRCPV}" SRCREV_FORMAT = "meta_machine" -SRC_URI = "git://git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" +SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 11/14] image-mklibs.bbclass: Utilize ${base_libdir} instead of static /lib
In reply to Saul WoldFrom: Kumar Gala <[email protected]>
We might redefine ${base_libdir} from being set to just /lib.
--- meta/classes/image-mklibs.bbclass | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
meta/classes/image-mklibs.bbclass +4 -4
@@ -17,19 +17,19 @@ mklibs_optimize_image_doit() { case ${TARGET_ARCH} in powerpc | mips | microblaze ) - dynamic_loader="/lib/ld.so.1" + dynamic_loader="${base_libdir}/ld.so.1" ;; powerpc64) dynamic_loader="${base_libdir}/ld64.so.1" ;; x86_64) - dynamic_loader="/lib/ld-linux-x86-64.so.2" + dynamic_loader="${base_libdir}/ld-linux-x86-64.so.2" ;; i586 ) - dynamic_loader="/lib/ld-linux.so.2" + dynamic_loader="${base_libdir}/ld-linux.so.2" ;; arm ) - dynamic_loader="/lib/ld-linux.so.3" + dynamic_loader="${base_libdir}/ld-linux.so.3" ;; * ) dynamic_loader="/unknown_dynamic_linker"
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 12/14] dpkg: Update to use perlnative
In reply to Saul Wold[YOCTO #1298]
--- meta/recipes-devtools/dpkg/dpkg.inc | 4 +++- meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-devtools/dpkg/dpkg.inc +3 -1
@@ -2,6 +2,8 @@ DESCRIPTION = "Package maintenance system for Debian." LICENSE = "GPL" SECTION = "base" +INC_PR = "r4" + SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \ file://ignore_extra_fields.patch;patch=1"
@@ -14,7 +16,7 @@ S = "${WORKDIR}/${BPN}-${PV}" PARALLEL_MAKE = "" -inherit autotools gettext +inherit autotools gettext perlnative DPKG_INIT_POSITION = "98"
meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb +1 -1
@@ -8,7 +8,7 @@ SRC_URI += "file://noman.patch;patch=1 \ SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" -PR = "r3" +PR = "${INC_PR}.0" EXTRA_OECONF = "--without-static-progs \ --without-dselect \
Signature · 1 line
1.7.3.4
[CONSOLIDATED PULL 14/14] libzypp: Increase the size of the arch compat table
In reply to Saul WoldFrom: Mark Hatle <[email protected]>
Fix [YOCTO #1313]
Increase the size of the arch compat table to 30 entries.
Also cleanup a few things related to Poky -> OE name changing.
Fixed up arm patch
---
.../arm-workaround-global-constructor.patch | 23 ++++---
.../libzypp/libzypp/libzypp-compatargs.patch | 54 +++++++++++++++
...libzypp-pokyarch.patch => libzypp-oearch.patch} | 24 ++++----
meta/recipes-extended/libzypp/libzypp_git.bb | 69 ++++++++++----------
4 files changed, 113 insertions(+), 57 deletions(-)
create mode 100644 meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch
rename meta/recipes-extended/libzypp/libzypp/{libzypp-pokyarch.patch => libzypp-oearch.patch} (98%)meta/recipes-extended/libzypp/libzypp/arm-workaround-global-constructor.patch +12 -11
@@ -8,14 +8,15 @@ before the usage of _foo during the initialization of the compatibility table. The patch, along with a similar change to the recipe generation of the -poky-arch.h file, remove the DEF_BUILTIN globals and replace them with +oe-arch.h file, remove the DEF_BUILTIN globals and replace them with immediate strings wherever they are used. Signed-off-by: Mark Hatle <[email protected]> -diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc ---- git.orig/zypp/Arch.cc 2011-03-29 14:15:32.695079271 -0500 -+++ git/zypp/Arch.cc 2011-03-29 14:17:22.680910025 -0500 +Index: git/zypp/Arch.cc +=================================================================== +--- git.orig/zypp/Arch.cc 2011-08-04 21:03:31.000000000 -0700 ++++ git/zypp/Arch.cc 2011-08-04 21:04:16.635480895 -0700 @@ -152,13 +152,10 @@ // NOTE: Thake care CompatBits::IntT is able to provide one // bit for each architecture.
@@ -24,13 +25,13 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc - DEF_BUILTIN( all ); - DEF_BUILTIN( any ); - DEF_BUILTIN( noarch ); - --#include "poky-arch.h" --#undef DEF_BUILTIN +/* Global constructors are not working properly on ARM, avoid the + * known bad case and merge constructors in with the usages + */ +-#include "oe-arch.h" +-#undef DEF_BUILTIN + /////////////////////////////////////////////////////////////////// // @@ -227,9 +224,9 @@
@@ -46,7 +47,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc /////////////////////////////////////////////////////////////////// // Define the CompatibleWith relation: // -@@ -305,9 +302,9 @@ +@@ -331,9 +328,9 @@ /////////////////////////////////////////////////////////////////// const Arch Arch_empty ( IdString::Empty );
@@ -57,9 +58,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc + const Arch Arch_any( IdString ( "any" ) ); + const Arch Arch_noarch( IdString ( "noarch" ) ); - #define POKY_PROTO 1 - #include "poky-arch.h" -@@ -316,7 +316,7 @@ + #define OE_PROTO 1 + #include "oe-arch.h" +@@ -345,7 +342,7 @@ // METHOD TYPE : Ctor // Arch::Arch()
meta/recipes-extended/libzypp/libzypp/libzypp-compatargs.patch new file +54 -0
54 lines not on this page · raw message
meta/recipes-extended/libzypp/libzypp/libzypp-oearch.patch renamed from meta/recipes-extended/libzypp/libzypp/libzypp-pokyarch.patch +12 -12
@@ -3,7 +3,7 @@ Upstream-Status: Inappropriate [distribution] Disable all of the internal architectures We disable all of the internal architectures and replace them with ones -generated by the libzypp recipe as specified in the poky-arch.h. +generated by the libzypp recipe as specified in the oe-arch.h. Signed-off-by: Mark Hatle <[email protected]>
@@ -148,7 +148,7 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc - - DEF_BUILTIN( sh4 ); - DEF_BUILTIN( sh4a ); -+#include "poky-arch.h" ++#include "oe-arch.h" #undef DEF_BUILTIN ///////////////////////////////////////////////////////////////////
@@ -211,9 +211,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc - // - defCompatibleWith( _sh4, _noarch ); - defCompatibleWith( _sh4a, _noarch,_sh4 ); -+#define POKY_DEF_COMPAT 1 -+#include "poky-arch.h" -+#undef POKY_DEF_COMPAT ++#define OE_DEF_COMPAT 1 ++#include "oe-arch.h" ++#undef OE_DEF_COMPAT // /////////////////////////////////////////////////////////////////// // dumpOn( USR ) << endl;
@@ -270,9 +270,9 @@ diff -ur git.orig/zypp/Arch.cc git/zypp/Arch.cc - - const Arch Arch_sh4( _sh4 ); - const Arch Arch_sh4a( _sh4a ); -+#define POKY_PROTO 1 -+#include "poky-arch.h" -+#undef POKY_PROTO ++#define OE_PROTO 1 ++#include "oe-arch.h" ++#undef OE_PROTO /////////////////////////////////////////////////////////////////// //
@@ -398,9 +398,9 @@ diff -ur git.orig/zypp/Arch.h git/zypp/Arch.h - extern const Arch Arch_sh4; - /** \relates Arch */ - extern const Arch Arch_sh4a; -+#define POKY_EXTERN_PROTO 1 -+#include "poky-arch.h" -+#undef POKY_EXTERN_PROTO ++#define OE_EXTERN_PROTO 1 ++#include "oe-arch.h" ++#undef OE_EXTERN_PROTO //@} ///////////////////////////////////////////////////////////////////
@@ -411,7 +411,7 @@ diff -ur git.orig/zypp/CMakeLists.txt git/zypp/CMakeLists.txt SET( zypp_HEADERS Arch.h -+ poky-arch.h ++ oe-arch.h AutoDispose.h Bit.h ByteCount.h
meta/recipes-extended/libzypp/libzypp_git.bb +35 -34
118 lines not on this page · raw message
Signature · 1 line
1.7.3.4
Richard Purdie
AppliedQuoted 33 lines · Saul Wold
Richard,
This Set includes changes multilib and ppc64, you may want to review the ppc64 changes.
Thanks
Sau!The following changes since commit
8a731122e7811275f20065ba27645b97fadf362d:eglibc: Fix patch merge breakage (2011-08-04 15:41:08 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribsgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stageBeth Flanagan (1):
buildstats.bbclass: Adding disk io measurementKhem Raj (3):
autoconf: Remove patch=1 fromSRC_URI
autoconf: Remove code checking for hardcoded/usr/local
coreutils: Fix build on uclibcKumar Gala (7):
libmusicbrainz: utilizebase_libdirwhen configured
libproxy: utilize libdir when configured
prelink: Add lib64 dirs to prelink.conf tune/arch-powerpc64: include arch-powerpc.inc to keep things in sync gcc-4.6: Add support for the e5500 PowerPC core image-mklibs.bbclass: Add powerpc64 arch support image-mklibs.bbclass: Utilize ${base_libdir} instead of static /lib
Quoted 6 lines
Mark Hatle (1):
libzypp: Increase the size of the arch compat tableSaul Wold (2):
dpkg: Update to use perlnative linux-yocto_3.0: FixSRC_URIto use yoctoproject.org
Merged to master since most of these have been floating around for a while and undergone a few rounds of review. The ppc64s look good, thanks Kumar for working through the details!
Cheers,
Richard