Consolidated pull
cover Consolidated pull
The following changes since commit 224bcc2ead676600bcd9e290ed23d9b2ed2f481e:
rpcbind: Security Advisory - rpcbind - CVE-2015-7236 (2015-12-08 00:18:12 -0800)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/jethro-next
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/jethro-next
Andre McCurdy (2):
directfb.inc: force bfd linker for armv7a
cairo: fix license for cairo-script-interpreter
Fang Jia (1):
toolchain-scripts.bbclass: unset command_not_found_handle
Jean-Francois Dagenais (1):
toolchain-shar-relocate: don't assume last state of env_setup_script
is good
Jens Rehsack (1):
autotools: Allow recipe-individual configure scripts
Khem Raj (1):
libxcb: Add a workaround for gcc5 bug on mips
Li Xin (1):
glibc: Backported a patch to fix glibc's bug(18589)
Mark Hatle (4):
populate_sdk_ext.bbclass: Be more permissive on the name of the
buildtools
prelink: Fix various prelink issues on IA32, ARM, and MIPS.
gcc: Update default Power GCC settings to use secure-plt
glibc: Fix ld.so / prelink interface for
ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA
Martin Jansa (9):
icu: force arm mode
guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable
thumb where it fails for qemuarm
libunwind: fix build for qemuarm gstreamer1.0-plugins-{base,good}: update PACKAGECONFIGs gstreamer1.0-plugins-bad: fix dependencies for uvch264 PACKAGECONFIG gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one
for v4l2 and libv4l2
gst-plugins-bad: add PACKAGECONFIGs for voamrwbenc, voaacenc,
resindvd
package_manager.py: define info_dir and status_file when OPKGLIBDIR
isn't the default
texinfo: don't create dependency on INHERIT variable
Paul Eggleton (16):
classes/distrodata: split SRC_URI properly before determining type oeqa/selftest/devtool: fix test if build directory is not inside
COREBASE
oeqa/selftest/layerappend: fix test if build directory is not inside
COREBASE
classes/metadata_scm: fix git errors showing up on non-git
repositories
classes/license: fix intermittent license collection warning classes/populate_sdk_ext: tidy up preparation log file writing classes/populate_sdk_ext: make it clear when SDK installation has
failed
classes/populate_sdk_ext: tweak reporting of workspace exclusion classes/populate_sdk_ext: fail if SDK_ARCH != BUILD_ARCH toolchain-shar-extract.sh: proper fix for additional env setup
scripts
scripts/gen-lockedsig-cache: improve output toolchain-shar-extract.sh: do not allow $ in paths for ext SDK
devtool: upgrade: fix removing other recipes from workspace on reset
devtool: upgrade: fix updating PV and SRCREV
devtool: upgrade: remove erroneous error when not renaming recipe
devtool: upgrade: fetch remote repository before checking out new
revision
Randy Witt (1):
uninative.bbclass: Choose the correct loader based on BUILD_ARCH
Ross Burton (2):
libsdl2: require GLES when building Wayland support
openssl: sanity check that the bignum module is present
Tzu-Jung Lee (1):
devtool: include do_patch in SRCTREECOVEREDTASKS
meta/classes/autotools.bbclass | 43 +-- meta/classes/distrodata.bbclass | 4 +- meta/classes/license.bbclass | 1 + meta/classes/metadata_scm.bbclass | 20 +- meta/classes/populate_sdk_ext.bbclass | 15 +- meta/classes/toolchain-scripts.bbclass | 1 + meta/classes/uninative.bbclass | 2 +- meta/files/toolchain-shar-extract.sh | 15 +- meta/lib/oe/copy_buildsystem.py | 5 +- meta/lib/oe/package_manager.py | 19 ++ meta/lib/oeqa/selftest/devtool.py | 2 +- meta/lib/oeqa/selftest/layerappend.py | 9 +- .../recipes-connectivity/openssl/openssl_1.0.2d.bb | 10 + ...TYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch | 84 +++++ ...ove-incorrect-STRDIFF-based-optimization-.patch | 323 ++++++++++++++++++++ meta/recipes-core/glibc/glibc_2.22.bb | 2 + meta/recipes-devtools/gcc/gcc-common.inc | 5 + meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 + meta/recipes-devtools/gcc/gcc-cross-initial.inc | 1 + meta/recipes-devtools/gcc/gcc_4.9.bb | 5 +- meta/recipes-devtools/guile/guile_2.0.11.bb | 4 + meta/recipes-devtools/opensp/opensp_1.5.2.bb | 4 + meta/recipes-devtools/prelink/prelink_git.bb | 4 +- meta/recipes-extended/mailx/mailx_12.5-5.bb | 5 + meta/recipes-extended/texinfo/texinfo_6.0.bb | 2 +- meta/recipes-graphics/cairo/cairo.inc | 3 + meta/recipes-graphics/directfb/directfb.inc | 3 + meta/recipes-graphics/libsdl2/libsdl2_2.0.3.bb | 2 +- meta/recipes-graphics/xorg-lib/libxcb.inc | 4 +- .../libxcb/gcc-mips-pr68302-mips-workaround.patch | 22 ++ .../gstreamer/gstreamer1.0-libav_1.4.5.bb | 3 + .../gstreamer/gstreamer1.0-plugins-bad.inc | 15 +- .../gstreamer/gstreamer1.0-plugins-base.inc | 7 +- .../gstreamer/gstreamer1.0-plugins-good.inc | 14 +- meta/recipes-support/icu/icu_55.1.bb | 4 + ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch | 61 ++++ meta/recipes-support/libunwind/libunwind_1.1.bb | 5 + scripts/gen-lockedsig-cache | 13 +- scripts/lib/devtool/standard.py | 4 +- scripts/lib/devtool/upgrade.py | 36 ++- 40 files changed, 686 insertions(+), 96 deletions(-) create mode 100644 meta/recipes-core/glibc/glibc/0028-Clear-ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch create mode 100644 meta/recipes-core/glibc/glibc/strcoll-Remove-incorrect-STRDIFF-based-optimization-.patch create mode 100644 meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch create mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
Signature · 1 line
1.7.9.5
PATCH 1/40 libxcb: Add a workaround for gcc5 bug on mips
From: Khem Raj <[email protected]>
This fixes build failure for libxcb on mips
(From OE-Core master rev: cad52140997e86c6fee4938369dfce21767f1a63)
--- meta/recipes-graphics/xorg-lib/libxcb.inc | 4 +++- .../libxcb/gcc-mips-pr68302-mips-workaround.patch | 22 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch
meta/recipes-graphics/xorg-lib/libxcb.inc +3 -1
@@ -14,7 +14,9 @@ DEPENDS = "xcb-proto xproto libxau xcb-proto-native libpthread-stubs" SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \ file://xcbincludedir.patch \ - file://disable-check.patch" + file://disable-check.patch \ + file://gcc-mips-pr68302-mips-workaround.patch \ + " PACKAGES_DYNAMIC = "^libxcb-.*"
meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch new file +22 -0
@@ -0,0 +1,22 @@ +Reduce debug info for xcb.c since on mips we run into a gcc5 bug + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68302 + +This patch is a workaround to get past the gcc bug until its resolved. +it should have minimal impact on libxcb while make it work. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj <[email protected]> + +Index: libxcb-1.11.1/src/Makefile.am +=================================================================== +--- libxcb-1.11.1.orig/src/Makefile.am ++++ libxcb-1.11.1/src/Makefile.am +@@ -188,6 +188,7 @@ EXTSOURCES += xkb.c + if BUILD_XKB + lib_LTLIBRARIES += libxcb-xkb.la + libxcb_xkb_la_LDFLAGS = -version-info 1:0:0 -no-undefined ++CFLAGS += -g1 + libxcb_xkb_la_LIBADD = $(XCB_LIBS) + nodist_libxcb_xkb_la_SOURCES = xkb.c xkb.h + endif
Signature · 1 line
1.7.9.5
PATCH 2/40 icu: force arm mode
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* otherwise it triggers following ICE:
ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570)
ERROR: Logfile of failure stored in: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570 Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common'] | DEBUG: Executing shell function do_compile | NOTE: make | Note: rebuild with "make VERBOSE=1 " to show all compiler parameters. | make[0]: Making `all' in `stubdata' | make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata' | make[1]: Nothing to be done for 'all'. | make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata' | make[0]: Making `all' in `common' | make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common' | arm-oe-linux-gnueabi-gcc ... /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c: In function 'ubidi_writeReordered_53': | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c:643:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 | } | ^ | Please submit a full bug report, | with preprocessed source if appropriate. | See <http://gcc.gnu.org/bugs.html> for instructions. | *** Failed compilation command follows: ---------------------------------------------------------- | arm-oe-linux-gnueabi-gcc -march=armv4t -mthumb -mthumb-interwork -mtune=arm920t --sysroot=/OE/build/shr-core/tmp-eglibc/sysroots/om-gta02 -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1 -I/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common -DDEFAULT_ICU_PLUGINS="/usr/lib/icu" -DU_ATTRIBUTE_DEPRECATED= -DU_COMMON_IMPLEMENTATION -O2 -pipe -g -feliminate-unused-debug-types -std=c99 -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o ubidiwrt.o /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c | --- ( rebuild with "make VERBOSE=1 all" to show all parameters ) -------- | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/config/mh-linux:44: recipe for target 'ubidiwrt.o' failed | make[1]: *** [ubidiwrt.o] Error 1 | make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common' | Makefile:141: recipe for target 'all-recursive' failed | make: *** [all-recursive] Error 2 | ERROR: oe_runmake failed | WARNING: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/run.do_compile.21570:1 exit 1 from | exit 1 | ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570)
NOTE: recipe icu-53.1-r0: task do_compile: Failed
ERROR: Task 6803 (/OE/build/shr-core/openembedded-core/meta/recipes-support/icu/icu_53.1.bb, do_compile) failed with exit code '1'
--- meta/recipes-support/icu/icu_55.1.bb | 4 ++++ 1 file changed, 4 insertions(+)
meta/recipes-support/icu/icu_55.1.bb +4 -0
@@ -8,6 +8,10 @@ def icu_download_version(d): ICU_PV = "${@icu_download_version(d)}" +# http://errors.yoctoproject.org/Errors/Details/20486/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" SRC_URI = "${BASE_SRC_URI} \ file://icu-pkgdata-large-cmd.patch \
Signature · 1 line
1.7.9.5
PATCH 3/40 guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
In reply to Robert YangFrom: Martin Jansa <[email protected]>
--- meta/recipes-devtools/gcc/gcc_4.9.bb | 5 ++--- meta/recipes-devtools/guile/guile_2.0.11.bb | 4 ++++ meta/recipes-devtools/opensp/opensp_1.5.2.bb | 4 ++++ meta/recipes-extended/mailx/mailx_12.5-5.bb | 5 +++++ .../gstreamer/gstreamer1.0-libav_1.4.5.bb | 3 +++ meta/recipes-support/libunwind/libunwind_1.1.bb | 4 ++++ 6 files changed, 22 insertions(+), 3 deletions(-)
meta/recipes-devtools/gcc/gcc_4.9.bb +2 -3
@@ -1,10 +1,9 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-target.inc -# Building with thumb enabled on armv4t fails with -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output +# http://errors.yoctoproject.org/Errors/Details/20497/ ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/guile/guile_2.0.11.bb +4 -0
@@ -119,3 +119,7 @@ guile_sstate_postinst() { find ${STAGING_DIR_TARGET}/${libdir}/guile/2.0/ccache -type f | xargs touch fi } + +# http://errors.yoctoproject.org/Errors/Details/20491/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm"
meta/recipes-devtools/opensp/opensp_1.5.2.bb +4 -0
@@ -53,3 +53,7 @@ do_install_append_class-native() { FILES_${PN} += "${datadir}/OpenSP/" BBCLASSEXTEND = "native" + +# http://errors.yoctoproject.org/Errors/Details/20489/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm"
meta/recipes-extended/mailx/mailx_12.5-5.bb +5 -0
@@ -41,3 +41,8 @@ EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr # fio.c:56:17: fatal error: ssl.h: No such file or directory # #include <ssl.h> PARALLEL_MAKE = "" + +# Causes gcc to get stuck and eat all available memory in qemuarm builds +# http://errors.yoctoproject.org/Errors/Details/20488/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm"
meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb +3 -0
@@ -25,3 +25,6 @@ LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ S = "${WORKDIR}/gst-libav-${PV}" +# http://errors.yoctoproject.org/Errors/Details/20493/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm"
meta/recipes-support/libunwind/libunwind_1.1.bb +4 -0
@@ -10,3 +10,7 @@ SRC_URI += "\ SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a" + +# http://errors.yoctoproject.org/Errors/Details/20487/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm"
Signature · 1 line
1.7.9.5
PATCH 4/40 libunwind: fix build for qemuarm
In reply to Robert YangFrom: Martin Jansa <[email protected]>
--- ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch | 61 ++++++++++++++++++++ meta/recipes-support/libunwind/libunwind_1.1.bb | 1 + 2 files changed, 62 insertions(+) create mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch new file +61 -0
@@ -0,0 +1,61 @@ +From 24484e80b3e329c9edee1995e102f8612eedb79c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <[email protected]> +Date: Tue, 13 May 2014 23:32:27 +0200 +Subject: [PATCH] Add AO_REQUIRE_CAS to fix build on ARM < v6 + +ARM earlier than ARMv6, such as ARMv4 and ARMv5 do not provide +optimize atomic operations in libatomic_ops. Since libunwind is using +such operations, it should define AO_REQUIRE_CAS before including +<atomic_ops.h> so that libatomic_ops knows it should use emulated +atomic operations instead (even though they are obviously a lot more +expensive). + +Also, while real atomic operations are all inline functions and +therefore linking against libatomic_ops was not required, the emulated +atomic operations actually require linking against libatomic_ops, so +the commented AC_CHECK_LIB test in acinclude.m4 is uncommented to make +sure we link against libatomic_ops. + +Signed-off-by: Thomas Petazzoni <[email protected]> + +Upstream-Status: Pending +Taken from: +https://raw.githubusercontent.com/rdnetto/teapot-buildroot/master/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch + +--- + acinclude.m4 | 8 +------- + include/libunwind_i.h | 1 + + 2 files changed, 2 insertions(+), 7 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 497f7c2..9c15af1 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -22,11 +22,5 @@ fi]) + AC_DEFUN([CHECK_ATOMIC_OPS], + [dnl Check whether the system has the atomic_ops package installed. + AC_CHECK_HEADERS(atomic_ops.h) +-# +-# Don't link against libatomic_ops for now. We don't want libunwind +-# to depend on libatomic_ops.so. Fortunately, none of the platforms +-# we care about so far need libatomic_ops.a (everything is done via +-# inline macros). +-# +-# AC_CHECK_LIB(atomic_ops, main) ++ AC_CHECK_LIB(atomic_ops, main) + ]) +diff --git a/include/libunwind_i.h b/include/libunwind_i.h +index 23f615e..deabdfd 100644 +--- a/include/libunwind_i.h ++++ b/include/libunwind_i.h +@@ -95,6 +95,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + (pthread_mutex_unlock != NULL ? pthread_mutex_unlock (l) : 0) + + #ifdef HAVE_ATOMIC_OPS_H ++# define AO_REQUIRE_CAS + # include <atomic_ops.h> + static inline int + cmpxchg_ptr (void *addr, void *old, void *new) +-- +1.9.2 +
meta/recipes-support/libunwind/libunwind_1.1.bb +1 -0
@@ -6,6 +6,7 @@ SRC_URI += "\ file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \ file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \ file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \ + file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \ " SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
Signature · 1 line
1.7.9.5
PATCH 5/40 gstreamer1.0-plugins-{base, good}: update PACKAGECONFIGs
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* there are new libavc1394, libiec61883, libraw1394, cdparanoia recipes in meta-multimedia
--- .../gstreamer/gstreamer1.0-plugins-base.inc | 7 +++---- .../gstreamer/gstreamer1.0-plugins-good.inc | 6 +----- 2 files changed, 4 insertions(+), 9 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc +3 -4
@@ -25,13 +25,12 @@ PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" +# libvisual do not seem to exist anywhere in OE +PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" +PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" - -# cdparanoia and libvisual do not seem to exist anywhere in OE EXTRA_OECONF += " \ --disable-freetypetest \ - --disable-cdparanoia \ - --disable-libvisual \ " FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +1 -5
@@ -31,10 +31,7 @@ PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" - -# the 1394 plugins require both libraw1394 and libiec61883 -# the former is included in meta-oe, the latter isn't -# -> disabled +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394" EXTRA_OECONF += " \ --enable-oss \
@@ -51,7 +48,6 @@ EXTRA_OECONF += " \ --disable-libdv \ --disable-shout2 \ --disable-examples \ - --disable-dv1394 \ " FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
Signature · 1 line
1.7.9.5
PATCH 6/40 gstreamer1.0-plugins-bad: fix dependencies for uvch264 PACKAGECONFIG
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* ERROR: gstreamer1.0-plugins-bad: gstreamer1.0-plugins-bad-uvch264 package isn't created when building with minimal dependencies?
* ERROR: gstreamer1.0-plugins-bad: gstreamer1.0-plugins-bad-uvch264-dev package isn't created when building with minimal dependencies?
* it's because it should depend on libgudev not udev:
configure: *** for plug-ins: uvch264 *** checking linux/uvcvideo.h usability... yes checking linux/uvcvideo.h presence... yes checking for linux/uvcvideo.h... yes checking for GST_VIDEO... yes
checking for G_UDEV... no
checking for LIBUSB... yes
--- .../gstreamer/gstreamer1.0-plugins-bad.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +2 -2
@@ -20,7 +20,7 @@ PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ - orc curl uvch264 neon sndfile \ + orc curl neon sndfile \ hls sbc dash bz2 smoothstreaming \ "
@@ -38,7 +38,7 @@ PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" PACKAGECONFIG[wayland] = "--enable-wayland --enable-egl,--disable-wayland --disable-egl,wayland virtual/egl" -PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 udev" +PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon" PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
Signature · 1 line
1.7.9.5
PATCH 7/40 gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on zlib, but it isn't a build dependency?
--- .../gstreamer/gstreamer1.0-plugins-good.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +4 -4
@@ -11,7 +11,7 @@ inherit gettext PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - orc cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib \ + orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\ " X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
@@ -22,7 +22,8 @@ PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo" PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac" PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf" -PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,udev" +PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev" +PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,libv4l2" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng"
@@ -32,11 +33,10 @@ PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib" PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx" PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack" PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394" +PACKAGECONFIG[v4l2] = "--enable-gst_v4l2,--disable-gst_v4l2" EXTRA_OECONF += " \ --enable-oss \ - --enable-gst_v4l2 \ - --without-libv4l2 \ --disable-directsound \ --disable-waveform \ --disable-oss4 \
Signature · 1 line
1.7.9.5
Re: [PATCH 07/40] gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
Quoted 17 lines · Robert Yang
From: Martin Jansa <[email protected]>
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on zlib, but it isn't a build dependency?Signed-off-by Martin Jansa <[email protected]>--- .../gstreamer/gstreamer1.0-plugins-good.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +0
-0
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc inherit gettext · line 15
Quoted 6 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +1
-1@@ -11,7 +11,7 @@ inherit gettext PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - orc cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib \ + orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\ "
Just noticed that this patch removes gudev from default PACKAGECONFIG. Was that intended?
Andreas
Re: [PATCH 07/40] gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
Quoted 13 lines · Andreas Müller
Quoted 12 lines · Robert Yang
From: Martin Jansa <[email protected]>
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on zlib, but it isn't a build dependency?Signed-off-by Martin Jansa <[email protected]>--- .../gstreamer/gstreamer1.0-plugins-good.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Quoted 13 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc inherit gettext · line 15
Quoted 11 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +1
-1@@ -11,7 +11,7 @@ inherit gettext PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - orc cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib \ + orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\ "Just noticed that this patch removes gudev from default PACKAGECONFIG. Was that intended?
I'm afraid no, should be a typo, I will send a patch for it.
// Robert
Quoted 3 lines
Andreas
Re: [PATCH 07/40] gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
Quoted 36 lines · Robert Yang
Quoted 17 lines · Andreas Müller
Quoted 16 lines · Robert Yang
From: Martin Jansa <[email protected]>
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2
rdepends on libgudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2
rdepends on libudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2
rdepends on zlib, but it isn't a build dependency?Signed-off-by Martin Jansa <[email protected]>--- .../gstreamer/gstreamer1.0-plugins-good.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)Quoted 15 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc inherit gettext · line 16
Quoted 13 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +1
-1@@ -11,7 +11,7 @@ inherit gettext PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - orc cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib \ + orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\ "Just noticed that this patch removes gudev from default PACKAGECONFIG. Was that intended?
Quoted 1 line
I'm afraid no, should be a typo, I will send a patch for it.
To be clear, it's my fault, there were conflicts when I merged the original patch, and I wrongly removed udev from PACKAGECONFIG when resolving the conflicts.
// Robert
Quoted 6 lines
// Robert
Quoted 3 lines
Andreas
Re: [PATCH 07/40] gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
In reply to Andreas MüllerQuoted 13 lines · Andreas Müller
Quoted 12 lines · Robert Yang
From: Martin Jansa <[email protected]>
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency?
WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on zlib, but it isn't a build dependency?Signed-off-by Martin Jansa <[email protected]>--- .../gstreamer/gstreamer1.0-plugins-good.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Quoted 13 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc inherit gettext · line 15
Quoted 11 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +1
-1@@ -11,7 +11,7 @@ inherit gettext PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - orc cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib \ + orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\ "Just noticed that this patch removes gudev from default PACKAGECONFIG. Was that intended?
Yes it was intended, because oe-core doesn't have libgudev provider for systemd based builds, see:
http://patchwork.openembedded.org/patch/107865/
I didn't get reply from Robert and haven't seen any libgudev backport for oe-core, so I've sent gstreamer changes for jethro which disable gudev support where it isn't available for oe-core.
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
PATCH 8/40 gst-plugins-bad: add PACKAGECONFIGs for voamrwbenc, voaacenc, resindvd
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* allows to easily enable them and fixes:
WARNING: QA Issue: gstreamer1.0-plugins-bad: Files/directories were installed but not shipped in any package:
/usr/share/gstreamer-1.0
/usr/share/gstreamer-1.0/presets
/usr/share/gstreamer-1.0/presets/GstVoAmrwbEnc.prs
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. gstreamer1.0-plugins-bad: 3 installed and not shipped files. [installed-vs-shipped]
--- .../gstreamer/gstreamer1.0-plugins-bad.inc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +6 -5
@@ -55,6 +55,9 @@ PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1 PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2" +PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" +PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdnav libdvdread" # these plugins have not been ported to 1.0 (yet): # directdraw vcd apexsink dc1394 lv2 linsys musepack mythtv
@@ -66,8 +69,8 @@ PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2" # these plugins have no corresponding library in OE-core or meta-openembedded: # openni2 winks direct3d directdraw directsound winscreencap osx_video # apple_media android_media avc chromaprint daala dts gme gsm kate ladspa mimic -# mpeg2enc mplex ofa openjpeg opensles pvr resindvd rtmp soundtouch spandsp spc -# srtp vdpau voaacenc voamrwbenc wasapi zbar +# mpeg2enc mplex ofa openjpeg opensles pvr rtmp soundtouch spandsp spc +# srtp vdpau wasapi zbar EXTRA_OECONF += " \ --enable-dvb \
@@ -106,7 +109,6 @@ EXTRA_OECONF += " \ --disable-osx_video \ --disable-pvr \ --disable-quicktime \ - --disable-resindvd \ --disable-sdl \ --disable-sdltest \ --disable-sndio \
@@ -118,8 +120,6 @@ EXTRA_OECONF += " \ --disable-timidity \ --disable-vcd \ --disable-vdpau \ - --disable-voaacenc \ - --disable-voamrwbenc \ --disable-wasapi \ --disable-wildmidi \ --disable-wininet \
@@ -133,3 +133,4 @@ ARM_INSTRUCTION_SET = "arm" FILES_gstreamer1.0-plugins-bad-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" +FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
Signature · 1 line
1.7.9.5
PATCH 9/40 libsdl2: require GLES when building Wayland support
In reply to Robert YangFrom: Ross Burton <[email protected]>
The Wayland support requires GLES2 to be enabled as otherwise the EGL support code in SDL2 isn't enabled.
| In file included from .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c:34:0: | .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c: In function 'Wayland_CreateDevice': | .../SDL2-2.0.3/src/video/wayland/SDL_waylandopengles.h:38:38: error: 'SDL_EGL_GetSwapInterval' undeclared (first use in this function) | #define Wayland_GLES_GetSwapInterval SDL_EGL_GetSwapInterval
Solve this by adding gles2 to the Wayland PACKAGECONFIG option.
--- meta/recipes-graphics/libsdl2/libsdl2_2.0.3.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-graphics/libsdl2/libsdl2_2.0.3.bb +1 -1
@@ -39,7 +39,7 @@ PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ " PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
Signature · 1 line
1.7.9.5
PATCH 10/40 package_manager.py: define info_dir and status_file when OPKGLIBDIR isn't the default
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* without this the do_rootfs task doesn't respect OPKGLIBDIR and info, status are created in different directory than opkg on target expects
* people who modify OPKGLIBDIR need to make sure that opkg.conf included in opkg package also sets info_dir and status_file options
--- meta/lib/oe/package_manager.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
meta/lib/oe/package_manager.py +19 -0
@@ -1471,6 +1471,16 @@ class OpkgPM(PackageManager): self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True), arch)) + if self.opkg_dir != '/var/lib/opkg': + # There is no command line option for this anymore, we need to add + # info_dir and status_file to config file, if OPKGLIBDIR doesn't have + # the default value of "/var/lib" as defined in opkg: + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info" + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status" + cfg_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info')) + cfg_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status')) + + def _create_config(self): with open(self.config_file, "w+") as config_file: priority = 1
@@ -1486,6 +1496,15 @@ class OpkgPM(PackageManager): config_file.write("src oe-%s file:%s\n" % (arch, pkgs_dir)) + if self.opkg_dir != '/var/lib/opkg': + # There is no command line option for this anymore, we need to add + # info_dir and status_file to config file, if OPKGLIBDIR doesn't have + # the default value of "/var/lib" as defined in opkg: + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR "/var/lib/opkg/info" + # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE "/var/lib/opkg/status" + config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info')) + config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status')) + def insert_feeds_uris(self): if self.feed_uris == "": return
Signature · 1 line
1.7.9.5
PATCH 11/40 texinfo: don't create dependency on INHERIT variable
In reply to Robert YangFrom: Martin Jansa <[email protected]>
* we don't want the do_package signature depending on INHERIT variable
* e.g. just adding the own-mirrors causes texinfo to rebuild:
# bitbake-diffsigs BUILD/sstate-diff/*/*/texinfo/*do_package.sig*
basehash changed from 015df2fd8e396cc1e15622dbac843301 to 9f1d06c4f238c70a99ccb6d8da348b6a
Variable INHERIT value changed from
' rm_work blacklist blacklist report-error ${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST} sanity'
to
' rm_work own-mirrors blacklist blacklist report-error ${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST} sanity'--- meta/recipes-extended/texinfo/texinfo_6.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-extended/texinfo/texinfo_6.0.bb +1 -1
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" PROVIDES_append_class-native = " texinfo-replacement-native" def compress_pkg(d): - if "compress_doc" in (d.getVar("INHERIT", True) or "").split(): + if bb.data.inherits_class('compress_doc', d): compress = d.getVar("DOC_COMPRESS", True) if compress == "gz": return "gzip"
Signature · 1 line
1.7.9.5
PATCH 12/40 directfb.inc: force bfd linker for armv7a
In reply to Robert YangFrom: Andre McCurdy <[email protected]>
Workaround for linker errors seen with armv7a + gold:
| ../arm-rdk-linux-gnueabi-libtool --tag=CC --mode=link arm-rdk-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mtune=cortex-a15 --sysroot=.../build/tmp/sysroots/eos -I.../build/tmp/sysroots/eos/usr/include/freetype2 -I.../build/tmp/sysroots/eos/usr/include/libpng16 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration -O3 -g2 -ffast-math -pipe -O2 -pipe -g -feliminate-unused-debug-types -D_GNU_SOURCE -std=gnu99 -Werror-implicit-function-declaration -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o directfb-csource directfb-csource.o -lpng16 -ldl -lrt -lpthread | arm-rdk-linux-gnueabi-libtool: link: arm-rdk-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mtune=cortex-a15 --sysroot=.../build/tmp/sysroots/eos -I.../build/tmp/sysroots/eos/usr/include/freetype2 -I.../build/tmp/sysroots/eos/usr/include/libpng16 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration -O3 -g2 -ffast-math -pipe -O2 -pipe -g -feliminate-unused-debug-types -D_GNU_SOURCE -std=gnu99 -Werror-implicit-function-declaration -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o directfb-csource directfb-csource.o .../build/tmp/sysroots/eos/usr/lib/libpng16.so -lz -lm -ldl -lrt -lpthread | .../build/tmp/sysroots/x86_64-linux/usr/bin/arm-rdk-linux-gnueabi/../../libexec/arm-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/5.2.0/ld: error: directfb-csource.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC | collect2: error: ld returned 1 exit status
--- meta/recipes-graphics/directfb/directfb.inc | 3 +++ 1 file changed, 3 insertions(+)
meta/recipes-graphics/directfb/directfb.inc +3 -0
@@ -22,6 +22,9 @@ S = "${WORKDIR}/DirectFB-${PV}" LDFLAGS_append =" -lts -lm" +# Workaround for linking issues seen with armv7a + gold +LDFLAGS_append_armv7a = "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + BINCONFIG = "${bindir}/directfb-config" inherit autotools binconfig-disabled pkgconfig
Signature · 1 line
1.7.9.5
PATCH 13/40 glibc: Backported a patch to fix glibc's bug(18589)
In reply to Robert YangFrom: Li Xin <[email protected]>
Also Fix LSB NG cases:
* /tset/ANSI.os/locale/setlocale/T.setlocale 1 2 4 5 15
* /tset/ANSI.os/string/strcoll_X/T.strcoll_X 1
* /tset/LI18NUX2K.L1/base/wcscoll/T.wcscoll 1
* /tset/LI18NUX2K.L1/utils/localedef/T.localedef 7
* /tset/LI18NUX2K.L1/utils/sort/T.sort 1 3 17 19 33 35
* /tset/LI18NUX2K.L1/utils/comm/T.comm 1 2
* /tset/LI18NUX2K.L1/utils/ls-fh/T.ls-fh 2
This patch is backported from
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c84109cfa26f35c3dfed3acb97d347361bd5849
(From OE-Core master rev: e88fe8f4c0ea70fb271d3a11e1a3bfcac4c92626)
--- ...ove-incorrect-STRDIFF-based-optimization-.patch | 323 ++++++++++++++++++++ meta/recipes-core/glibc/glibc_2.22.bb | 1 + 2 files changed, 324 insertions(+) create mode 100644 meta/recipes-core/glibc/glibc/strcoll-Remove-incorrect-STRDIFF-based-optimization-.patch
meta/recipes-core/glibc/glibc/strcoll-Remove-incorrect-STRDIFF-based-optimization-.patch new file +323 -0
@@ -0,0 +1,323 @@ +Upstream-Status: Backport + +Signed-off-by: Li Xin <[email protected]> + +From https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c84109cfa26f35c3dfed3acb97d347361bd5849 +Author: Carlos O'Donell <[email protected]> +Date: Thu Oct 8 16:34:53 2015 -0400 + + strcoll: Remove incorrect STRDIFF-based optimization (Bug 18589). + + The optimization introduced in commit + f13c2a8dff2329c6692a80176262ceaaf8a6f74e, causes regressions in + sorting for languages that have digraphs that change sort order, like + cs_CZ which sorts ch between h and i. + + My analysis shows the fast-forwarding optimization in STRCOLL advances + through a digraph while possibly stopping in the middle which results + in a subsequent skipping of the digraph and incorrect sorting. The + optimization is incorrect as implemented and because of that I'm + removing it for 2.23, and I will also commit this fix for 2.22 where + it was originally introduced. + + This patch reverts the optimization, introduces a new bug-strcoll2.c + regression test that tests both cs_CZ.UTF-8 and da_DK.ISO-8859-1 and + ensures they sort one digraph each correctly. The optimization can't be + applied without regressing this test. + + Checked on x86_64, bug-strcoll2.c fails without this patch and passes + after. This will also get a fix on 2.22 which has the same bug. + + (cherry picked from commit 87701a58e291bd7ac3b407d10a829dac52c9c16e) +--- + locale/C-collate.c | 4 +- + locale/categories.def | 1 - + locale/langinfo.h | 1 - + locale/localeinfo.h | 7 ---- + locale/programs/ld-collate.c | 9 ----- + string/bug-strcoll2.c | 95 ++++++++++++++++++++++++++++++++++++++++++++ + string/strcoll_l.c | 39 +----------------- + wcsmbs/wcscoll_l.c | 1 - + 8 files changed, 98 insertions(+), 59 deletions(-) + create mode 100644 string/bug-strcoll2.c + +diff --git a/locale/C-collate.c b/locale/C-collate.c +index d7f3c55..06dfdfa 100644 +--- a/locale/C-collate.c ++++ b/locale/C-collate.c +@@ -144,8 +144,6 @@ const struct __locale_data _nl_C_LC_COLLATE attribute_hidden = + /* _NL_COLLATE_COLLSEQWC */ + { .string = (const char *) collseqwc }, + /* _NL_COLLATE_CODESET */ +- { .string = _nl_C_codeset }, +- /* _NL_COLLATE_ENCODING_TYPE */ +- { .word = __cet_8bit } ++ { .string = _nl_C_codeset } + } + }; +diff --git a/locale/categories.def b/locale/categories.def +index 045489d..a8dda53 100644 +--- a/locale/categories.def ++++ b/locale/categories.def +@@ -58,7 +58,6 @@ DEFINE_CATEGORY + DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB, "collate-collseqmb", std, wstring) + DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC, "collate-collseqwc", std, wstring) + DEFINE_ELEMENT (_NL_COLLATE_CODESET, "collate-codeset", std, string) +- DEFINE_ELEMENT (_NL_COLLATE_ENCODING_TYPE, "collate-encoding-type", std, word) + ), NO_POSTLOAD) + + +diff --git a/locale/langinfo.h b/locale/langinfo.h +index ffc5c7f..a565d9d 100644 +--- a/locale/langinfo.h ++++ b/locale/langinfo.h +@@ -255,7 +255,6 @@ enum + _NL_COLLATE_COLLSEQMB, + _NL_COLLATE_COLLSEQWC, + _NL_COLLATE_CODESET, +- _NL_COLLATE_ENCODING_TYPE, + _NL_NUM_LC_COLLATE, + + /* LC_CTYPE category: character classification. +diff --git a/locale/localeinfo.h b/locale/localeinfo.h +index a7516c0..c076d8e 100644 +--- a/locale/localeinfo.h ++++ b/locale/localeinfo.h +@@ -110,13 +110,6 @@ enum coll_sort_rule + sort_mask + }; + +-/* Collation encoding type. */ +-enum collation_encoding_type +-{ +- __cet_other, +- __cet_8bit, +- __cet_utf8 +-}; + + /* We can map the types of the entries into a few categories. */ + enum value_type +diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c +index 16e9039..3c88c6d 100644 +--- a/locale/programs/ld-collate.c ++++ b/locale/programs/ld-collate.c +@@ -32,7 +32,6 @@ + #include "linereader.h" + #include "locfile.h" + #include "elem-hash.h" +-#include "../localeinfo.h" + + /* Uncomment the following line in the production version. */ + /* #define NDEBUG 1 */ +@@ -2130,8 +2129,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap, + /* The words have to be handled specially. */ + if (idx == _NL_ITEM_INDEX (_NL_COLLATE_SYMB_HASH_SIZEMB)) + add_locale_uint32 (&file, 0); +- else if (idx == _NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)) +- add_locale_uint32 (&file, __cet_other); + else + add_locale_empty (&file); + } +@@ -2495,12 +2492,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap, + add_locale_raw_data (&file, collate->mbseqorder, 256); + add_locale_collseq_table (&file, &collate->wcseqorder); + add_locale_string (&file, charmap->code_set_name); +- if (strcmp (charmap->code_set_name, "UTF-8") == 0) +- add_locale_uint32 (&file, __cet_utf8); +- else if (charmap->mb_cur_max == 1) +- add_locale_uint32 (&file, __cet_8bit); +- else +- add_locale_uint32 (&file, __cet_other); + write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file); + + obstack_free (&weightpool, NULL); +diff --git a/string/bug-strcoll2.c b/string/bug-strcoll2.c +new file mode 100644 +index 0000000..950b090 +--- /dev/null ++++ b/string/bug-strcoll2.c +@@ -0,0 +1,95 @@ ++/* Bug 18589: sort-test.sh fails at random. ++ * Copyright (C) 1998-2015 Free Software Foundation, Inc. ++ * This file is part of the GNU C Library. ++ * Contributed by Ulrich Drepper <[email protected]>, 1998. ++ * ++ * The GNU C Library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * The GNU C Library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with the GNU C Library; if not, see ++ * <http://www.gnu.org/licenses/>. */ ++ ++#include <stdio.h> ++#include <string.h> ++#include <locale.h> ++ ++/* An incorrect strcoll optimization resulted in incorrect ++ * results from strcoll for cs_CZ and da_DK. */ ++ ++int ++test_cs_CZ (void) ++{ ++ const char t1[] = "config"; ++ const char t2[] = "choose"; ++ if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL) ++ { ++ perror ("setlocale"); ++ return 1; ++ } ++ /* In Czech the digraph ch sorts after c, therefore we expect ++ * config to sort before choose. */ ++ int a = strcoll (t1, t2); ++ int b = strcoll (t2, t1); ++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a); ++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b); ++ if (a < 0 && b > 0) ++ { ++ puts ("PASS: config < choose"); ++ return 0; ++ } ++ else ++ { ++ puts ("FAIL: Wrong sorting in cz_CZ.UTF-8."); ++ return 1; ++ } ++} ++ ++int ++test_da_DK (void) ++{ ++ const char t1[] = "AS"; ++ const char t2[] = "AA"; ++ if (setlocale (LC_ALL, "da_DK.ISO-8859-1") == NULL) ++ { ++ perror ("setlocale"); ++ return 1; ++ } ++ /* AA should be treated as the last letter of the Danish alphabet, ++ * hence sorting after AS. */ ++ int a = strcoll (t1, t2); ++ int b = strcoll (t2, t1); ++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a); ++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b); ++ if (a < 0 && b > 0) ++ { ++ puts ("PASS: AS < AA"); ++ return 0; ++ } ++ else ++ { ++ puts ("FAIL: Wrong sorting in da_DK.ISO-8859-1"); ++ return 1; ++ } ++} ++ ++static int ++do_test (void) ++{ ++ int err = 0; ++ err |= test_cs_CZ (); ++ err |= test_da_DK (); ++ return err; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" ++ ++ +diff --git a/string/strcoll_l.c b/string/strcoll_l.c +index b36b18c..a18b65e 100644 +--- a/string/strcoll_l.c ++++ b/string/strcoll_l.c +@@ -30,7 +30,6 @@ + # define STRING_TYPE char + # define USTRING_TYPE unsigned char + # define STRCOLL __strcoll_l +-# define STRDIFF __strdiff + # define STRCMP strcmp + # define WEIGHT_H "../locale/weight.h" + # define SUFFIX MB +@@ -43,19 +42,6 @@ + #include "../locale/localeinfo.h" + #include WEIGHT_H + +-#define MASK_UTF8_7BIT (1 << 7) +-#define MASK_UTF8_START (3 << 6) +- +-size_t +-STRDIFF (const STRING_TYPE *s, const STRING_TYPE *t) +-{ +- size_t n; +- +- for (n = 0; *s != '\0' && *s++ == *t++; ++n) +- continue; +- +- return n; +-} + + /* Track status while looking for sequences in a string. */ + typedef struct +@@ -274,29 +260,9 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) + const USTRING_TYPE *extra; + const int32_t *indirect; + +- /* In case there is no locale specific sort order (C / POSIX). */ + if (nrules == 0) + return STRCMP (s1, s2); + +- /* Fast forward to the position of the first difference. Needs to be +- encoding aware as the byte-by-byte comparison can stop in the middle +- of a char sequence for multibyte encodings like UTF-8. */ +- uint_fast32_t encoding = +- current->values[_NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)].word; +- if (encoding != __cet_other) +- { +- size_t diff = STRDIFF (s1, s2); +- if (diff > 0) +- { +- if (encoding == __cet_utf8 && (*(s1 + diff) & MASK_UTF8_7BIT) != 0) +- do +- diff--; +- while (diff > 0 && (*(s1 + diff) & MASK_UTF8_START) != MASK_UTF8_START); +- s1 += diff; +- s2 += diff; +- } +- } +- + /* Catch empty strings. */ + if (__glibc_unlikely (*s1 == '\0') || __glibc_unlikely (*s2 == '\0')) + return (*s1 != '\0') - (*s2 != '\0'); +@@ -363,9 +329,8 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) + byte-level comparison to ensure that we don't waste time + going through multiple passes for totally equal strings + before proceeding to subsequent passes. */ +- if (pass == 0 && encoding == __cet_other && +- STRCMP (s1, s2) == 0) +- return result; ++ if (pass == 0 && STRCMP (s1, s2) == 0) ++ return result; + else + break; + } +diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c +index 6d9384a..87f240d 100644 +--- a/wcsmbs/wcscoll_l.c ++++ b/wcsmbs/wcscoll_l.c +@@ -23,7 +23,6 @@ + #define STRING_TYPE wchar_t + #define USTRING_TYPE wint_t + #define STRCOLL __wcscoll_l +-#define STRDIFF __wcsdiff + #define STRCMP __wcscmp + #define WEIGHT_H "../locale/weightwc.h" + #define SUFFIX WC +-- +1.8.4.2 +
meta/recipes-core/glibc/glibc_2.22.bb +1 -0
@@ -39,6 +39,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0026-eglibc-dl_debug_mask-is-controlled-by-__OPTION_EGLIB.patch \ file://0027-eglibc-use-option-groups-Conditionally-exclude-c-tes.patch \ file://nscd-no-bash.patch \ + file://strcoll-Remove-incorrect-STRDIFF-based-optimization-.patch \ " SRC_URI += "\
Signature · 1 line
1.7.9.5
PATCH 14/40 openssl: sanity check that the bignum module is present
In reply to Robert YangFrom: Ross Burton <[email protected]>
The crypto_use_bigint_in_x86-64_perl patch uses the "bigint" module to transparently support 64-bit integers on 32-bit hosts. Whilst bigint (part of bignum) is a core Perl module not all distributions install it (notable Fedora 23).
As the error message when bignum isn't installed is obscure, add a task to check that it is available and alert the user if it isn't.
[ YOCTO #8562 ]
(From OE-Core master rev: 2f9a2fbc46aa435a0a7f7662bb62029ac714f25a)
--- .../recipes-connectivity/openssl/openssl_1.0.2d.bb | 10 ++++++++++ 1 file changed, 10 insertions(+)
meta/recipes-connectivity/openssl/openssl_1.0.2d.bb +10 -0
@@ -56,3 +56,13 @@ PARALLEL_MAKEINST = "" do_configure_prepend() { cp ${WORKDIR}/find.pl ${S}/util/find.pl } + +# The crypto_use_bigint patch means that perl's bignum module needs to be +# installed, but some distributions (for example Fedora 23) don't ship it by +# default. As the resulting error is very misleading check for bignum before +# building. +do_configure_prepend() { + if ! perl -Mbigint -e true; then + bbfatal "The perl module 'bignum' was not found but this is required to build openssl. Please install this module (often packaged as perl-bignum) and re-run bitbake." + fi +}
Signature · 1 line
1.7.9.5
PATCH 15/40 uninative.bbclass: Choose the correct loader based on BUILD_ARCH
In reply to Robert YangFrom: Randy Witt <[email protected]>
Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is incorrect when the host is 32-bit.
This change also changes to using ?= so the user can override UNINATIVE_LOADER if so desired.
[YOCTO #8124]
(From OE-Core master rev: b78fa0bcadd54bb29b6f1bb3a9308d4c454bf4e2)
--- meta/classes/uninative.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/uninative.bbclass +1 -1
@@ -1,6 +1,6 @@ NATIVELSBSTRING = "universal" -UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2" +UNINATIVE_LOADER ?= "${@bb.utils.contains('BUILD_ARCH', 'x86_64', '${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2', '${STAGING_DIR_NATIVE}/lib/ld-linux.so.2', d)}" addhandler uninative_eventhandler uninative_eventhandler[eventmask] = "bb.event.BuildStarted"
Signature · 1 line
1.7.9.5
PATCH 16/40 classes/distrodata: split SRC_URI properly before determining type
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
We weren't splitting SRC_URI values containing multiple URIs here; this didn't cause any errors except when a trailing ; was left on a URI, in which case the next URI was considered part of the parameter, which didn't contain a = and therefore was considered invalid.
We only care about the first URI in SRC_URI in this context (since that's the upstream URI by convention) so split it as we should and take the first item.
Fixes [YOCTO #8645].
(From OE-Core master rev: 8e75b7e7d54e5638b42b9e7f90f2c6c17e62033f)
--- meta/classes/distrodata.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/classes/distrodata.bbclass +2 -2
@@ -271,9 +271,9 @@ python do_checkpkg() { from bb.fetch2 import FetchError, NoMethodError, decodeurl """first check whether a uri is provided""" - src_uri = d.getVar('SRC_URI', True) + src_uri = (d.getVar('SRC_URI', True) or '').split() if src_uri: - uri_type, _, _, _, _, _ = decodeurl(src_uri) + uri_type, _, _, _, _, _ = decodeurl(src_uri[0]) else: uri_type = "none"
Signature · 1 line
1.7.9.5
PATCH 17/40 oeqa/selftest/devtool: fix test if build directory is not inside COREBASE
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
Fix test_devtool_update_recipe_git to work when build directory is not inside COREBASE.
Fixes [YOCTO #8639].
(From OE-Core master rev: 0225888207f82e5f1d9e3dffb7c342a10169aea3)
--- meta/lib/oeqa/selftest/devtool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/selftest/devtool.py +1 -1
@@ -582,7 +582,7 @@ class DevtoolTests(DevtoolBase): # Now try with auto mode runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) result = runCmd('devtool update-recipe %s' % testrecipe) - result = runCmd('git rev-parse --show-toplevel') + result = runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) topleveldir = result.output.strip() relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) expected_status = [(' M', os.path.relpath(recipefile, topleveldir)),
Signature · 1 line
1.7.9.5
PATCH 18/40 oeqa/selftest/layerappend: fix test if build directory is not inside COREBASE
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
Fix test_layer_appends to work when build directory is not inside COREBASE.
Fixes [YOCTO #8639].
(From OE-Core master rev: 0f146e77655d153d3f9a59e489265450f08c6ad7)
--- meta/lib/oeqa/selftest/layerappend.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
meta/lib/oeqa/selftest/layerappend.py +6 -3
@@ -46,10 +46,11 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI_append += "file://appendtest.txt" """ - layerappend = "BBLAYERS += \"COREBASE/meta-layertest0 COREBASE/meta-layertest1 COREBASE/meta-layertest2\"" + layerappend = '' def tearDownLocal(self): - ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend.replace("COREBASE", self.builddir + "/..")) + if self.layerappend: + ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend) @testcase(1196) def test_layer_appends(self):
@@ -79,7 +80,9 @@ SRC_URI_append += "file://appendtest.txt" with open(layer + "/recipes-test/layerappendtest/appendtest.txt", "w") as f: f.write("Layer 2 test") self.track_for_cleanup(layer) - ftools.append_file(self.builddir + "/conf/bblayers.conf", self.layerappend.replace("COREBASE", self.builddir + "/..")) + + self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(corebase) + ftools.append_file(self.builddir + "/conf/bblayers.conf", self.layerappend) bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test")
Signature · 1 line
1.7.9.5
PATCH 19/40 classes/metadata_scm: fix git errors showing up on non-git repositories
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
Fixes the following error showing up for layers that aren't a git repo (or aren't parented by one):
fatal: Not a git repository (or any of the parent directories): .git
This was because we weren't intercepting stderr. We might as well just use bb.process.run() here which does that and returns stdout and stderr separately.
(This was a regression that came in with OE-Core revision 3aac11076e22ac4fea48f5404110bb959547a9fe).
Fixes [YOCTO #8661].
(From OE-Core master rev: f533c1bf4c6edbecc67f9e2c62fd475d64668e86)
--- meta/classes/metadata_scm.bbclass | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
meta/classes/metadata_scm.bbclass +10 -10
@@ -65,19 +65,19 @@ def base_get_metadata_svn_revision(path, d): return revision def base_get_metadata_git_branch(path, d): - import subprocess + import bb.process try: - return subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"], - cwd=path).strip() - except: - return "<unknown>" + rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path) + except bb.process.ExecutionError: + rev = '<unknown>' + return rev.strip() def base_get_metadata_git_revision(path, d): - import subprocess + import bb.process try: - return subprocess.check_output(["git", "rev-parse", "HEAD"], - cwd=path).strip() - except: - return "<unknown>" + rev, _ = bb.process.run('git rev-parse HEAD', cwd=path) + except bb.process.ExecutionError: + rev = '<unknown>' + return rev.strip()
Signature · 1 line
1.7.9.5
PATCH 20/40 classes/license: fix intermittent license collection warning
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
Fixes the following warning sometimes appearing during image builds:
WARNING: The license listed ABC was not in the licenses collected for recipe xyz
The files being looked for here, which runs during do_rootfs, are written out by the do_populate_lic task for each recipe. However, there was no explicit dependency between do_rootfs and all of the do_populate_lic tasks to ensure they had run - only an implicit link via do_build, so it is possible that sometimes they had not depending on how the tasks were scheduled. Add an explicit set of dependencies to fix this.
(From OE-Core master rev: ef7dc532e800d9b170246550cbc8703adf624beb)
--- meta/classes/license.bbclass | 1 + 1 file changed, 1 insertion(+)
meta/classes/license.bbclass +1 -0
@@ -474,6 +474,7 @@ do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}" do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/" ROOTFS_POSTPROCESS_COMMAND_prepend = "write_package_manifest; license_create_manifest; " +do_rootfs[recrdeptask] += "do_populate_lic" do_populate_lic_setscene[dirs] = "${LICSSTATEDIR}/${PN}" do_populate_lic_setscene[cleandirs] = "${LICSSTATEDIR}"
Signature · 1 line
1.7.9.5
PATCH 21/40 classes/populate_sdk_ext: tidy up preparation log file writing
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
Use a variable for the log file which includes the full path; this is not only neater but avoids us writing the first part (the output of oe-init-build-env) to a file in another directory since we are changing directory as part of this subshell.
(From OE-Core master rev: 001af71752a9e9aab460cbd49ed049e1eb726295)
--- meta/classes/populate_sdk_ext.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
meta/classes/populate_sdk_ext.bbclass +2 -1
@@ -249,7 +249,8 @@ sdk_ext_postinst() { # dash which is /bin/sh on Ubuntu will not preserve the # current working directory when first ran, nor will it set $1 when # sourcing a script. That is why this has to look so ugly. - sh -c ". buildtools/environment-setup* > preparing_build_system.log && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> preparing_build_system.log && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> preparing_build_system.log 2>&1" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; } + LOGFILE="$target_sdk_dir/preparing_build_system.log" + sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> $LOGFILE 2>&1" || { echo "SDK preparation failed: see $LOGFILE" ; exit 1 ; } fi rm -f $target_sdk_dir/ext-sdk-prepare.sh echo done
Signature · 1 line
1.7.9.5
PATCH 22/40 classes/populate_sdk_ext: make it clear when SDK installation has failed
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
When SDK preparation fails:
* Insert an ERROR: in front of the error message
* Add an error message to the environment setup script
Hopefully this should make it more obvious when this happens.
Fixes [YOCTO #8658].
(From OE-Core master rev: 105df569b3b1982005c2edb37f4690f9ba6bde35)
--- meta/classes/populate_sdk_ext.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/populate_sdk_ext.bbclass +1 -1
@@ -250,7 +250,7 @@ sdk_ext_postinst() { # current working directory when first ran, nor will it set $1 when # sourcing a script. That is why this has to look so ugly. LOGFILE="$target_sdk_dir/preparing_build_system.log" - sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> $LOGFILE 2>&1" || { echo "SDK preparation failed: see $LOGFILE" ; exit 1 ; } + sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> $LOGFILE 2>&1" || { echo "ERROR: SDK preparation failed: see $LOGFILE"; echo "printf 'ERROR: this SDK wasn't fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } fi rm -f $target_sdk_dir/ext-sdk-prepare.sh echo done
Signature · 1 line
1.7.9.5
PATCH 23/40 classes/populate_sdk_ext: tweak reporting of workspace exclusion
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
If you have a local workspace layer enabled when building the extensible SDK, we explicitly exclude that from the SDK (mostly because the SDK has its own for the user to use). Adjust the message we print notifying the user of this so it's clear that we're excluding it from the SDK, and scale it back from a warning to a note printed with bb.plain().
(From OE-Core master rev: 90f46f74a088a7b965d2205eceb9eff6f276dd38)
--- meta/classes/populate_sdk_ext.bbclass | 2 +- meta/lib/oe/copy_buildsystem.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-)
meta/classes/populate_sdk_ext.bbclass +1 -1
@@ -51,7 +51,7 @@ python copy_buildsystem () { core_meta_subdir = '' # Copy in all metadata layers + bitbake (as repositories) - buildsystem = oe.copy_buildsystem.BuildSystem(d) + buildsystem = oe.copy_buildsystem.BuildSystem('extensible SDK', d) baseoutpath = d.getVar('SDK_OUTPUT', True) + '/' + d.getVar('SDKPATH', True) layers_copied = buildsystem.copy_bitbake_and_layers(baseoutpath + '/layers')
meta/lib/oe/copy_buildsystem.py +3 -2
@@ -14,8 +14,9 @@ def _smart_copy(src, dest): shutil.copymode(src, dest) class BuildSystem(object): - def __init__(self, d): + def __init__(self, context, d): self.d = d + self.context = context self.layerdirs = d.getVar('BBLAYERS', True).split() def copy_bitbake_and_layers(self, destdir):
@@ -38,7 +39,7 @@ class BuildSystem(object): if os.path.exists(layerconf): with open(layerconf, 'r') as f: if f.readline().startswith("# ### workspace layer auto-generated by devtool ###"): - bb.warn("Skipping local workspace layer %s" % layer) + bb.plain("NOTE: Excluding local workspace layer %s from %s" % (layer, self.context)) continue # If the layer was already under corebase, leave it there
Signature · 1 line
1.7.9.5
PATCH 24/40 classes/populate_sdk_ext: fail if SDK_ARCH != BUILD_ARCH
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
The extensible SDK relies upon uninative, and with the way that uninative works, the build system architecture must be the same as the SDK architecture or the extensible SDK won't be usable. At some point in future hopefully we can remove this limitation, but until then it's disingenuous to allow this to build, so add a check to ensure SDK_ARCH == BUILD_ARCH and fail if it isn't.
(From OE-Core master rev: 9e30e849eda3b0a0c54d3f7ed0102760fdaef06c)
--- meta/classes/populate_sdk_ext.bbclass | 5 +++++ 1 file changed, 5 insertions(+)
meta/classes/populate_sdk_ext.bbclass +5 -0
@@ -261,6 +261,11 @@ SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_postinst}" SDK_POSTPROCESS_COMMAND_prepend_task-populate-sdk-ext = "copy_buildsystem; install_tools; " fakeroot python do_populate_sdk_ext() { + # FIXME hopefully we can remove this restriction at some point, but uninative + # currently forces this upon us + if d.getVar('SDK_ARCH', True) != d.getVar('BUILD_ARCH', True): + bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH', True), d.getVar('BUILD_ARCH', True))) + bb.build.exec_func("do_populate_sdk", d) }
Signature · 1 line
1.7.9.5
PATCH 25/40 populate_sdk_ext.bbclass: Be more permissive on the name of the buildtools
In reply to Robert YangFrom: Mark Hatle <[email protected]>
We want to support different names for the buildtools tarball. The name may not always be of the default oe-core format.
For instance, at Wind River we define the built-tools name to be:
${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}
because thes standard SDK_NAME has additional information that is not relevant to the builtools tarball.
(From OE-Core master rev: b49c6f179b06a8b97106aa4c95f2cdb3c4dc0920)
--- meta/classes/populate_sdk_ext.bbclass | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
meta/classes/populate_sdk_ext.bbclass +1 -4
@@ -187,10 +187,7 @@ python copy_buildsystem () { } def extsdk_get_buildtools_filename(d): - # This is somewhat of a hack - localdata = bb.data.createCopy(d) - localdata.setVar('PN', 'buildtools-tarball') - return localdata.expand('${SDK_NAME}-buildtools-nativesdk-standalone-*.sh') + return '*-buildtools-nativesdk-standalone-*.sh' install_tools() { install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}
Signature · 1 line
1.7.9.5
PATCH 26/40 toolchain-shar-relocate: don't assume last state of env_setup_script is good
In reply to Robert YangFrom: Jean-Francois Dagenais <[email protected]>
In the case where many environment-setup-* files exist, the incorrect filename might be lastly set in env_setup_script, which leads to incorrect behaviour for the initialization of native_sysroot.
The scenario I had was that our custom meta-toolchain-*.bb, which inherits populate_sdk, defined another environment-setup-* file to dump variable information for qt-creator. The file is named like so in order for the sdk shell script to pick it up and fix the SDK paths in the file. Since it (coincidentally) alphabetically comes after ...-core2, it was last set in env_setup_script and the grep OECORE_NATIVE_SYSROOT would simply be blank. The apparent symptom was "...relocate_sdk.py:
Argument list too long" since the find command would not be searching in the right path.
(From OE-Core master rev: a36469c97c9cb335de1e95dea5141038f337df95)
--- meta/files/toolchain-shar-relocate.sh | 2 ++ 1 file changed, 2 insertions(+)
meta/files/toolchain-shar-relocate.sh +2 -0
@@ -1,3 +1,5 @@ +#reset the env_setup_script value to the proper value +env_setup_script=$target_sdk_dir/environment-setup-@REAL_MULTIMACH_TARGET_SYS@ # fix dynamic loader paths in all ELF SDK binaries native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"') dl_path=$($SUDO_EXEC find $native_sysroot/lib -name "ld-linux*")
Signature · 1 line
1.7.9.5
PATCH 27/40 toolchain-shar-extract.sh: proper fix for additional env setup scripts
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
buildtools-tarball uses a custom env setup script, which isn't named the same as the default; thus unfortunately OE-Core revision a36469c97c9cb335de1e95dea5141038f337df95 broke installation of buildtools-tarball. Revert that and implement a more robust mechanism.
(From OE-Core master rev: 00e081b81ba8118959b724269ba9d18d42aba8a4)
--- meta/files/toolchain-shar-extract.sh | 11 +++++++++++ meta/files/toolchain-shar-relocate.sh | 2 -- 2 files changed, 11 insertions(+), 2 deletions(-)
meta/files/toolchain-shar-extract.sh +11 -0
@@ -169,9 +169,20 @@ echo "done" printf "Setting it up..." # fix environment paths +real_env_setup_script="" for env_setup_script in `ls $target_sdk_dir/environment-setup-*`; do + if grep -q 'OECORE_NATIVE_SYSROOT=' $env_setup_script; then + # Handle custom env setup scripts that are only named + # environment-setup-* so that they have relocation + # applied - what we want beyond here is the main one + # rather than the one that simply sorts last + real_env_setup_script="$env_setup_script" + fi $SUDO_EXEC sed -e "s:@SDKPATH@:$target_sdk_dir:g" -i $env_setup_script done +if [ -n "$real_env_setup_script" ] ; then + env_setup_script="$real_env_setup_script" +fi @SDK_POST_INSTALL_COMMAND@
meta/files/toolchain-shar-relocate.sh +0 -2
@@ -1,5 +1,3 @@ -#reset the env_setup_script value to the proper value -env_setup_script=$target_sdk_dir/environment-setup-@REAL_MULTIMACH_TARGET_SYS@ # fix dynamic loader paths in all ELF SDK binaries native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"') dl_path=$($SUDO_EXEC find $native_sysroot/lib -name "ld-linux*")
Signature · 1 line
1.7.9.5
PATCH 28/40 scripts/gen-lockedsig-cache: improve output
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
* Print some status when running
* When incorrect number of arguments specified, print usage text
(From OE-Core master rev: ac38d245878b618ddf56f9a68834d344500e45a6)
--- scripts/gen-lockedsig-cache | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
scripts/gen-lockedsig-cache +10 -3
@@ -1,7 +1,4 @@ #!/usr/bin/env python -# -# gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> -# import os import sys
@@ -18,14 +15,17 @@ def mkdir(d): if len(sys.argv) < 3: print("Incorrect number of arguments specified") + print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir>") sys.exit(1) +print('Reading %s' % sys.argv[1]) sigs = [] with open(sys.argv[1]) as f: for l in f.readlines(): if ":" in l: sigs.append(l.split(":")[2].split()[0]) +print('Gathering file list') files = set() for s in sigs: p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*"
@@ -33,10 +33,13 @@ for s in sigs: p = sys.argv[2] + "/*/" + s[:2] + "/*" + s + "*" files |= set(glob.glob(p)) +print('Processing files') for f in files: + sys.stdout.write('Processing %s... ' % f) _, ext = os.path.splitext(f) if not ext in ['.tgz', '.siginfo', '.sig']: # Most likely a temp file, skip it + print('skipping') continue dst = f.replace(sys.argv[2], sys.argv[3]) destdir = os.path.dirname(dst)
@@ -45,6 +48,10 @@ for f in files: if os.path.exists(dst): os.remove(dst) if (os.stat(f).st_dev == os.stat(destdir).st_dev): + print('linking') os.link(f, dst) else: + print('copying') shutil.copyfile(f, dst) + +print('Done!')
Signature · 1 line
1.7.9.5
PATCH 29/40 toolchain-shar-extract.sh: do not allow $ in paths for ext SDK
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
If you put an $ character in the path, SDK installation fails during the preparation stage, so add this to the disallowed characters.
Fixes [YOCTO #8625].
(From OE-Core master rev: 654f4785f719552f4e78e14a5a901c07d00ce68d)
--- meta/files/toolchain-shar-extract.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/files/toolchain-shar-extract.sh +2 -2
@@ -101,9 +101,9 @@ fi if [ "$SDK_EXTENSIBLE" = "1" ]; then # We're going to be running the build system, additional restrictions apply - if echo "$target_sdk_dir" | grep -q '[+\ @]'; then + if echo "$target_sdk_dir" | grep -q '[+\ @$]'; then echo "The target directory path ($target_sdk_dir) contains illegal" \ - "characters such as spaces, @ or +. Abort!" + "characters such as spaces, @, \$ or +. Abort!" exit 1 fi else
Signature · 1 line
1.7.9.5
PATCH 30/40 devtool: include do_patch in SRCTREECOVEREDTASKS
In reply to Robert YangFrom: Tzu-Jung Lee <[email protected]>
The external source of kernel has been patched during the construction of git repository. Include the do_patch task in the SRCTREECOVEREDTASKS.
(From OE-Core master rev: 0731c5a9e98f7b7f6e5ada9bbb99acb3f5884516)
--- scripts/lib/devtool/standard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/lib/devtool/standard.py +1 -1
@@ -593,7 +593,7 @@ def modify(args, config, basepath, workspace): f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (pn, srctree)) if bb.data.inherits_class('kernel', rd): - f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout do_fetch do_unpack"\n') + f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout do_fetch do_unpack do_patch"\n') if initial_rev: f.write('\n# initial_rev: %s\n' % initial_rev) for commit in commits:
Signature · 1 line
1.7.9.5
PATCH 31/40 devtool: upgrade: fix removing other recipes from workspace on reset
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
If you did a "devtool add" followed by "devtool upgrade" and then did a "devtool reset" on the recipe you upgraded, the first recipe would also be deleted from the workspace - this was because we were erroneously adding the entire "recipes" subdirectory and its contents to be tracked for removal on reset. Remove the unnecessary call to os.path.dirname() that caused this.
(From OE-Core master rev: 65354e066f87df7d3138adceb22d6a05d1685904)
--- scripts/lib/devtool/standard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/lib/devtool/standard.py +1 -1
@@ -456,7 +456,7 @@ def _add_md5(config, recipename, filename): f.write('%s|%s|%s\n' % (recipename, os.path.relpath(fn, config.workspace_path), md5)) if os.path.isdir(filename): - for root, _, files in os.walk(os.path.dirname(filename)): + for root, _, files in os.walk(filename): for f in files: addfile(os.path.join(root, f)) else:
Signature · 1 line
1.7.9.5
PATCH 32/40 devtool: upgrade: fix updating PV and SRCREV
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
This code was clearly never tested. Fix the following issues:
* Actually set SRCREV if it's been specified
* Enable history tracking and reparse so that we handle if variables are set in an inc file next to the recipe
* Use a more accurate check for PV being in the recipe which will work if it's in an inc file next to the recipe
(From OE-Core master rev: 8b8f04226ebf464fa61c05ca7af7c6cbda392339)
--- scripts/lib/devtool/upgrade.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-)
scripts/lib/devtool/upgrade.py +20 -14
@@ -91,15 +91,13 @@ def _remove_patch_dirs(recipefolder): for d in dirs: shutil.rmtree(os.path.join(root,d)) -def _recipe_contains(rf, var): - import re - found = False - with open(rf) as f: - for line in f: - if re.match("^%s.*=.*" % var, line): - found = True - break - return found +def _recipe_contains(rd, var): + rf = rd.getVar('FILE', True) + varfiles = oe.recipeutils.get_var_files(rf, [var], rd) + for var, fn in varfiles.iteritems(): + if fn and fn.startswith(os.path.dirname(rf) + os.sep): + return True + return False def _rename_recipe_dirs(oldpv, newpv, path): for root, dirs, files in os.walk(path):
@@ -257,7 +255,7 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin return (rev, md5, sha256) -def _create_new_recipe(newpv, md5, sha256, workspace, rd): +def _create_new_recipe(newpv, md5, sha256, srcrev, workspace, tinfoil, rd): """Creates the new recipe under workspace""" crd = rd.createCopy()
@@ -271,8 +269,16 @@ def _create_new_recipe(newpv, md5, sha256, workspace, rd): newpv = oldpv fullpath = _rename_recipe_files(bpn, oldpv, newpv, path) - if _recipe_contains(fullpath, 'PV') and newpv != oldpv: - oe.recipeutils.patch_recipe(d, fullpath, {'PV':newpv}) + newvalues = {} + if _recipe_contains(rd, 'PV') and newpv != oldpv: + newvalues['PV'] = newpv + + if srcrev: + newvalues['SRCREV'] = srcrev + + if newvalues: + rd = oe.recipeutils.parse_recipe(fullpath, None, tinfoil.config_data) + oe.recipeutils.patch_recipe(rd, fullpath, newvalues) if md5 and sha256: # Unfortunately, oe.recipeutils.patch_recipe cannot update flags.
@@ -294,7 +300,7 @@ def upgrade(args, config, basepath, workspace): if reason: raise DevtoolError(reason) - tinfoil = setup_tinfoil(basepath=basepath) + tinfoil = setup_tinfoil(basepath=basepath, tracking=True) rd = parse_recipe(config, tinfoil, args.recipename, True) if not rd:
@@ -316,7 +322,7 @@ def upgrade(args, config, basepath, workspace): rev2, md5, sha256 = _extract_new_source(args.version, args.srctree, args.no_patch, args.srcrev, args.branch, args.keep_temp, tinfoil, rd) - rf = _create_new_recipe(args.version, md5, sha256, config.workspace_path, rd) + rf = _create_new_recipe(args.version, md5, sha256, args.srcrev, config.workspace_path, tinfoil, rd) except bb.process.CmdError as e: _upgrade_error(e, rf, args.srctree) except DevtoolError as e:
Signature · 1 line
1.7.9.5
PATCH 33/40 devtool: upgrade: remove erroneous error when not renaming recipe
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
If we're upgrading a git recipe the recipe file usually won't need renaming; for some unknown reason we were throwing an error here which isn't correct.
(From OE-Core master rev: 656348dff9bc9dd1cafc8fff11e5e374e3667f0f)
--- scripts/lib/devtool/upgrade.py | 1 - 1 file changed, 1 deletion(-)
scripts/lib/devtool/upgrade.py +0 -1
@@ -117,7 +117,6 @@ def _rename_recipe_file(bpn, oldpv, newpv, path): recipe = "%s_git.bb" % bpn if os.path.isfile(os.path.join(path, recipe)): newrecipe = recipe - raise DevtoolError("Original recipe not found on workspace") return os.path.join(path, newrecipe) def _rename_recipe_files(bpn, oldpv, newpv, path):
Signature · 1 line
1.7.9.5
PATCH 34/40 devtool: upgrade: fetch remote repository before checking out new revision
In reply to Robert YangFrom: Paul Eggleton <[email protected]>
If we're upgrading a recipe that fetches from git, and we've simply fetched a tarball of the repo instead of directly from the upstream repo (this can happen if you have PREMIRRORS set up as in poky with a core recipe, e.g. kernelshark) then we won't have any new revisions, and the checkout will fail with "fatal: reference is not a tree: <hash>". To avoid this, do a "git fetch" before checking out the new revision.
(From OE-Core master rev: c4daebf3fe797a8063dcbc2ab229be2fbedc8134)
--- scripts/lib/devtool/upgrade.py | 1 + 1 file changed, 1 insertion(+)
scripts/lib/devtool/upgrade.py +1 -0
@@ -199,6 +199,7 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin if srcrev: rev = srcrev if uri.startswith('git://'): + __run('git fetch') __run('git checkout %s' % rev) __run('git tag -f devtool-base-new') md5 = None
Signature · 1 line
1.7.9.5
PATCH 35/40 toolchain-scripts.bbclass: unset command_not_found_handle
In reply to Robert YangFrom: Fang Jia <[email protected]>
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and running a bogus linux command (for example "asd"), a core dump of python is usually generated.
Unset the command_not_found_handle to fix it.
(From OE-Core master rev: 473ccbebb426df757adb8955eaa5e191d88180d1)
--- meta/classes/toolchain-scripts.bbclass | 1 + 1 file changed, 1 insertion(+)
meta/classes/toolchain-scripts.bbclass +1 -0
@@ -32,6 +32,7 @@ toolchain_create_sdk_env_script () { echo 'export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"' >> $script echo "export OECORE_ACLOCAL_OPTS=\"-I $sdkpathnative/usr/share/aclocal\"" >> $script echo "export PYTHONHOME=$sdkpathnative$prefix" >> $script + echo 'unset command_not_found_handle' >> $script toolchain_shared_env_script }
Signature · 1 line
1.7.9.5
PATCH 36/40 autotools: Allow recipe-individual configure scripts
In reply to Robert YangFrom: Jens Rehsack <[email protected]>
OpenJDK-8 has it's configure script at common/autotools - which will cause the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike fails heavily.
Also - other configure mechanisms can be supported more similar (see how pkgsrc manages different ones ...)
(From OE-Core master rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)
--- meta/classes/autotools.bbclass | 43 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-)
meta/classes/autotools.bbclass +22 -21
@@ -77,16 +77,20 @@ CONFIGUREOPTS = " --build=${BUILD_SYS} \ ${@append_libtool_sysroot(d)}" CONFIGUREOPT_DEPTRACK ?= "--disable-dependency-tracking" +AUTOTOOLS_SCRIPT_PATH ?= "${S}" +CONFIGURE_SCRIPT ?= "${AUTOTOOLS_SCRIPT_PATH}/configure" + +AUTOTOOLS_AUXDIR ?= "${AUTOTOOLS_SCRIPT_PATH}" oe_runconf () { - cfgscript="${S}/configure" + cfgscript="${CONFIGURE_SCRIPT}" if [ -x "$cfgscript" ] ; then bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@" set +e ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@" if [ "$?" != "0" ]; then echo "Configure failed. The contents of all config.log files follows to aid debugging" - find ${S} -ignore_readdir_race -name config.log -print -exec cat {} \; + find ${B} -ignore_readdir_race -name config.log -print -exec cat {} \; die "oe_runconf failed" fi set -e
@@ -95,8 +99,6 @@ oe_runconf () { fi } -AUTOTOOLS_AUXDIR ?= "${S}" - CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate" autotools_preconfigure() {
@@ -134,7 +136,7 @@ do_configure[postfuncs] += "autotools_postconfigure" ACLOCALDIR = "${B}/aclocal-copy" python autotools_copy_aclocals () { - s = d.getVar("S", True) + s = d.getVar("AUTOTOOLS_SCRIPT_PATH", True) if not os.path.exists(s + "/configure.in") and not os.path.exists(s + "/configure.ac"): if not d.getVar("AUTOTOOLS_COPYACLOCAL", False): return
@@ -228,13 +230,13 @@ autotools_do_configure() { ( for ac in `find ${S} -ignore_readdir_race -name configure.in -o -name configure.ac`; do rm -f `dirname $ac`/configure done ) - if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then + if [ -e ${AUTOTOOLS_SCRIPT_PATH}/configure.in -o -e ${AUTOTOOLS_SCRIPT_PATH}/configure.ac ]; then olddir=`pwd` - cd ${S} + cd ${AUTOTOOLS_SCRIPT_PATH} ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" if [ x"${acpaths}" = xdefault ]; then acpaths= - for i in `find ${S} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \ + for i in `find ${AUTOTOOLS_SCRIPT_PATH} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \ grep -v 'acinclude.m4' | grep -v 'aclocal-copy' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do acpaths="$acpaths -I $i" done
@@ -265,21 +267,20 @@ autotools_do_configure() { bbnote Executing glib-gettextize --force --copy echo "no" | glib-gettextize --force --copy fi - else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then + elif grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then # We'd call gettextize here if it wasn't so broken... - cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ - if [ -d ${S}/po/ ]; then - cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ - if [ ! -e ${S}/po/remove-potcdate.sin ]; then - cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/ - fi + cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ + if [ -d ${S}/po/ ]; then + cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ + if [ ! -e ${S}/po/remove-potcdate.sin ]; then + cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/ fi - for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do - for j in `find ${S} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do - rm $j - done - done fi + for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do + for j in `find ${S} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do + rm $j + done + done fi mkdir -p m4 if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
@@ -290,7 +291,7 @@ autotools_do_configure() { ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed." cd $olddir fi - if [ -e ${S}/configure ]; then + if [ -e ${CONFIGURE_SCRIPT} ]; then oe_runconf else bbnote "nothing to configure"
Signature · 1 line
1.7.9.5
PATCH 37/40 prelink: Fix various prelink issues on IA32, ARM, and MIPS.
In reply to Robert YangFrom: Mark Hatle <[email protected]>
Fix the following issues:
IA32 / ARM - Resync to glibc-2.22, fix a mismatch w/ glibc's ld.so MIPS - Ignore the new SHT_MIPS_ABIFLAGS
ARM - Fix missing ARM IFUNC support chunk
Also upstream prelink project no longer has a 'trunk' directory.
(From OE-Core master rev: c725328f2ab5c9b220c552ed37c0d24b098a218d)
--- meta/recipes-devtools/prelink/prelink_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-devtools/prelink/prelink_git.bb +2 -2
@@ -8,7 +8,7 @@ and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRCREV = "cdee5a4dd226cc5e9f30f370067a9031f398ef3c" +SRCREV = "927979bbd115eeb8a75db3231906ef6aca4c4eb6" PV = "1.0+git${SRCPV}" #
@@ -35,7 +35,7 @@ SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \ TARGET_OS_ORIG := "${TARGET_OS}" OVERRIDES_append = ":${TARGET_OS_ORIG}" -S = "${WORKDIR}/git/trunk" +S = "${WORKDIR}/git" inherit autotools
Signature · 1 line
1.7.9.5
PATCH 38/40 gcc: Update default Power GCC settings to use secure-plt
In reply to Robert YangFrom: Mark Hatle <[email protected]>
The gcc default, bss-plt, will cause errors when using the prelinker. All other distributions that I am aware of are using the the secure-plt. For an explanation of the differences, the gcc docs:
Current PowerPC GCC accepts a `-msecure-plt' option that generates code capable of using a newer PLT and GOT layout that has the security advantage of no executable section ever needing to be writable and no writable section ever being executable. PowerPC ld will generate this layout, including stubs to access the PLT, if all input files (including startup and static libraries) were compiled with -msecure-plt'. --bss-plt' forces the old BSS PLT (and GOT layout) which can give slightly better performance.
The security of the new PLT and ability to run the prelinker outweigh any performance penalty.
The secure-plt is enabled by default. The old bss-plt can be enabled by selecting 'bssplt' in the DISTRO_FEATURES.
(From OE-Core master rev: 70c55aada1101a5c687cdaa79f370fa4530b39d9)
--- meta/recipes-devtools/gcc/gcc-common.inc | 5 +++++ meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 + meta/recipes-devtools/gcc/gcc-cross-initial.inc | 1 + 3 files changed, 7 insertions(+)
meta/recipes-devtools/gcc/gcc-common.inc +5 -0
@@ -25,6 +25,11 @@ def get_gcc_mips_plt_setting(bb, d): return "--with-mips-plt" return "" +def get_gcc_ppc_plt_settings(bb, d): + if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc' ] and not bb.utils.contains('DISTRO_FEATURES', 'bssplt', True, False, d): + return "--enable-secureplt" + return "" + def get_long_double_setting(bb, d): if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'glibc' ]: return "--with-long-double-128"
meta/recipes-devtools/gcc/gcc-configure-common.inc +1 -0
@@ -47,6 +47,7 @@ EXTRA_OECONF = "\ ${EXTRA_OECONF_GCC_FLOAT} \ ${EXTRA_OECONF_PATHS} \ ${@get_gcc_mips_plt_setting(bb, d)} \ + ${@get_gcc_ppc_plt_settings(bb, d)} \ ${@get_long_double_setting(bb, d)} \ ${@get_gcc_multiarch_setting(bb, d)} \ "
meta/recipes-devtools/gcc/gcc-cross-initial.inc +1 -0
@@ -26,6 +26,7 @@ EXTRA_OECONF = "\ ${EXTRA_OECONF_INITIAL} \ ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \ ${EXTRA_OECONF_GCC_FLOAT} \ + ${@get_gcc_ppc_plt_settings(bb, d)} \ " EXTRA_OECONF += "--with-native-system-header-dir=${SYSTEMHEADERS}"
Signature · 1 line
1.7.9.5
PATCH 39/40 glibc: Fix ld.so / prelink interface for ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA
In reply to Robert YangFrom: Mark Hatle <[email protected]>
A bug in glibc 2.22's ld.so interface for the prelink support causes the displayed values to be incorrect. The included path fixes this issue.
Clear ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for prelink
prelink runs ld.so with the environment variable LD_TRACE_PRELINKING set to dump the relocation type class from _dl_debug_bindings. prelink has the following relocation type classes:
where ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA has a conflict with RTYPE_CLASS_TLS.
Since prelink doesn't use ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA, we should clear the ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA bit when the DL_DEBUG_PRELINK bit is set.
(From OE-Core master rev: 12c86bdcc60c54e587a896b0dceb8bb6cc9ff7e3)
--- ...TYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch | 84 ++++++++++++++++++++ meta/recipes-core/glibc/glibc_2.22.bb | 1 + 2 files changed, 85 insertions(+) create mode 100644 meta/recipes-core/glibc/glibc/0028-Clear-ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch
meta/recipes-core/glibc/glibc/0028-Clear-ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch new file +84 -0
@@ -0,0 +1,84 @@ +From cadaf1336332ca7bcdfe4a400776e5782a20e26d Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" <[email protected]> +Date: Wed, 28 Oct 2015 07:49:44 -0700 +Subject: [PATCH] Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink + +prelink runs ld.so with the environment variable LD_TRACE_PRELINKING +set to dump the relocation type class from _dl_debug_bindings. prelink +has the following relocation type classes: + + #define RTYPE_CLASS_VALID 8 + #define RTYPE_CLASS_PLT (8|1) + #define RTYPE_CLASS_COPY (8|2) + #define RTYPE_CLASS_TLS (8|4) + +where ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA has a conflict with +RTYPE_CLASS_TLS. + +Since prelink only uses ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY +bits, we should clear the other bits when the DL_DEBUG_PRELINK bit is +set. + + [BZ #19178] + * elf/dl-lookup.c (RTYPE_CLASS_VALID): New. + (RTYPE_CLASS_PLT): Likewise. + (RTYPE_CLASS_COPY): Likewise. + (RTYPE_CLASS_TLS): Likewise. + (_dl_debug_bindings): Use RTYPE_CLASS_TLS and RTYPE_CLASS_VALID + to set relocation type class for DL_DEBUG_PRELINK. Keep only + ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY bits for + DL_DEBUG_PRELINK. + +Upstream-Status: submitted (https://sourceware.org/bugzilla/show_bug.cgi?id=19178) + +Signed-off-by: Mark Hatle <[email protected]> +--- + elf/dl-lookup.c | 21 +++++++++++++++++++-- + 1 file changed, 19 insertions(+), 2 deletions(-) + +diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c +index 581fb20..6ae6cc3 100644 +--- a/elf/dl-lookup.c ++++ b/elf/dl-lookup.c +@@ -1016,6 +1016,18 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, + #ifdef SHARED + if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK) + { ++/* ELF_RTYPE_CLASS_XXX must match RTYPE_CLASS_XXX used by prelink with ++ LD_TRACE_PRELINKING. */ ++#define RTYPE_CLASS_VALID 8 ++#define RTYPE_CLASS_PLT (8|1) ++#define RTYPE_CLASS_COPY (8|2) ++#define RTYPE_CLASS_TLS (8|4) ++#if ELF_RTYPE_CLASS_PLT != 0 && ELF_RTYPE_CLASS_PLT != 1 ++# error ELF_RTYPE_CLASS_PLT must be 0 or 1! ++#endif ++#if ELF_RTYPE_CLASS_COPY != 0 && ELF_RTYPE_CLASS_COPY != 2 ++# error ELF_RTYPE_CLASS_COPY must be 0 or 2! ++#endif + int conflict = 0; + struct sym_val val = { NULL, NULL }; + +@@ -1071,12 +1083,17 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, + + if (value->s) + { ++ /* Keep only ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY ++ bits since since prelink only uses them. */ ++ type_class &= ELF_RTYPE_CLASS_PLT | ELF_RTYPE_CLASS_COPY; + if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info) + == STT_TLS)) +- type_class = 4; ++ /* Clear the RTYPE_CLASS_VALID bit in RTYPE_CLASS_TLS. */ ++ type_class = RTYPE_CLASS_TLS & ~RTYPE_CLASS_VALID; + else if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info) + == STT_GNU_IFUNC)) +- type_class |= 8; ++ /* Set the RTYPE_CLASS_VALID bit. */ ++ type_class |= RTYPE_CLASS_VALID; + } + + if (conflict +-- +1.9.3 +
meta/recipes-core/glibc/glibc_2.22.bb +1 -0
@@ -40,6 +40,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0027-eglibc-use-option-groups-Conditionally-exclude-c-tes.patch \ file://nscd-no-bash.patch \ file://strcoll-Remove-incorrect-STRDIFF-based-optimization-.patch \ + file://0028-Clear-ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch \ " SRC_URI += "\
Signature · 1 line
1.7.9.5
PATCH 40/40 cairo: fix license for cairo-script-interpreter
In reply to Robert YangFrom: Andre McCurdy <[email protected]>
Without an explicit license, cairo-script-interpreter inherits the default LICENSE and isn't packaged in builds which blacklist GPLv3.
(From OE-Core master rev: cb8f84218b065fed88a8c36f3c78065e8ab726bf)
--- meta/recipes-graphics/cairo/cairo.inc | 3 +++ 1 file changed, 3 insertions(+)
meta/recipes-graphics/cairo/cairo.inc +3 -0
@@ -9,11 +9,14 @@ Extension." HOMEPAGE = "http://cairographics.org" BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" + LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+" LICENSE_${PN} = "MPL-1 & LGPLv2.1" LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" +LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" LICENSE_${PN}-perf-utils = "GPLv3+" + X11DEPENDS = "virtual/libx11 libsm libxrender libxext" DEPENDS = "libpng fontconfig pixman glib-2.0 zlib"
Signature · 1 line
1.7.9.5
Quoted 8 lines · Robert Yang
The following changes since commit
224bcc2ead676600bcd9e290ed23d9b2ed2f481e:rpcbind: Security Advisory - rpcbind - CVE-2015-7236 (2015-12-08 00:18:12 -0800)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribrbt/jethro-next
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/jethro-next
Appended a patch to the thread, there are 41 commits in the repo.
commit c0a13c410393ce51a2a55e36a0913c0136058bdc
Author: Hongxu Jia <[email protected]> Date: Mon Nov 2 16:33:27 2015 +0800
logrotate: do not move binary logrotate to /usr/bin
// Robert
Quoted 124 lines
Andre McCurdy (2):
directfb.inc: force bfd linker for armv7a
cairo: fix license for cairo-script-interpreterFang Jia (1):
toolchain-scripts.bbclass: unsetcommand_not_found_handleJean-Francois Dagenais (1):
toolchain-shar-relocate: don't assume last state ofenv_setup_script
is goodJens Rehsack (1):
autotools: Allow recipe-individual configure scriptsKhem Raj (1):
libxcb: Add a workaround for gcc5 bug on mipsLi Xin (1):
glibc: Backported a patch to fix glibc's bug(18589)Mark Hatle (4):
populate_sdk_ext.bbclass: Be more permissive on the name of the
buildtools
prelink: Fix various prelink issues on IA32, ARM, and MIPS.
gcc: Update default Power GCC settings to use secure-plt
glibc: Fix ld.so / prelink interface for
ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATAMartin Jansa (9):
icu: force arm mode
guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable
thumb where it fails for qemuarm
libunwind: fix build for qemuarm gstreamer1.0-plugins-{base,good}: update PACKAGECONFIGs gstreamer1.0-plugins-bad: fix dependencies for uvch264 PACKAGECONFIG gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one
for v4l2 and libv4l2
gst-plugins-bad: add PACKAGECONFIGs for voamrwbenc, voaacenc,
resindvd
package_manager.py: defineinfo_dirandstatus_filewhen OPKGLIBDIR
isn't the default
texinfo: don't create dependency on INHERIT variablePaul Eggleton (16):
classes/distrodata: splitSRC_URIproperly before determining type oeqa/selftest/devtool: fix test if build directory is not inside
COREBASE
oeqa/selftest/layerappend: fix test if build directory is not inside
COREBASE
classes/metadata_scm: fix git errors showing up on non-git
repositories
classes/license: fix intermittent license collection warning classes/populate_sdk_ext: tidy up preparation log file writing classes/populate_sdk_ext: make it clear when SDK installation has
failed
classes/populate_sdk_ext: tweak reporting of workspace exclusion classes/populate_sdk_ext: fail ifSDK_ARCH!=BUILD_ARCHtoolchain-shar-extract.sh: proper fix for additional env setup
scripts
scripts/gen-lockedsig-cache: improve outputtoolchain-shar-extract.sh: do not allow $ in paths for ext SDK
devtool: upgrade: fix removing other recipes from workspace on reset
devtool: upgrade: fix updating PV and SRCREV
devtool: upgrade: remove erroneous error when not renaming recipe
devtool: upgrade: fetch remote repository before checking out new
revisionRandy Witt (1):
uninative.bbclass: Choose the correct loader based onBUILD_ARCHRoss Burton (2):
libsdl2: require GLES when building Wayland support
openssl: sanity check that the bignum module is presentTzu-Jung Lee (1):
devtool: includedo_patchin SRCTREECOVEREDTASKSmeta/classes/autotools.bbclass | 43 +-- meta/classes/distrodata.bbclass | 4 +- meta/classes/license.bbclass | 1 + meta/classes/metadata_scm.bbclass | 20 +- meta/classes/populate_sdk_ext.bbclass | 15 +- meta/classes/toolchain-scripts.bbclass | 1 + meta/classes/uninative.bbclass | 2 +- meta/files/toolchain-shar-extract.sh | 15 +- meta/lib/oe/copy_buildsystem.py | 5 +- meta/lib/oe/package_manager.py | 19 ++ meta/lib/oeqa/selftest/devtool.py | 2 +- meta/lib/oeqa/selftest/layerappend.py | 9 +- .../recipes-connectivity/openssl/openssl_1.0.2d.bb | 10 + ...TYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patch | 84 +++++ ...ove-incorrect-STRDIFF-based-optimization-.patch | 323 ++++++++++++++++++++ meta/recipes-core/glibc/glibc_2.22.bb | 2 + meta/recipes-devtools/gcc/gcc-common.inc | 5 + meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 + meta/recipes-devtools/gcc/gcc-cross-initial.inc | 1 + meta/recipes-devtools/gcc/gcc_4.9.bb | 5 +- meta/recipes-devtools/guile/guile_2.0.11.bb | 4 + meta/recipes-devtools/opensp/opensp_1.5.2.bb | 4 + meta/recipes-devtools/prelink/prelink_git.bb | 4 +- meta/recipes-extended/mailx/mailx_12.5-5.bb | 5 + meta/recipes-extended/texinfo/texinfo_6.0.bb | 2 +- meta/recipes-graphics/cairo/cairo.inc | 3 + meta/recipes-graphics/directfb/directfb.inc | 3 + meta/recipes-graphics/libsdl2/libsdl2_2.0.3.bb | 2 +- meta/recipes-graphics/xorg-lib/libxcb.inc | 4 +- .../libxcb/gcc-mips-pr68302-mips-workaround.patch | 22 ++ .../gstreamer/gstreamer1.0-libav_1.4.5.bb | 3 + .../gstreamer/gstreamer1.0-plugins-bad.inc | 15 +- .../gstreamer/gstreamer1.0-plugins-base.inc | 7 +- .../gstreamer/gstreamer1.0-plugins-good.inc | 14 +- meta/recipes-support/icu/icu_55.1.bb | 4 + ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch | 61 ++++ meta/recipes-support/libunwind/libunwind_1.1.bb | 5 + scripts/gen-lockedsig-cache | 13 +- scripts/lib/devtool/standard.py | 4 +- scripts/lib/devtool/upgrade.py | 36 ++- 40 files changed, 686 insertions(+), 96 deletions(-)create mode 100644
meta/recipes-core/glibc/glibc/0028-Clear-ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA-for-prel.patchcreate mode 100644meta/recipes-core/glibc/glibc/strcoll-Remove-incorrect-STRDIFF-based-optimization-.patchcreate mode 100644meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patchcreate mode 100644meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch