summaryrefslogtreecommitdiff
path: root/poky/meta/classes
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-11-23 00:55:50 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-01-09 04:36:32 +0300
commita5c52ff0bb57fccc2dcd3bd10647d2fa77ddf8c3 (patch)
treee085aadbd071233b82de4a8c76d269f9d746daaa /poky/meta/classes
parent1a4b7ee28bf7413af6513fb45ad0d0736048f866 (diff)
downloadopenbmc-a5c52ff0bb57fccc2dcd3bd10647d2fa77ddf8c3.tar.xz
poky: thud refresh 87e3a9739d..1cab405d88
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 <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/classes')
-rw-r--r--poky/meta/classes/archiver.bbclass3
-rw-r--r--poky/meta/classes/binconfig.bbclass6
-rw-r--r--poky/meta/classes/bugzilla.bbclass187
-rw-r--r--poky/meta/classes/crosssdk.bbclass4
-rw-r--r--poky/meta/classes/icecc.bbclass41
-rw-r--r--poky/meta/classes/image.bbclass2
-rw-r--r--poky/meta/classes/image_types.bbclass1
-rw-r--r--poky/meta/classes/insane.bbclass2
-rw-r--r--poky/meta/classes/libc-package.bbclass10
-rw-r--r--poky/meta/classes/license.bbclass2
-rw-r--r--poky/meta/classes/linux-kernel-base.bbclass4
-rw-r--r--poky/meta/classes/multilib_script.bbclass4
-rw-r--r--poky/meta/classes/populate_sdk_ext.bbclass5
-rw-r--r--poky/meta/classes/ptest.bbclass1
-rw-r--r--poky/meta/classes/reproducible_build.bbclass22
-rw-r--r--poky/meta/classes/siteconfig.bbclass18
-rw-r--r--poky/meta/classes/sstate.bbclass5
17 files changed, 76 insertions, 241 deletions
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():