From a5c52ff0bb57fccc2dcd3bd10647d2fa77ddf8c3 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Fri, 23 Nov 2018 10:55:50 +1300 Subject: poky: thud refresh 87e3a9739d..1cab405d88 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update poky to thud HEAD. Adrian Bunk (1): archiver.bbclass: Fix COPYLEFT_LICENSE_{IN, EX}CLUDE Adrian Freihofer (2): systemd: fix PN-container package splitting devtool: fix target-deploy --strip Alejandro Enedino Hernandez Samaniego (1): python: Adds instructions to the manifest file Alexander Kanavin (3): meson: do not manipulate the environment when looking for python via pkg-config openssl: update to 1.1.1a libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION = "0" Alexey Brodkin (1): gdb: Remove long ago upstreamed patch André Draszik (1): linux-firmware: better packaging for TI wl12xx & wl18xx firmwares Anuj Mittal (13): maintainers.inc: update Intel owners gst-plugins-bad: add PACKAGECONFIG for msdk gstreamer1.0: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-plugins-base: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-plugins-good: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-plugins-bad: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-plugins-ugly: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-libav: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-vaapi: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-rtsp-server: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-omx: upgrade 1.14.3 -> 1.14.4 gstreamer1.0-python: upgrade 1.14.3 -> 1.14.4 gst-validate: upgrade 1.14.2 -> 1.14.4 Armin Kuster (1): gnutls: update to 3.6.4 Bruce Ashfield (13): linux-yocto: remove obselete options from lxc config linux-yocto/4.14: configuration cleanups linux-yocto/4.18: -rt sync and config cleanups linux-yocto/tiny: switch default branch to standard/tiny/base linux-yocto/tiny: restore qemuarm support linux-yocto/4.18: bug fixes and configuration tweaks linux-yocto/4.18: update to v4.18.17 linux-yocto/4.14: update to v4.14.79 linux-yocto/4.18: integrate CVE fixes linux-yocto/4.18: update to v4.18.20 linux-yocto/4.18: update to v4.18.21 linux-yocto: configuration updates (virtio and tpm) linux-yocto: correct qemumips64el definition Carlos Rafael Giani (10): gstreamer1.0: upgrade to version 1.14.3 gstreamer1.0-plugin-base: upgrade to version 1.14.3 gstreamer1.0-plugin-good: upgrade to version 1.14.3 gstreamer1.0-plugin-bad: upgrade to version 1.14.3 gstreamer1.0-plugin-ugly: upgrade to version 1.14.3 gstreamer1.0-libav: upgrade to version 1.14.3 gstreamer1.0-rtsp-server: upgrade to version 1.14.3 gstreamer1.0-vaapi: upgrade to version 1.14.3 gstreamer1.0-omx: upgrade to version 1.14.3 gstreamer1.0-python: upgrade to version 1.14.3 Changhyeok Bae (2): iproute2: 4.18.0 -> 4.19.0 ethtool: 4.17 -> 4.19 Christophe PRIOUZEAU (1): openssl: correct bad path on package preprocess Douglas Royds (4): boost-context: Reproducibility: Set .file section for all *_elf_gas.S files reproducible: Refactor: Break out fixed_source_date_epoch() function reproducible: Don't look for youngest file when no source tarball ptest: Reproducibility: Take control of umask Eric Chanudet (1): licence: Add license file CC-BY-SA-4.0 Hongxu Jia (6): elfutils: 0.174 -> 0.175 gnupg: upgrade 2.2.9 -> 2.2.10 gnupg: upgrade 2.2.10 -> 2.2.11 libgcrypt: upgrade 1.8.3 -> 1.8.4 ghostscript: 9.25 -> 9.26 go 1.9/1.11: fix textrel qa warning for non mips arch Joshua Watt (3): meta/icecc.bbclass: Move system blacklist to variables meta/icecc.bbclass: Update system blacklists classes/icecc.bbclass: Fix ccache disable Kai Kang (1): multilib_script: fix packages split Khem Raj (3): valgrind: Skip vgpreload_memcheck shared object from stripping populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf local.conf.sample: Update the sample config as per new migration manual Ming Liu (1): image.bbclass: fix a wrong position blank Mingli Yu (2): mdadm: improve the run-ptest nspr: improve reproducibility Niko Mauno (1): opkg-utils: Fix update-alternatives link relocation Otavio Salvador (1): linux-firmware: Bump revision to 1baa348 Paul Eggleton (1): socat: fix LICENSE Peter Kjellerstedt (3): meson: Correct use of the _append operator bitbake: bitbake-diffsigs: Merge with bitbake-dumpsig bitbake: bitbake-diffsigs: Support recursive deps with signature files Richard Purdie (9): meson: Disable rpath stripping at install time scripts/runqemu: Fix logic error causing failures with MACHINE from the environment meta-selftest/error: Cleanup large trailing whitespace bitbake: server/process: Make lockfile handling clearer bitbake: server/process: Show the last 60 log lines, not the last 10 bitbake: server/process: Show last 60 lines of the log if the server didn't start poky.conf: Update the distros we test against on the autobuilder poky: Update version to 2.6.1 build-appliance-image: Update to thud head revision Robert Yang (5): classes: Remove tab indentations in python code recipes: Remove tab indentations in python code bugzilla.bbclass: Remove it since obsoleted sstate.bbclass: Only remove sstate file when task is existed bitbake: server/process: print a message when no logfile Ross Burton (12): cpio: fix crash when appending to archives image_types: use cpio-native to build cpio images libtasn1: no need to inherit binconfig binconfig: only try to mangles files piglit: add missing waffle-bin dependency ruby: upgrade 2.5.1 -> 2.5.3 insane: Clarify GNU_HASH warning patchreview: Various fixes/improvements python3: don't cripple target distutils python3: drop redundant patch bitbake: layerindex: don't use shell=True when cloning bitbake: fetch: don't use shell=True when listing ar files Zheng Ruoqin (2): nss: Fix SHA_HTONL bug for arm 32be. createrepo-c: Fix setup of logging (log domains) Change-Id: I025dd27f44e57af38abff110ebc331e371bc461b Signed-off-by: Brad Bishop --- poky/meta/classes/archiver.bbclass | 3 - poky/meta/classes/binconfig.bbclass | 6 +- poky/meta/classes/bugzilla.bbclass | 187 --------------------------- poky/meta/classes/crosssdk.bbclass | 4 +- poky/meta/classes/icecc.bbclass | 41 ++++-- poky/meta/classes/image.bbclass | 2 +- poky/meta/classes/image_types.bbclass | 1 + poky/meta/classes/insane.bbclass | 2 +- poky/meta/classes/libc-package.bbclass | 10 +- poky/meta/classes/license.bbclass | 2 +- poky/meta/classes/linux-kernel-base.bbclass | 4 +- poky/meta/classes/multilib_script.bbclass | 4 +- poky/meta/classes/populate_sdk_ext.bbclass | 5 + poky/meta/classes/ptest.bbclass | 1 + poky/meta/classes/reproducible_build.bbclass | 22 ++-- poky/meta/classes/siteconfig.bbclass | 18 +-- poky/meta/classes/sstate.bbclass | 5 +- 17 files changed, 76 insertions(+), 241 deletions(-) delete mode 100644 poky/meta/classes/bugzilla.bbclass (limited to 'poky/meta/classes') diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass index 0a9fe4fd1..e321a0e36 100644 --- a/poky/meta/classes/archiver.bbclass +++ b/poky/meta/classes/archiver.bbclass @@ -23,9 +23,6 @@ # COPYLEFT_RECIPE_TYPES = 'target' # -# Don't filter the license by default -COPYLEFT_LICENSE_INCLUDE ?= '' -COPYLEFT_LICENSE_EXCLUDE ?= '' # Create archive for all the recipe types COPYLEFT_RECIPE_TYPES ?= 'target native nativesdk cross crosssdk cross-canadian' inherit copyleft_filter diff --git a/poky/meta/classes/binconfig.bbclass b/poky/meta/classes/binconfig.bbclass index 39c3e2b17..133b9537c 100644 --- a/poky/meta/classes/binconfig.bbclass +++ b/poky/meta/classes/binconfig.bbclass @@ -31,7 +31,7 @@ BINCONFIG_GLOB ?= "*-config" PACKAGE_PREPROCESS_FUNCS += "binconfig_package_preprocess" binconfig_package_preprocess () { - for config in `find ${PKGD} -name '${BINCONFIG_GLOB}'`; do + for config in `find ${PKGD} -type f -name '${BINCONFIG_GLOB}'`; do sed -i \ -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \ -e 's:${STAGING_LIBDIR}:${libdir}:g;' \ @@ -40,7 +40,7 @@ binconfig_package_preprocess () { -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \ $config done - for lafile in `find ${PKGD} -name "*.la"` ; do + for lafile in `find ${PKGD} -type f -name "*.la"` ; do sed -i \ -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \ -e 's:${STAGING_LIBDIR}:${libdir}:g;' \ @@ -54,7 +54,7 @@ binconfig_package_preprocess () { SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess" binconfig_sysroot_preprocess () { - for config in `find ${S} -name '${BINCONFIG_GLOB}'` `find ${B} -name '${BINCONFIG_GLOB}'`; do + for config in `find ${S} -type f -name '${BINCONFIG_GLOB}'` `find ${B} -type f -name '${BINCONFIG_GLOB}'`; do configname=`basename $config` install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} sed ${@get_binconfig_mangle(d)} $config > ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname diff --git a/poky/meta/classes/bugzilla.bbclass b/poky/meta/classes/bugzilla.bbclass deleted file mode 100644 index 8909c2734..000000000 --- a/poky/meta/classes/bugzilla.bbclass +++ /dev/null @@ -1,187 +0,0 @@ -# -# Small event handler to automatically open URLs and file -# bug reports at a bugzilla of your choiche -# it uses XML-RPC interface, so you must have it enabled -# -# Before using you must define BUGZILLA_USER, BUGZILLA_PASS credentials, -# BUGZILLA_XMLRPC - uri of xmlrpc.cgi, -# BUGZILLA_PRODUCT, BUGZILLA_COMPONENT - a place in BTS for build bugs -# BUGZILLA_VERSION - version against which to report new bugs -# - -def bugzilla_find_bug_report(debug_file, server, args, bugname): - args['summary'] = bugname - bugs = server.Bug.search(args) - if len(bugs['bugs']) == 0: - print >> debug_file, "Bugs not found" - return (False,None) - else: # silently pick the first result - print >> debug_file, "Result of bug search is " - print >> debug_file, bugs - status = bugs['bugs'][0]['status'] - id = bugs['bugs'][0]['id'] - return (not status in ["CLOSED", "RESOLVED", "VERIFIED"],id) - -def bugzilla_file_bug(debug_file, server, args, name, text, version): - args['summary'] = name - args['comment'] = text - args['version'] = version - args['op_sys'] = 'Linux' - args['platform'] = 'Other' - args['severity'] = 'normal' - args['priority'] = 'Normal' - try: - return server.Bug.create(args)['id'] - except Exception, e: - print >> debug_file, repr(e) - return None - -def bugzilla_reopen_bug(debug_file, server, args, bug_number): - args['ids'] = [bug_number] - args['status'] = "CONFIRMED" - try: - server.Bug.update(args) - return True - except Exception, e: - print >> debug_file, repr(e) - return False - -def bugzilla_create_attachment(debug_file, server, args, bug_number, text, file_name, log, logdescription): - args['ids'] = [bug_number] - args['file_name'] = file_name - args['summary'] = logdescription - args['content_type'] = "text/plain" - args['data'] = log - args['comment'] = text - try: - server.Bug.add_attachment(args) - return True - except Exception, e: - print >> debug_file, repr(e) - return False - -def bugzilla_add_comment(debug_file, server, args, bug_number, text): - args['id'] = bug_number - args['comment'] = text - try: - server.Bug.add_comment(args) - return True - except Exception, e: - print >> debug_file, repr(e) - return False - -addhandler bugzilla_eventhandler -bugzilla_eventhandler[eventmask] = "bb.event.MsgNote bb.build.TaskFailed" -python bugzilla_eventhandler() { - import glob - import xmlrpclib, httplib - - class ProxiedTransport(xmlrpclib.Transport): - def __init__(self, proxy, use_datetime = 0): - xmlrpclib.Transport.__init__(self, use_datetime) - self.proxy = proxy - self.user = None - self.password = None - - def set_user(self, user): - self.user = user - - def set_password(self, password): - self.password = password - - def make_connection(self, host): - self.realhost = host - return httplib.HTTP(self.proxy) - - def send_request(self, connection, handler, request_body): - connection.putrequest("POST", 'http://%s%s' % (self.realhost, handler)) - if self.user != None: - if self.password != None: - auth = "%s:%s" % (self.user, self.password) - else: - auth = self.user - connection.putheader("Proxy-authorization", "Basic " + base64.encodestring(auth)) - - event = e - data = e.data - name = bb.event.getName(event) - if name == "MsgNote": - # avoid recursion - return - - if name == "TaskFailed": - xmlrpc = data.getVar("BUGZILLA_XMLRPC") - user = data.getVar("BUGZILLA_USER") - passw = data.getVar("BUGZILLA_PASS") - product = data.getVar("BUGZILLA_PRODUCT") - compon = data.getVar("BUGZILLA_COMPONENT") - version = data.getVar("BUGZILLA_VERSION") - - proxy = data.getVar('http_proxy') - if (proxy): - import urllib2 - s, u, p, hostport = urllib2._parse_proxy(proxy) - transport = ProxiedTransport(hostport) - else: - transport = None - - server = xmlrpclib.ServerProxy(xmlrpc, transport=transport, verbose=0) - args = { - 'Bugzilla_login': user, - 'Bugzilla_password': passw, - 'product': product, - 'component': compon} - - # evil hack to figure out what is going on - debug_file = open(os.path.join(data.getVar("TMPDIR"),"..","bugzilla-log"),"a") - - file = None - bugname = "%(package)s-%(pv)s-autobuild" % { "package" : data.getVar("PN"), - "pv" : data.getVar("PV"), - } - log_file = glob.glob("%s/log.%s.*" % (event.data.getVar('T'), event.task)) - text = "The %s step in %s failed at %s for machine %s" % (e.task, data.getVar("PN"), data.getVar('DATETIME'), data.getVar('MACHINE') ) - if len(log_file) != 0: - print >> debug_file, "Adding log file %s" % log_file[0] - file = open(log_file[0], 'r') - log = file.read() - file.close(); - else: - print >> debug_file, "No log file found for the glob" - log = None - - (bug_open, bug_number) = bugzilla_find_bug_report(debug_file, server, args.copy(), bugname) - print >> debug_file, "Bug is open: %s and bug number: %s" % (bug_open, bug_number) - - # The bug is present and still open, attach an error log - if not bug_number: - bug_number = bugzilla_file_bug(debug_file, server, args.copy(), bugname, text, version) - if not bug_number: - print >> debug_file, "Couldn't acquire a new bug_numer, filing a bugreport failed" - else: - print >> debug_file, "The new bug_number: '%s'" % bug_number - elif not bug_open: - if not bugzilla_reopen_bug(debug_file, server, args.copy(), bug_number): - print >> debug_file, "Failed to reopen the bug #%s" % bug_number - else: - print >> debug_file, "Reopened the bug #%s" % bug_number - - if bug_number and log: - print >> debug_file, "The bug is known as '%s'" % bug_number - desc = "Build log for machine %s" % (data.getVar('MACHINE')) - if not bugzilla_create_attachment(debug_file, server, args.copy(), bug_number, text, log_file[0], log, desc): - print >> debug_file, "Failed to attach the build log for bug #%s" % bug_number - else: - print >> debug_file, "Created an attachment for '%s' '%s' '%s'" % (product, compon, bug_number) - else: - print >> debug_file, "Not trying to create an attachment for bug #%s" % bug_number - if not bugzilla_add_comment(debug_file, server, args.copy(), bug_number, text, ): - print >> debug_file, "Failed to create a comment the build log for bug #%s" % bug_number - else: - print >> debug_file, "Created an attachment for '%s' '%s' '%s'" % (product, compon, bug_number) - - # store bug number for oestats-client - if bug_number: - data.setVar('OESTATS_BUG_NUMBER', bug_number) -} - diff --git a/poky/meta/classes/crosssdk.bbclass b/poky/meta/classes/crosssdk.bbclass index 03b0c602c..fdaaac848 100644 --- a/poky/meta/classes/crosssdk.bbclass +++ b/poky/meta/classes/crosssdk.bbclass @@ -4,8 +4,8 @@ CLASSOVERRIDE = "class-crosssdk" MACHINEOVERRIDES = "" PACKAGE_ARCH = "${SDK_ARCH}" python () { - # set TUNE_PKGARCH to SDK_ARCH - d.setVar('TUNE_PKGARCH', d.getVar('SDK_ARCH')) + # set TUNE_PKGARCH to SDK_ARCH + d.setVar('TUNE_PKGARCH', d.getVar('SDK_ARCH')) } STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index b5a845774..2b189232c 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -33,7 +33,7 @@ BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_ ICECC_CARET_WORKAROUND ICECC_CFLAGS ICECC_ENV_VERSION \ ICECC_DEBUG ICECC_LOGFILE ICECC_REPEAT_RATE ICECC_PREFERRED_HOST \ ICECC_CLANG_REMOTE_CPP ICECC_IGNORE_UNVERIFIED ICECC_TEST_SOCKET \ - ICECC_ENV_DEBUG \ + ICECC_ENV_DEBUG ICECC_SYSTEM_PACKAGE_BL ICECC_SYSTEM_CLASS_BL \ " ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env" @@ -61,6 +61,31 @@ CXXFLAGS += "${ICECC_CFLAGS}" # Debug flags when generating environments ICECC_ENV_DEBUG ??= "" +# "system" recipe blacklist contains a list of packages that can not distribute +# compile tasks for one reason or the other. When adding new entry, please +# document why (how it failed) so that we can re-evaluate it later e.g. when +# there is new version +# +# libgcc-initial - fails with CPP sanity check error if host sysroot contains +# cross gcc built for another target tune/variant +# target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL +# prefix" error. +ICECC_SYSTEM_PACKAGE_BL += "\ + libgcc-initial \ + target-sdk-provides-dummy \ + " + +# "system" classes that should be blacklisted. When adding new entry, please +# document why (how it failed) so that we can re-evaluate it later +# +# image - Image aren't compiling, but the testing framework for images captures +# PARALLEL_MAKE as part of the test environment. Many tests won't use +# icecream, but leaving the high level of parallelism can cause them to +# consume an unnecessary amount of resources. +ICECC_SYSTEM_CLASS_BL += "\ + image \ + " + def icecc_dep_prepend(d): # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not # we need that built is the responsibility of the patch function / class, not @@ -134,7 +159,7 @@ def use_icecc(bb,d): pn = d.getVar('PN') - system_class_blacklist = [] + system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split() user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() package_class_blacklist = system_class_blacklist + user_class_blacklist @@ -143,15 +168,7 @@ def use_icecc(bb,d): bb.debug(1, "%s: class %s found in blacklist, disable icecc" % (pn, black)) return "no" - # "system" recipe blacklist contains a list of packages that can not distribute compile tasks - # for one reason or the other - # this is the old list (which doesn't seem to be valid anymore, because I was able to build - # all these with icecc enabled) - # system_package_blacklist = [ "glibc", "gcc", "bind", "u-boot", "dhcp-forwarder", "enchant", "connman", "orbit2" ] - # when adding new entry, please document why (how it failed) so that we can re-evaluate it later - # e.g. when there is new version - # building libgcc-initial with icecc fails with CPP sanity check error if host sysroot contains cross gcc built for another target tune/variant - system_package_blacklist = ["libgcc-initial"] + system_package_blacklist = (d.getVar('ICECC_SYSTEM_PACKAGE_BL') or "").split() user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() package_blacklist = system_package_blacklist + user_package_blacklist @@ -381,7 +398,7 @@ set_icecc_env() { # Don't let ccache find the icecream compiler links that have been created, otherwise # it can end up invoking icecream recursively. export CCACHE_PATH="$PATH" - export CCACHE_DISBALE="1" + export CCACHE_DISABLE="1" export ICECC_VERSION ICECC_CC ICECC_CXX export PATH="$ICE_PATH:$PATH" diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 452b1ad39..2ff574be7 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -497,7 +497,7 @@ python () { d.setVarFlag(task, 'fakeroot', '1') d.appendVarFlag(task, 'prefuncs', ' ' + debug + ' set_image_size') - d.prependVarFlag(task, 'postfuncs', ' create_symlinks') + d.prependVarFlag(task, 'postfuncs', 'create_symlinks ') d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages)) d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps)) d.appendVarFlag(task, 'vardepsexclude', 'DATETIME DATE ' + ' '.join(vardepsexclude)) diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index 05e5b0a2e..0a69542fc 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -239,6 +239,7 @@ EXTRA_IMAGECMD_ext4 ?= "-i 4096" EXTRA_IMAGECMD_btrfs ?= "-n 4096" EXTRA_IMAGECMD_f2fs ?= "" +do_image_cpio[depends] += "cpio-native:do_populate_sysroot" do_image_jffs2[depends] += "mtd-utils-native:do_populate_sysroot" do_image_cramfs[depends] += "util-linux-native:do_populate_sysroot" do_image_ext2[depends] += "e2fsprogs-native:do_populate_sysroot" diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 4644221bc..6718feb3a 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -383,7 +383,7 @@ def package_qa_hash_style(path, name, d, elf, messages): sane = True if has_syms and not sane: - package_qa_add_message(messages, "ldflags", "No GNU_HASH in the elf binary: '%s'" % path) + package_qa_add_message(messages, "ldflags", "No GNU_HASH in the ELF binary %s, didn't pass LDFLAGS?" % path) QAPATHTEST[buildpaths] = "package_qa_check_buildpaths" diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass index 9d09c7be6..345ec2986 100644 --- a/poky/meta/classes/libc-package.bbclass +++ b/poky/meta/classes/libc-package.bbclass @@ -49,13 +49,7 @@ python __anonymous () { OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" -locale_base_postinst() { -#!/bin/sh - -if [ "x$D" != "x" ]; then - exit 1 -fi - +locale_base_postinst_ontarget() { localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s %s } @@ -215,7 +209,7 @@ python package_do_split_gconvs () { def output_locale_source(name, pkgname, locale, encoding): d.setVar('RDEPENDS_%s' % pkgname, '%slocaledef %s-localedata-%s %s-charmap-%s' % \ (mlprefix, mlprefix+bpn, legitimize_package_name(locale), mlprefix+bpn, legitimize_package_name(encoding))) - d.setVar('pkg_postinst_%s' % pkgname, d.getVar('locale_base_postinst') \ + d.setVar('pkg_postinst_ontarget_%s' % pkgname, d.getVar('locale_base_postinst_ontarget') \ % (locale, encoding, locale)) d.setVar('pkg_postrm_%s' % pkgname, d.getVar('locale_base_postrm') % \ (locale, encoding, locale)) diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass index 4cf7f074f..aec6999d9 100644 --- a/poky/meta/classes/license.bbclass +++ b/poky/meta/classes/license.bbclass @@ -309,7 +309,7 @@ def incompatible_license(d, dont_want_licenses, package=None): except oe.license.LicenseError as exc: bb.fatal('%s: %s' % (d.getVar('P'), exc)) return any(not oe.license.license_ok(canonical_license(d, l), \ - dont_want_licenses) for l in licenses) + dont_want_licenses) for l in licenses) def check_license_flags(d): """ diff --git a/poky/meta/classes/linux-kernel-base.bbclass b/poky/meta/classes/linux-kernel-base.bbclass index 89ce71605..ba59222c2 100644 --- a/poky/meta/classes/linux-kernel-base.bbclass +++ b/poky/meta/classes/linux-kernel-base.bbclass @@ -34,8 +34,8 @@ def get_kernelversion_file(p): return None def linux_module_packages(s, d): - suffix = "" - return " ".join(map(lambda s: "kernel-module-%s%s" % (s.lower().replace('_', '-').replace('@', '+'), suffix), s.split())) + suffix = "" + return " ".join(map(lambda s: "kernel-module-%s%s" % (s.lower().replace('_', '-').replace('@', '+'), suffix), s.split())) # that's all diff --git a/poky/meta/classes/multilib_script.bbclass b/poky/meta/classes/multilib_script.bbclass index 51c9fcc12..dc166d06c 100644 --- a/poky/meta/classes/multilib_script.bbclass +++ b/poky/meta/classes/multilib_script.bbclass @@ -24,9 +24,11 @@ python () { for entry in (d.getVar("MULTILIB_SCRIPTS", False) or "").split(): pkg, script = entry.split(":") + epkg = d.expand(pkg) scriptname = os.path.basename(script) - d.appendVar("ALTERNATIVE_" + pkg, scriptname + " ") + d.appendVar("ALTERNATIVE_" + epkg, " " + scriptname + " ") d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script) d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}") d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}") + d.appendVar("FILES_" + epkg, " " + script + "-${MULTILIB_SUFFIX}") } diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index e30c49296..40b0375e0 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -280,6 +280,8 @@ python copy_buildsystem () { # Create local.conf builddir = d.getVar('TOPDIR') + if derivative and os.path.exists(builddir + '/conf/site.conf'): + shutil.copyfile(builddir + '/conf/site.conf', baseoutpath + '/conf/site.conf') if derivative and os.path.exists(builddir + '/conf/auto.conf'): shutil.copyfile(builddir + '/conf/auto.conf', baseoutpath + '/conf/auto.conf') if derivative: @@ -297,6 +299,9 @@ python copy_buildsystem () { return origvalue, op, 0, True varlist = ['[^#=+ ]*'] oldlines = [] + if os.path.exists(builddir + '/conf/site.conf'): + with open(builddir + '/conf/site.conf', 'r') as f: + oldlines += f.readlines() if os.path.exists(builddir + '/conf/auto.conf'): with open(builddir + '/conf/auto.conf', 'r') as f: oldlines += f.readlines() diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass index c19f65b9b..9d8a79854 100644 --- a/poky/meta/classes/ptest.bbclass +++ b/poky/meta/classes/ptest.bbclass @@ -59,6 +59,7 @@ addtask install_ptest_base after do_install before do_package do_populate_sy python () { if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): d.setVarFlag('do_install_ptest_base', 'fakeroot', '1') + d.setVarFlag('do_install_ptest_base', 'umask', '022') # Remove all '*ptest_base' tasks when ptest is not enabled if not(d.getVar('PTEST_ENABLED') == "1"): diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass index 0eb696ac7..8788ad714 100644 --- a/poky/meta/classes/reproducible_build.bbclass +++ b/poky/meta/classes/reproducible_build.bbclass @@ -22,7 +22,10 @@ # 3. Use the mtime of "known" files such as NEWS, CHANGLELOG, ... # This works for well-kept repositories distributed via tarball. # -# 4. If the above steps fail, use the modification time of the youngest file in the source tree. +# 4. Use the modification time of the youngest file in the source tree, if there is one. +# This will be the newest file from the distribution tarball, if any. +# +# 5. Fall back to a fixed timestamp. # # Once the value of SOURCE_DATE_EPOCH is determined, it is stored in the recipe's SDE_FILE. # If none of these mechanisms are suitable, replace the do_deploy_source_date_epoch task @@ -104,15 +107,15 @@ def get_source_date_epoch_from_git(d, sourcedir): return source_date_epoch def get_source_date_epoch_from_youngest_file(d, sourcedir): + if sourcedir == d.getVar('WORKDIR'): + # These sources are almost certainly not from a tarball + return None + # Do it the hard way: check all files and find the youngest one... source_date_epoch = None newest_file = None - # Just in case S = WORKDIR - exclude = set(["build", "image", "license-destdir", "patches", "pseudo", - "recipe-sysroot", "recipe-sysroot-native", "sysroot-destdir", "temp"]) for root, dirs, files in os.walk(sourcedir, topdown=True): files = [f for f in files if not f[0] == '.'] - dirs[:] = [d for d in dirs if d not in exclude] for fname in files: filename = os.path.join(root, fname) @@ -128,6 +131,10 @@ def get_source_date_epoch_from_youngest_file(d, sourcedir): bb.debug(1, "Newest file found: %s" % newest_file) return source_date_epoch +def fixed_source_date_epoch(): + bb.debug(1, "No tarball or git repo found to determine SOURCE_DATE_EPOCH") + return 0 + python do_create_source_date_epoch_stamp() { epochfile = d.getVar('SDE_FILE') if os.path.isfile(epochfile): @@ -139,11 +146,8 @@ python do_create_source_date_epoch_stamp() { get_source_date_epoch_from_git(d, sourcedir) or get_source_date_epoch_from_known_files(d, sourcedir) or get_source_date_epoch_from_youngest_file(d, sourcedir) or - 0 # Last resort + fixed_source_date_epoch() # Last resort ) - if source_date_epoch == 0: - # empty folder, not a single file ... - bb.debug(1, "No files found to determine SOURCE_DATE_EPOCH") bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch) bb.utils.mkdirhier(d.getVar('SDE_DIR')) diff --git a/poky/meta/classes/siteconfig.bbclass b/poky/meta/classes/siteconfig.bbclass index bb491d299..0cfa5a683 100644 --- a/poky/meta/classes/siteconfig.bbclass +++ b/poky/meta/classes/siteconfig.bbclass @@ -1,13 +1,13 @@ python siteconfig_do_siteconfig () { - shared_state = sstate_state_fromvars(d) - if shared_state['task'] != 'populate_sysroot': - return - if not os.path.isdir(os.path.join(d.getVar('FILE_DIRNAME'), 'site_config')): - bb.debug(1, "No site_config directory, skipping do_siteconfig") - return - sstate_install(shared_state, d) - bb.build.exec_func('do_siteconfig_gencache', d) - sstate_clean(shared_state, d) + shared_state = sstate_state_fromvars(d) + if shared_state['task'] != 'populate_sysroot': + return + if not os.path.isdir(os.path.join(d.getVar('FILE_DIRNAME'), 'site_config')): + bb.debug(1, "No site_config directory, skipping do_siteconfig") + return + sstate_install(shared_state, d) + bb.build.exec_func('do_siteconfig_gencache', d) + sstate_clean(shared_state, d) } EXTRASITECONFIG ?= "" diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index efb0096c7..9f059a04a 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -423,8 +423,9 @@ def sstate_clean_cachefile(ss, d): import oe.path sstatepkgfile = d.getVar('SSTATE_PATHSPEC') + "*_" + ss['task'] + ".tgz*" - bb.note("Removing %s" % sstatepkgfile) - oe.path.remove(sstatepkgfile) + if d.getVarFlag('do_%s' % ss['task'], 'task'): + bb.note("Removing %s" % sstatepkgfile) + oe.path.remove(sstatepkgfile) def sstate_clean_cachefiles(d): for task in (d.getVar('SSTATETASKS') or "").split(): -- cgit v1.2.3