Various misc fixes/cleanups
cover Various misc fixes/cleanups
I've placed various misc fixes/cleanups into the git repository at:
git://git.openembedded.org/openembedded-core-contrib rpurdie/master
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/master
Richard Purdie (9):
gnome-desktop: Ensure we're deterministic about startup-notification
dependency
gtk+: Explicitly disable xinerama since we don't have it as a DEPENDS
cairo: Disable bfd symbol loopup since we don't list it in DEPENDS
libsndfile1: Disable external codec librbaries since we don't list in
DEPENDS
neon: Add libproxy to DEPENDS to ensure determinstic builds
libtool: Fix an issue where unnecessary rpaths were being injected autotools.bbclass: Set the dynamic linker search path for libtool
correctly
base.bbclass: Drop legacy code that is no longer useful/used
sstate: No need to spew out a debug message per file, summarise
instead
meta/classes/autotools.bbclass | 2 + meta/classes/base.bbclass | 30 --------- meta/classes/native.bbclass | 3 + meta/classes/sstate.bbclass | 7 +- meta/recipes-devtools/libtool/libtool-cross_2.4.bb | 2 +- .../recipes-devtools/libtool/libtool-native_2.4.bb | 2 +- .../libtool/libtool-nativesdk_2.4.bb | 2 +- meta/recipes-devtools/libtool/libtool.inc | 3 +- meta/recipes-devtools/libtool/libtool/1 | 55 +++++++++++++++++ .../libtool/libtool/fix-rpath.patch | 63 ++++++++++++++++++++ meta/recipes-devtools/libtool/libtool_2.4.bb | 2 +- meta/recipes-gnome/gnome/gnome-desktop.inc | 4 +- meta/recipes-gnome/gtk+/gtk+_2.22.1.bb | 4 +- meta/recipes-graphics/cairo/cairo.inc | 3 + meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +- .../libsndfile/libsndfile1_1.0.24.bb | 4 +- meta/recipes-support/neon/neon_0.29.5.bb | 4 +- 17 files changed, 146 insertions(+), 46 deletions(-) create mode 100644 meta/recipes-devtools/libtool/libtool/1 create mode 100644 meta/recipes-devtools/libtool/libtool/fix-rpath.patch
Signature · 1 line
1.7.5.4
PATCH 1/9 gnome-desktop: Ensure we're deterministic about startup-notification dependency
Without this change we may or may not include startup-notification support.
We therefore explictly include it in the dependency list.
--- meta/recipes-gnome/gnome/gnome-desktop.inc | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-gnome/gnome/gnome-desktop.inc +2 -2
@@ -1,7 +1,7 @@ DESCRIPTION = "GNOME library for reading .desktop files" SECTION = "x11/gnome" LICENSE = "GPLv2 & LGPLv2" -DEPENDS = "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils" +DEPENDS = "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification" EXTRA_OECONF = "--disable-scrollkeeper --disable-desktop-docs"
@@ -11,7 +11,7 @@ do_configure_prepend () { FILES_${PN} += "${datadir}/gnome-about" -PR = "r2" +PR = "r3" inherit gnome pkgconfig
Signature · 1 line
1.7.5.4
PATCH 2/9 gtk+: Explicitly disable xinerama since we don't have it as a DEPENDS
--- meta/recipes-gnome/gtk+/gtk+_2.22.1.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-gnome/gtk+/gtk+_2.22.1.bb +2 -2
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \ file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \ file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c" -PR = "r4" +PR = "r5" SRC_URI = "http://download.gnome.org/sources/gtk+/2.22/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \
@@ -31,7 +31,7 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.22/gtk+-${PV}.tar.bz2 \ SRC_URI[md5sum] = "fdce46ba354c155230b7d4090b17f7d9" SRC_URI[sha256sum] = "965bc124f0d25087c4cb2a64cbfd7e4f896e05be8d560fbba68dd8685ba24d07" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups" +EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama" LIBV = "2.10.0"
Signature · 1 line
1.7.5.4
PATCH 3/9 cairo: Disable bfd symbol loopup since we don't list it in DEPENDS
In reply to Richard Purdie--- meta/recipes-graphics/cairo/cairo.inc | 3 +++ meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +- 2 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +3 -0
@@ -18,3 +18,6 @@ require cairo-fpu.inc EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" inherit autotools pkgconfig + +# We don't depend on binutils so we need to disable this +export ac_cv_lib_bfd_bfd_openr=no
meta/recipes-graphics/cairo/cairo_1.10.2.bb +1 -1
@@ -2,7 +2,7 @@ require cairo.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" -PR = "r1" +PR = "r2" SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
Signature · 1 line
1.7.5.4
PATCH 4/9 libsndfile1: Disable external codec librbaries since we don't list in DEPENDS
In reply to Richard Purdie--- .../libsndfile/libsndfile1_1.0.24.bb | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
meta/recipes-multimedia/libsndfile/libsndfile1_1.0.24.bb +3 -1
@@ -4,7 +4,7 @@ AUTHOR = "Erik de Castro Lopo" DEPENDS = "sqlite3" SECTION = "libs/multimedia" LICENSE = "LGPLv2.1" -PR = "r0" +PR = "r1" SRC_URI = "http://www.mega-nerd.com/libsndfile/files/libsndfile-${PV}.tar.gz"
@@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" S = "${WORKDIR}/libsndfile-${PV}" +EXTRA_OECONF = "--disable-external-libs" + inherit autotools lib_package pkgconfig do_configure_prepend_arm() {
Signature · 1 line
1.7.5.4
PATCH 5/9 neon: Add libproxy to DEPENDS to ensure determinstic builds
In reply to Richard Purdie--- meta/recipes-support/neon/neon_0.29.5.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-support/neon/neon_0.29.5.bb +2 -2
@@ -4,9 +4,9 @@ SECTION = "libs" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \ file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037" -DEPENDS = "zlib libxml2 expat time gnutls" +DEPENDS = "zlib libxml2 expat time gnutls libproxy" -PR = "r0" +PR = "r1" SRC_URI = "http://www.webdav.org/${BPN}/${BPN}-${PV}.tar.gz \ file://pkgconfig.patch"
Signature · 1 line
1.7.5.4
PATCH 6/9 libtool: Fix an issue where unnecessary rpaths were being injected
In reply to Richard Purdielibtool was being to aggressive in adding rpath to binaries. This change stops it adding them if that path the default search path.
--- meta/recipes-devtools/libtool/libtool-cross_2.4.bb | 2 +- .../recipes-devtools/libtool/libtool-native_2.4.bb | 2 +- .../libtool/libtool-nativesdk_2.4.bb | 2 +- meta/recipes-devtools/libtool/libtool.inc | 3 +- meta/recipes-devtools/libtool/libtool/1 | 55 +++++++++++++++++ .../libtool/libtool/fix-rpath.patch | 63 ++++++++++++++++++++ meta/recipes-devtools/libtool/libtool_2.4.bb | 2 +- 7 files changed, 124 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-devtools/libtool/libtool/1 create mode 100644 meta/recipes-devtools/libtool/libtool/fix-rpath.patch
meta/recipes-devtools/libtool/libtool-cross_2.4.bb +1 -1
@@ -1,6 +1,6 @@ require libtool-${PV}.inc -PR = "r2" +PR = "r4" PACKAGES = "" SRC_URI += "file://prefix.patch"
meta/recipes-devtools/libtool/libtool-native_2.4.bb +1 -1
@@ -2,7 +2,7 @@ require libtool-${PV}.inc DEPENDS = "" -PR = "r2" +PR = "r4" SRC_URI += "file://prefix.patch" inherit native
meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +1 -1
@@ -1,6 +1,6 @@ require libtool-${PV}.inc -PR = "r2" +PR = "r4" SRC_URI += "file://prefix.patch" inherit nativesdk
meta/recipes-devtools/libtool/libtool.inc +2 -1
@@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://resolve-sysroot.patch \ file://use-sysroot-in-libpath.patch \ file://fix-final-rpath.patch \ - file://avoid_absolute_paths_for_general_utils.patch " + file://avoid_absolute_paths_for_general_utils.patch \ + file://fix-rpath.patch " do_compile_prepend () { # Sometimes this file doesn't get rebuilt, force the issue
meta/recipes-devtools/libtool/libtool/1 new file +55 -0
55 lines not on this page · raw message
meta/recipes-devtools/libtool/libtool/fix-rpath.patch new file +63 -0
63 lines not on this page · raw message
meta/recipes-devtools/libtool/libtool_2.4.bb +1 -1
@@ -1,6 +1,6 @@ require libtool-${PV}.inc -PR = "r2" +PR = "r4" # # We want the results of libtool-cross preserved - don't stage anything ourselves.
Signature · 1 line
1.7.5.4
Re: [PATCH 6/9] libtool: Fix an issue where unnecessary rpaths were being injected
Op 25 sep. 2011, om 17:56 heeft Richard Purdie het volgende geschreven:
meta/recipes-devtools/libtool/libtool/1
Quoted 72 lines
libtool was being to aggressive in adding rpath to binaries. This change stops it adding them if that path the default search path.
Signed-off-by Richard Purdie <[email protected]>---
meta/recipes-devtools/libtool/libtool-cross_2.4.bb | 2 +- .../recipes-devtools/libtool/libtool-native_2.4.bb | 2 +- .../libtool/libtool-nativesdk_2.4.bb | 2 +- meta/recipes-devtools/libtool/libtool.inc | 3 +- meta/recipes-devtools/libtool/libtool/1 | 55 +++++++++++++++++ .../libtool/libtool/fix-rpath.patch | 63 ++++++++++++++++++++ meta/recipes-devtools/libtool/libtool_2.4.bb | 2 +- 7 files changed, 124 insertions(+), 5 deletions(-)create mode 100644 meta/recipes-devtools/libtool/libtool/1 create mode 100644
meta/recipes-devtools/libtool/libtool/fix-rpath.patchmeta/recipes-devtools/libtool/libtool-cross_2.4.bb +0
-0@@ -1,6 +1,6 @@require libtool-${PV}.inc
meta/recipes-devtools/libtool/libtool-cross_2.4.bb +1
-1-PR = "r2" +PR = "r4"PACKAGES = ""
SRC_URI+= "file://prefix.patch"meta/recipes-devtools/libtool/libtool-native_2.4.bb +0
-0@@ -2,7 +2,7 @@ require libtool-${PV}.incDEPENDS = ""
meta/recipes-devtools/libtool/libtool-native_2.4.bb +1
-1-PR = "r2" +PR = "r4"
SRC_URI+= "file://prefix.patch"inherit native
meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +0
-0@@ -1,6 +1,6 @@require libtool-${PV}.inc
meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +1
-1-PR = "r2" +PR = "r4"
SRC_URI+= "file://prefix.patch"inherit nativesdk
meta/recipes-devtools/libtool/libtool.inc +2
-1@@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://resolve-sysroot.patch \ file://use-sysroot-in-libpath.patch \ file://fix-final-rpath.patch \ - file://avoid_absolute_paths_for_general_utils.patch " + file://avoid_absolute_paths_for_general_utils.patch \ + file://fix-rpath.patch " do_compile_prepend () { # Sometimes this file doesn't get rebuilt, force the issuemeta/recipes-devtools/libtool/libtool/1 new file +0
-0
stray file?
Re: [PATCH 6/9] libtool: Fix an issue where unnecessary rpaths were being injected
Quoted 67 lines · Koen Kooi
Op 25 sep. 2011, om 17:56 heeft Richard Purdie het volgende geschreven:
Quoted 65 lines
libtool was being to aggressive in adding rpath to binaries. This change stops it adding them if that path the default search path.
Signed-off-by Richard Purdie <[email protected]>---
meta/recipes-devtools/libtool/libtool-cross_2.4.bb | 2 +- .../recipes-devtools/libtool/libtool-native_2.4.bb | 2 +- .../libtool/libtool-nativesdk_2.4.bb | 2 +- meta/recipes-devtools/libtool/libtool.inc | 3 +- meta/recipes-devtools/libtool/libtool/1 | 55 +++++++++++++++++ .../libtool/libtool/fix-rpath.patch | 63 ++++++++++++++++++++ meta/recipes-devtools/libtool/libtool_2.4.bb | 2 +- 7 files changed, 124 insertions(+), 5 deletions(-)create mode 100644 meta/recipes-devtools/libtool/libtool/1 create mode 100644
meta/recipes-devtools/libtool/libtool/fix-rpath.patchmeta/recipes-devtools/libtool/libtool-cross_2.4.bb +0
-0@@ -1,6 +1,6 @@require libtool-${PV}.inc
meta/recipes-devtools/libtool/libtool-cross_2.4.bb +1
-1-PR = "r2" +PR = "r4"PACKAGES = ""
SRC_URI+= "file://prefix.patch"meta/recipes-devtools/libtool/libtool-native_2.4.bb +0
-0@@ -2,7 +2,7 @@ require libtool-${PV}.incDEPENDS = ""
meta/recipes-devtools/libtool/libtool-native_2.4.bb +1
-1-PR = "r2" +PR = "r4"
SRC_URI+= "file://prefix.patch"inherit native
meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +0
-0@@ -1,6 +1,6 @@require libtool-${PV}.inc
meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +1
-1-PR = "r2" +PR = "r4"
SRC_URI+= "file://prefix.patch"inherit nativesdk
meta/recipes-devtools/libtool/libtool.inc +2
-1@@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://resolve-sysroot.patch \ file://use-sysroot-in-libpath.patch \ file://fix-final-rpath.patch \ - file://avoid_absolute_paths_for_general_utils.patch " + file://avoid_absolute_paths_for_general_utils.patch \ + file://fix-rpath.patch "
Quoted 9 lines
meta/recipes-devtools/libtool/libtool/1
Quoted 7 lines
meta/recipes-devtools/libtool/libtool.inc +0
-0do_compile_prepend () { # Sometimes this file doesn't get rebuilt, force the issuemeta/recipes-devtools/libtool/libtool/1 new file +0
-0stray file?
Good catch. I tested this a bit more, liked the results and merged it, minus this file.
We should notice a lot of the RPATH warnings going away with this change.
Cheers,
Richard
PATCH 7/9 autotools.bbclass: Set the dynamic linker search path for libtool correctly
In reply to Richard Purdielibtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib and /lib. This results in host contamination and variable sets of RPATH values ending up in binaries.
By exporting the correct values for all autotools recipes we avoid this.
--- meta/classes/autotools.bbclass | 2 ++ meta/classes/native.bbclass | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-)
meta/classes/autotools.bbclass +2 -0
@@ -31,6 +31,8 @@ export CONFIG_SITE = "${@siteinfo_get_files(d)}" acpaths = "default" EXTRA_AUTORECONF = "--exclude=autopoint" +export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir}" + def autotools_set_crosscompiling(d): if not bb.data.inherits_class('native', d): return " cross_compiling=yes"
meta/classes/native.bbclass +3 -0
@@ -69,6 +69,9 @@ exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}" libdir = "${STAGING_DIR_NATIVE}${libdir_native}" +# Libtool's default paths are correct for the native machine +lt_cv_sys_lib_dlsearch_path_spec[unexport] = "1" + NATIVE_PACKAGE_PATH_SUFFIX = "" bindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
Signature · 1 line
1.7.5.4
PATCH 8/9 base.bbclass: Drop legacy code that is no longer useful/used
In reply to Richard PurdieThe code displaying console events has been handled by the bitbake UI since 1.8 so the legacy code path can be removed. If a log event is wanted, there are much better (and more complete) ways to do this so remove the EVENTLOG code too.
--- meta/classes/base.bbclass | 30 ------------------------------ 1 files changed, 0 insertions(+), 30 deletions(-)
meta/classes/base.bbclass +0 -30
@@ -205,31 +205,7 @@ python base_eventhandler() { from bb import note, error, data from bb.event import getName - messages = {} - messages["Completed"] = "completed" - messages["Succeeded"] = "completed" - messages["Started"] = "started" - messages["Failed"] = "failed" - name = getName(e) - msg = "" - if name.startswith("Pkg"): - msg += "package %s: " % data.getVar("P", e.data, 1) - msg += messages.get(name[3:]) or name[3:] - elif name.startswith("Task"): - msg += "package %s: task %s: " % (data.getVar("PF", e.data, 1), e.task) - msg += messages.get(name[4:]) or name[4:] - elif name.startswith("Build"): - msg += "build %s: " % e.name - msg += messages.get(name[5:]) or name[5:] - elif name == "UnsatisfiedDep": - msg += "package %s: dependency %s %s" % (e.pkg, e.dep, name[:-3].lower()) - - # Only need to output when using 1.8 or lower, the UI code handles it - # otherwise - if (int(bb.__version__.split(".")[0]) <= 1 and int(bb.__version__.split(".")[1]) <= 8): - if msg: - note(msg) if name.startswith("BuildStarted"): bb.data.setVar( 'BB_VERSION', bb.__version__, e.data )
@@ -275,12 +251,6 @@ python base_eventhandler() { if not data in e.__dict__: return - - log = data.getVar("EVENTLOG", e.data, 1) - if log: - logfile = file(log, "a") - logfile.write("%s\n" % msg) - logfile.close() } addtask configure after do_unpack do_patch
Signature · 1 line
1.7.5.4
PATCH 9/9 sstate: No need to spew out a debug message per file, summarise instead
In reply to Richard Purdie--- meta/classes/sstate.bbclass | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
meta/classes/sstate.bbclass +4 -3
@@ -114,15 +114,16 @@ def sstate_install(ss, d): for state in ss['dirs']: oe.path.copytree(state[1], state[2]) for walkroot, dirs, files in os.walk(state[1]): + bb.debug(2, "Staging files from %s to %s" % (state[1], state[2])) for file in files: srcpath = os.path.join(walkroot, file) dstpath = srcpath.replace(state[1], state[2]) - bb.debug(2, "Staging %s to %s" % (srcpath, dstpath)) + #bb.debug(2, "Staging %s to %s" % (srcpath, dstpath)) sharedfiles.append(dstpath) for dir in dirs: srcdir = os.path.join(walkroot, dir) dstdir = srcdir.replace(state[1], state[2]) - bb.debug(2, "Staging %s to %s" % (srcdir, dstdir)) + #bb.debug(2, "Staging %s to %s" % (srcdir, dstdir)) if not dstdir.endswith("/"): dstdir = dstdir + "/" shareddirs.append(dstdir)
@@ -355,12 +356,12 @@ def sstate_package(ss, d): for file in files: srcpath = os.path.join(walkroot, file) dstpath = srcpath.replace(state[1], sstatebuild + state[0]) - bb.debug(2, "Preparing %s for packaging at %s" % (srcpath, dstpath)) make_relative_symlink(srcpath, dstpath, d) for dir in dirs: srcpath = os.path.join(walkroot, dir) dstpath = srcpath.replace(state[1], sstatebuild + state[0]) make_relative_symlink(srcpath, dstpath, d) + bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0])) oe.path.copytree(state[1], sstatebuild + state[0]) workdir = bb.data.getVar('WORKDIR', d, True)
Signature · 1 line
1.7.5.4