diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/buildhistory.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/cve-check.bbclass | 21 | ||||
-rw-r--r-- | meta/classes/devshell.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/externalsrc.bbclass | 12 | ||||
-rw-r--r-- | meta/classes/image-live.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/image.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/insane.bbclass | 12 | ||||
-rw-r--r-- | meta/classes/kernel-devicetree.bbclass | 11 | ||||
-rw-r--r-- | meta/classes/kernel.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/npm.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/package_rpm.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 9 | ||||
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/report-error.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/rootfs_deb.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/sanity.bbclass | 19 |
16 files changed, 87 insertions, 27 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 3a6780da34..726f17a946 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass | |||
@@ -674,13 +674,16 @@ IMAGE_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_imageinfo" | |||
674 | POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_list_installed_sdk_target;" | 674 | POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_list_installed_sdk_target;" |
675 | POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_get_sdk_installed_target;" | 675 | POPULATE_SDK_POST_TARGET_COMMAND_append = " buildhistory_get_sdk_installed_target;" |
676 | POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target;| buildhistory_get_sdk_installed_target;" | 676 | POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target;| buildhistory_get_sdk_installed_target;" |
677 | POPULATE_SDK_POST_TARGET_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_target buildhistory_get_sdk_installed_target" | ||
677 | 678 | ||
678 | POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_list_installed_sdk_host;" | 679 | POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_list_installed_sdk_host;" |
679 | POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_get_sdk_installed_host;" | 680 | POPULATE_SDK_POST_HOST_COMMAND_append = " buildhistory_get_sdk_installed_host;" |
680 | POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host;| buildhistory_get_sdk_installed_host;" | 681 | POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host;| buildhistory_get_sdk_installed_host;" |
682 | POPULATE_SDK_POST_HOST_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_host buildhistory_get_sdk_installed_host" | ||
681 | 683 | ||
682 | SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " | 684 | SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " |
683 | SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " | 685 | SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " |
686 | SDK_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo" | ||
684 | 687 | ||
685 | python buildhistory_write_sigs() { | 688 | python buildhistory_write_sigs() { |
686 | if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split(): | 689 | if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split(): |
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index ed86403b6b..112ee3379d 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass | |||
@@ -53,6 +53,13 @@ CVE_CHECK_PN_WHITELIST ?= "" | |||
53 | # | 53 | # |
54 | CVE_CHECK_WHITELIST ?= "" | 54 | CVE_CHECK_WHITELIST ?= "" |
55 | 55 | ||
56 | # Layers to be excluded | ||
57 | CVE_CHECK_LAYER_EXCLUDELIST ??= "" | ||
58 | |||
59 | # Layers to be included | ||
60 | CVE_CHECK_LAYER_INCLUDELIST ??= "" | ||
61 | |||
62 | |||
56 | # set to "alphabetical" for version using single alphabetical character as increament release | 63 | # set to "alphabetical" for version using single alphabetical character as increament release |
57 | CVE_VERSION_SUFFIX ??= "" | 64 | CVE_VERSION_SUFFIX ??= "" |
58 | 65 | ||
@@ -334,7 +341,20 @@ def cve_write_data(d, patched, unpatched, whitelisted, cve_data): | |||
334 | CVE manifest if enabled. | 341 | CVE manifest if enabled. |
335 | """ | 342 | """ |
336 | 343 | ||
344 | |||
337 | cve_file = d.getVar("CVE_CHECK_LOG") | 345 | cve_file = d.getVar("CVE_CHECK_LOG") |
346 | fdir_name = d.getVar("FILE_DIRNAME") | ||
347 | layer = fdir_name.split("/")[-3] | ||
348 | |||
349 | include_layers = d.getVar("CVE_CHECK_LAYER_INCLUDELIST").split() | ||
350 | exclude_layers = d.getVar("CVE_CHECK_LAYER_EXCLUDELIST").split() | ||
351 | |||
352 | if exclude_layers and layer in exclude_layers: | ||
353 | return | ||
354 | |||
355 | if include_layers and layer not in include_layers: | ||
356 | return | ||
357 | |||
338 | nvd_link = "https://web.nvd.nist.gov/view/vuln/detail?vulnId=" | 358 | nvd_link = "https://web.nvd.nist.gov/view/vuln/detail?vulnId=" |
339 | write_string = "" | 359 | write_string = "" |
340 | unpatched_cves = [] | 360 | unpatched_cves = [] |
@@ -344,6 +364,7 @@ def cve_write_data(d, patched, unpatched, whitelisted, cve_data): | |||
344 | is_patched = cve in patched | 364 | is_patched = cve in patched |
345 | if is_patched and (d.getVar("CVE_CHECK_REPORT_PATCHED") != "1"): | 365 | if is_patched and (d.getVar("CVE_CHECK_REPORT_PATCHED") != "1"): |
346 | continue | 366 | continue |
367 | write_string += "LAYER: %s\n" % layer | ||
347 | write_string += "PACKAGE NAME: %s\n" % d.getVar("PN") | 368 | write_string += "PACKAGE NAME: %s\n" % d.getVar("PN") |
348 | write_string += "PACKAGE VERSION: %s%s\n" % (d.getVar("EXTENDPE"), d.getVar("PV")) | 369 | write_string += "PACKAGE VERSION: %s%s\n" % (d.getVar("EXTENDPE"), d.getVar("PV")) |
349 | write_string += "CVE: %s\n" % cve | 370 | write_string += "CVE: %s\n" % cve |
diff --git a/meta/classes/devshell.bbclass b/meta/classes/devshell.bbclass index fdf7dc100f..76dd0b42ee 100644 --- a/meta/classes/devshell.bbclass +++ b/meta/classes/devshell.bbclass | |||
@@ -128,6 +128,7 @@ def devpyshell(d): | |||
128 | more = i.runsource(source, "<pyshell>") | 128 | more = i.runsource(source, "<pyshell>") |
129 | if not more: | 129 | if not more: |
130 | buf = [] | 130 | buf = [] |
131 | sys.stderr.flush() | ||
131 | prompt(more) | 132 | prompt(more) |
132 | except KeyboardInterrupt: | 133 | except KeyboardInterrupt: |
133 | i.write("\nKeyboardInterrupt\n") | 134 | i.write("\nKeyboardInterrupt\n") |
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass index 64e94e3301..3d6b80bee2 100644 --- a/meta/classes/externalsrc.bbclass +++ b/meta/classes/externalsrc.bbclass | |||
@@ -68,6 +68,7 @@ python () { | |||
68 | url_data = fetch.ud[url] | 68 | url_data = fetch.ud[url] |
69 | parm = url_data.parm | 69 | parm = url_data.parm |
70 | if (url_data.type == 'file' or | 70 | if (url_data.type == 'file' or |
71 | url_data.type == 'npmsw' or | ||
71 | 'type' in parm and parm['type'] == 'kmeta'): | 72 | 'type' in parm and parm['type'] == 'kmeta'): |
72 | local_srcuri.append(url) | 73 | local_srcuri.append(url) |
73 | 74 | ||
@@ -219,11 +220,12 @@ def srctree_hash_files(d, srcdir=None): | |||
219 | submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8") | 220 | submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8") |
220 | for line in submodule_helper.splitlines(): | 221 | for line in submodule_helper.splitlines(): |
221 | module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) | 222 | module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) |
222 | proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) | 223 | if os.path.isdir(module_dir): |
223 | proc.communicate() | 224 | proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) |
224 | proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) | 225 | proc.communicate() |
225 | stdout, _ = proc.communicate() | 226 | proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) |
226 | git_sha1 += stdout.decode("utf-8") | 227 | stdout, _ = proc.communicate() |
228 | git_sha1 += stdout.decode("utf-8") | ||
227 | sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest() | 229 | sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest() |
228 | with open(oe_hash_file, 'w') as fobj: | 230 | with open(oe_hash_file, 'w') as fobj: |
229 | fobj.write(sha1) | 231 | fobj.write(sha1) |
diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass index 9ea5ddc312..47c44b4aad 100644 --- a/meta/classes/image-live.bbclass +++ b/meta/classes/image-live.bbclass | |||
@@ -30,7 +30,7 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \ | |||
30 | virtual/kernel:do_deploy \ | 30 | virtual/kernel:do_deploy \ |
31 | ${MLPREFIX}syslinux:do_populate_sysroot \ | 31 | ${MLPREFIX}syslinux:do_populate_sysroot \ |
32 | syslinux-native:do_populate_sysroot \ | 32 | syslinux-native:do_populate_sysroot \ |
33 | ${PN}:do_image_${@d.getVar('LIVE_ROOTFS_TYPE').replace('-', '_')} \ | 33 | ${@'%s:do_image_%s' % (d.getVar('PN'), d.getVar('LIVE_ROOTFS_TYPE').replace('-', '_')) if d.getVar('ROOTFS') else ''} \ |
34 | " | 34 | " |
35 | 35 | ||
36 | 36 | ||
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 045f4494c8..2f1d5cfb46 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass | |||
@@ -112,7 +112,7 @@ def rootfs_command_variables(d): | |||
112 | 'IMAGE_PREPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS','RPM_POSTPROCESS_COMMANDS','DEB_PREPROCESS_COMMANDS','DEB_POSTPROCESS_COMMANDS'] | 112 | 'IMAGE_PREPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS','RPM_POSTPROCESS_COMMANDS','DEB_PREPROCESS_COMMANDS','DEB_POSTPROCESS_COMMANDS'] |
113 | 113 | ||
114 | python () { | 114 | python () { |
115 | variables = rootfs_command_variables(d) + sdk_command_variables(d) | 115 | variables = rootfs_command_variables(d) |
116 | for var in variables: | 116 | for var in variables: |
117 | if d.getVar(var, False): | 117 | if d.getVar(var, False): |
118 | d.setVarFlag(var, 'func', '1') | 118 | d.setVarFlag(var, 'func', '1') |
@@ -180,6 +180,8 @@ IMAGE_LOCALES_ARCHIVE ?= '1' | |||
180 | # aren't yet available. | 180 | # aren't yet available. |
181 | PSEUDO_PASSWD = "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}" | 181 | PSEUDO_PASSWD = "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}" |
182 | 182 | ||
183 | PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/intercept_scripts,${WORKDIR}/oe-rootfs-repo,${WORKDIR}/sstate-build-image_complete" | ||
184 | |||
183 | PACKAGE_EXCLUDE ??= "" | 185 | PACKAGE_EXCLUDE ??= "" |
184 | PACKAGE_EXCLUDE[type] = "list" | 186 | PACKAGE_EXCLUDE[type] = "list" |
185 | 187 | ||
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index c6dff9659c..44dbed875b 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass | |||
@@ -175,7 +175,7 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages): | |||
175 | if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir): | 175 | if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir): |
176 | # The dynamic linker searches both these places anyway. There is no point in | 176 | # The dynamic linker searches both these places anyway. There is no point in |
177 | # looking there again. | 177 | # looking there again. |
178 | package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d), rpath)) | 178 | package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d, name), rpath)) |
179 | 179 | ||
180 | QAPATHTEST[dev-so] = "package_qa_check_dev" | 180 | QAPATHTEST[dev-so] = "package_qa_check_dev" |
181 | def package_qa_check_dev(path, name, d, elf, messages): | 181 | def package_qa_check_dev(path, name, d, elf, messages): |
@@ -184,8 +184,8 @@ def package_qa_check_dev(path, name, d, elf, messages): | |||
184 | """ | 184 | """ |
185 | 185 | ||
186 | if not name.endswith("-dev") and not name.endswith("-dbg") and not name.endswith("-ptest") and not name.startswith("nativesdk-") and path.endswith(".so") and os.path.islink(path): | 186 | if not name.endswith("-dev") and not name.endswith("-dbg") and not name.endswith("-ptest") and not name.startswith("nativesdk-") and path.endswith(".so") and os.path.islink(path): |
187 | package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package contains symlink .so: %s path '%s'" % \ | 187 | package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package %s contains symlink .so '%s'" % \ |
188 | (name, package_qa_clean_path(path,d))) | 188 | (name, package_qa_clean_path(path, d, name))) |
189 | 189 | ||
190 | QAPATHTEST[dev-elf] = "package_qa_check_dev_elf" | 190 | QAPATHTEST[dev-elf] = "package_qa_check_dev_elf" |
191 | def package_qa_check_dev_elf(path, name, d, elf, messages): | 191 | def package_qa_check_dev_elf(path, name, d, elf, messages): |
@@ -195,8 +195,8 @@ def package_qa_check_dev_elf(path, name, d, elf, messages): | |||
195 | install link-time .so files that are linker scripts. | 195 | install link-time .so files that are linker scripts. |
196 | """ | 196 | """ |
197 | if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf: | 197 | if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf: |
198 | package_qa_add_message(messages, "dev-elf", "-dev package contains non-symlink .so: %s path '%s'" % \ | 198 | package_qa_add_message(messages, "dev-elf", "-dev package %s contains non-symlink .so '%s'" % \ |
199 | (name, package_qa_clean_path(path,d))) | 199 | (name, package_qa_clean_path(path, d, name))) |
200 | 200 | ||
201 | QAPATHTEST[staticdev] = "package_qa_check_staticdev" | 201 | QAPATHTEST[staticdev] = "package_qa_check_staticdev" |
202 | def package_qa_check_staticdev(path, name, d, elf, messages): | 202 | def package_qa_check_staticdev(path, name, d, elf, messages): |
@@ -209,7 +209,7 @@ def package_qa_check_staticdev(path, name, d, elf, messages): | |||
209 | 209 | ||
210 | if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a") and not '/usr/lib/debug-static/' in path and not '/.debug-static/' in path: | 210 | if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a") and not '/usr/lib/debug-static/' in path and not '/.debug-static/' in path: |
211 | package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \ | 211 | package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \ |
212 | (name, package_qa_clean_path(path,d))) | 212 | (name, package_qa_clean_path(path,d, name))) |
213 | 213 | ||
214 | QAPATHTEST[mime] = "package_qa_check_mime" | 214 | QAPATHTEST[mime] = "package_qa_check_mime" |
215 | def package_qa_check_mime(path, name, d, elf, messages): | 215 | def package_qa_check_mime(path, name, d, elf, messages): |
diff --git a/meta/classes/kernel-devicetree.bbclass b/meta/classes/kernel-devicetree.bbclass index 81dda8003f..3c5def1041 100644 --- a/meta/classes/kernel-devicetree.bbclass +++ b/meta/classes/kernel-devicetree.bbclass | |||
@@ -1,8 +1,11 @@ | |||
1 | # Support for device tree generation | 1 | # Support for device tree generation |
2 | PACKAGES_append = " \ | 2 | python () { |
3 | ${KERNEL_PACKAGE_NAME}-devicetree \ | 3 | if not bb.data.inherits_class('nopackages', d): |
4 | ${@[d.getVar('KERNEL_PACKAGE_NAME') + '-image-zimage-bundle', ''][d.getVar('KERNEL_DEVICETREE_BUNDLE') != '1']} \ | 4 | d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-devicetree") |
5 | " | 5 | if d.getVar('KERNEL_DEVICETREE_BUNDLE') == '1': |
6 | d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-image-zimage-bundle") | ||
7 | } | ||
8 | |||
6 | FILES_${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo" | 9 | FILES_${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo" |
7 | FILES_${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin" | 10 | FILES_${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin" |
8 | 11 | ||
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index f405b6e523..b03a286ed4 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass | |||
@@ -90,6 +90,8 @@ python __anonymous () { | |||
90 | imagedest = d.getVar('KERNEL_IMAGEDEST') | 90 | imagedest = d.getVar('KERNEL_IMAGEDEST') |
91 | 91 | ||
92 | for type in types.split(): | 92 | for type in types.split(): |
93 | if bb.data.inherits_class('nopackages', d): | ||
94 | continue | ||
93 | typelower = type.lower() | 95 | typelower = type.lower() |
94 | d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower)) | 96 | d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower)) |
95 | d.setVar('FILES_' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type) | 97 | d.setVar('FILES_' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type) |
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass index 79f55febcc..55a6985fb0 100644 --- a/meta/classes/npm.bbclass +++ b/meta/classes/npm.bbclass | |||
@@ -20,7 +20,7 @@ | |||
20 | inherit python3native | 20 | inherit python3native |
21 | 21 | ||
22 | DEPENDS_prepend = "nodejs-native " | 22 | DEPENDS_prepend = "nodejs-native " |
23 | RDEPENDS_${PN}_prepend = "nodejs " | 23 | RDEPENDS_${PN}_append_class-target = " nodejs" |
24 | 24 | ||
25 | NPM_INSTALL_DEV ?= "0" | 25 | NPM_INSTALL_DEV ?= "0" |
26 | 26 | ||
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 53b4700cdd..89b4c6bbfc 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -687,6 +687,7 @@ python do_package_rpm () { | |||
687 | cmd = cmd + " --define '_binary_payload w6T.xzdio'" | 687 | cmd = cmd + " --define '_binary_payload w6T.xzdio'" |
688 | cmd = cmd + " --define '_source_payload w6T.xzdio'" | 688 | cmd = cmd + " --define '_source_payload w6T.xzdio'" |
689 | cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'" | 689 | cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'" |
690 | cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" | ||
690 | cmd = cmd + " --define '_buildhost reproducible'" | 691 | cmd = cmd + " --define '_buildhost reproducible'" |
691 | if perfiledeps: | 692 | if perfiledeps: |
692 | cmd = cmd + " --define '__find_requires " + outdepends + "'" | 693 | cmd = cmd + " --define '__find_requires " + outdepends + "'" |
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 49b1833265..635b3a6b80 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
@@ -178,7 +178,7 @@ do_populate_sdk[sstate-inputdirs] = "${SDKDEPLOYDIR}" | |||
178 | do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" | 178 | do_populate_sdk[sstate-outputdirs] = "${SDK_DEPLOY}" |
179 | do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}" | 179 | do_populate_sdk[stamp-extra-info] = "${MACHINE_ARCH}${SDKMACHINE}" |
180 | 180 | ||
181 | PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR}" | 181 | PSEUDO_IGNORE_PATHS .= ",${SDKDEPLOYDIR},${WORKDIR}/oe-sdk-repo,${WORKDIR}/sstate-build-populate_sdk" |
182 | 182 | ||
183 | fakeroot create_sdk_files() { | 183 | fakeroot create_sdk_files() { |
184 | cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/ | 184 | cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/ |
@@ -329,6 +329,13 @@ def sdk_variables(d): | |||
329 | 329 | ||
330 | do_populate_sdk[vardeps] += "${@sdk_variables(d)}" | 330 | do_populate_sdk[vardeps] += "${@sdk_variables(d)}" |
331 | 331 | ||
332 | python () { | ||
333 | variables = sdk_command_variables(d) | ||
334 | for var in variables: | ||
335 | if d.getVar(var, False): | ||
336 | d.setVarFlag(var, 'func', '1') | ||
337 | } | ||
338 | |||
332 | do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ | 339 | do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ |
333 | ${TOOLCHAIN_SHAR_EXT_TMPL}:True" | 340 | ${TOOLCHAIN_SHAR_EXT_TMPL}:True" |
334 | 341 | ||
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index e6bf27cf38..14689ec6ac 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -251,7 +251,9 @@ python copy_buildsystem () { | |||
251 | 251 | ||
252 | # Create a layer for new recipes / appends | 252 | # Create a layer for new recipes / appends |
253 | bbpath = d.getVar('BBPATH') | 253 | bbpath = d.getVar('BBPATH') |
254 | bb.process.run(['devtool', '--bbpath', bbpath, '--basepath', baseoutpath, 'create-workspace', '--create-only', os.path.join(baseoutpath, 'workspace')]) | 254 | env = os.environ.copy() |
255 | env['PYTHONDONTWRITEBYTECODE'] = '1' | ||
256 | bb.process.run(['devtool', '--bbpath', bbpath, '--basepath', baseoutpath, 'create-workspace', '--create-only', os.path.join(baseoutpath, 'workspace')], env=env) | ||
255 | 257 | ||
256 | # Create bblayers.conf | 258 | # Create bblayers.conf |
257 | bb.utils.mkdirhier(baseoutpath + '/conf') | 259 | bb.utils.mkdirhier(baseoutpath + '/conf') |
@@ -364,6 +366,9 @@ python copy_buildsystem () { | |||
364 | # Hide the config information from bitbake output (since it's fixed within the SDK) | 366 | # Hide the config information from bitbake output (since it's fixed within the SDK) |
365 | f.write('BUILDCFG_HEADER = ""\n\n') | 367 | f.write('BUILDCFG_HEADER = ""\n\n') |
366 | 368 | ||
369 | # Write METADATA_REVISION | ||
370 | f.write('METADATA_REVISION = "%s"\n\n' % d.getVar('METADATA_REVISION')) | ||
371 | |||
367 | f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') | 372 | f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') |
368 | f.write('WITHIN_EXT_SDK = "1"\n\n') | 373 | f.write('WITHIN_EXT_SDK = "1"\n\n') |
369 | 374 | ||
diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass index 1a12db1206..9cb6b0bd31 100644 --- a/meta/classes/report-error.bbclass +++ b/meta/classes/report-error.bbclass | |||
@@ -6,6 +6,8 @@ | |||
6 | # | 6 | # |
7 | # Licensed under the MIT license, see COPYING.MIT for details | 7 | # Licensed under the MIT license, see COPYING.MIT for details |
8 | 8 | ||
9 | inherit base | ||
10 | |||
9 | ERR_REPORT_DIR ?= "${LOG_DIR}/error-report" | 11 | ERR_REPORT_DIR ?= "${LOG_DIR}/error-report" |
10 | 12 | ||
11 | def errorreport_getdata(e): | 13 | def errorreport_getdata(e): |
@@ -64,6 +66,8 @@ python errorreport_handler () { | |||
64 | data['failures'] = [] | 66 | data['failures'] = [] |
65 | data['component'] = " ".join(e.getPkgs()) | 67 | data['component'] = " ".join(e.getPkgs()) |
66 | data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data)) | 68 | data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data)) |
69 | data['bitbake_version'] = e.data.getVar("BB_VERSION") | ||
70 | data['layer_version'] = get_layers_branch_rev(e.data) | ||
67 | data['local_conf'] = get_conf_data(e, 'local.conf') | 71 | data['local_conf'] = get_conf_data(e, 'local.conf') |
68 | data['auto_conf'] = get_conf_data(e, 'auto.conf') | 72 | data['auto_conf'] = get_conf_data(e, 'auto.conf') |
69 | lock = bb.utils.lockfile(datafile + '.lock') | 73 | lock = bb.utils.lockfile(datafile + '.lock') |
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index ef616da229..0469ba7059 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass | |||
@@ -32,4 +32,8 @@ python () { | |||
32 | d.setVar('DEB_SDK_ARCH', 'amd64') | 32 | d.setVar('DEB_SDK_ARCH', 'amd64') |
33 | elif darch == "arm": | 33 | elif darch == "arm": |
34 | d.setVar('DEB_SDK_ARCH', 'armel') | 34 | d.setVar('DEB_SDK_ARCH', 'armel') |
35 | elif darch == "aarch64": | ||
36 | d.setVar('DEB_SDK_ARCH', 'arm64') | ||
37 | else: | ||
38 | bb.fatal("Unhandled SDK_ARCH %s" % darch) | ||
35 | } | 39 | } |
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 01c5434f0d..03a9792f68 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass | |||
@@ -882,13 +882,18 @@ def check_sanity_everybuild(status, d): | |||
882 | except: | 882 | except: |
883 | pass | 883 | pass |
884 | 884 | ||
885 | oeroot = d.getVar('COREBASE') | 885 | for checkdir in ['COREBASE', 'TMPDIR']: |
886 | if oeroot.find('+') != -1: | 886 | val = d.getVar(checkdir) |
887 | status.addresult("Error, you have an invalid character (+) in your COREBASE directory path. Please move the installation to a directory which doesn't include any + characters.") | 887 | if val.find('..') != -1: |
888 | if oeroot.find('@') != -1: | 888 | status.addresult("Error, you have '..' in your %s directory path. Please ensure the variable contains an absolute path as this can break some recipe builds in obtuse ways." % checkdir) |
889 | status.addresult("Error, you have an invalid character (@) in your COREBASE directory path. Please move the installation to a directory which doesn't include any @ characters.") | 889 | if val.find('+') != -1: |
890 | if oeroot.find(' ') != -1: | 890 | status.addresult("Error, you have an invalid character (+) in your %s directory path. Please move the installation to a directory which doesn't include any + characters." % checkdir) |
891 | status.addresult("Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space since autotools doesn't support this.") | 891 | if val.find('@') != -1: |
892 | status.addresult("Error, you have an invalid character (@) in your %s directory path. Please move the installation to a directory which doesn't include any @ characters." % checkdir) | ||
893 | if val.find(' ') != -1: | ||
894 | status.addresult("Error, you have a space in your %s directory path. Please move the installation to a directory which doesn't include a space since autotools doesn't support this." % checkdir) | ||
895 | if val.find('%') != -1: | ||
896 | status.addresult("Error, you have an invalid character (%) in your %s directory path which causes problems with python string formatting. Please move the installation to a directory which doesn't include any % characters." % checkdir) | ||
892 | 897 | ||
893 | # Check the format of MIRRORS, PREMIRRORS and SSTATE_MIRRORS | 898 | # Check the format of MIRRORS, PREMIRRORS and SSTATE_MIRRORS |
894 | import re | 899 | import re |